Syphon texture in a ofxQuadWarp appears black

Hi everyone,

I work on a VideoMapping software and i have to implement Syphon to redirect VJ’s softwares output in it. I’m pretty noob in openFramworks so i call your help !

I installed the ofxSyphon add-on (thanks to astellato) with no problems.

Here is my syphonReceiver constructor :

  m_syphonClient = new ofxSyphonClient();
  m_syphonClient->setup();
  m_syphonClient->setServerName("Simple Server");
  m_syphonClient->setApplicationName("");
  m_fboSyphon.allocate(ofGetWidth(), ofGetHeight(), GL_RGB); 

And here is where i get syphon images from server :

m_fboTexture.begin();
    ofClear(0, 0, 0 ,0);
    m_syphonClient->draw(0, 0);
m_fboTexture.end();

Then i get the texture in the frame buffer with the method getTextureReference(); and i use it as first argument in the ofxQuadWarp method which is called in the ofApp::draw() function.

ofxQuadWarp(ofTexture &tex, ofPoint lt, ofPoint rt, ofPoint rb, ofPoint lb, int rows, int cols) {
	float tw = tex.getWidth();
	float th = tex.getHeight();
	ofMesh mesh;
    
	for (int x = 0; x <= cols; x++) {
		float f = float(x) / cols;
		ofPoint vTop(ofxLerp(lt, rt, f));
		ofPoint vBottom(ofxLerp(lb, rb, f));
		ofPoint tTop(ofxLerp(ofPoint(0, 0), ofPoint(tw, 0), f));
		ofPoint tBottom(ofxLerp(ofPoint(0, th), ofPoint(tw, th), f));

		for (int y = 0; y <= rows; y++) {
			float f = float(y) / rows;
			ofPoint v = ofxLerp(vTop, vBottom, f);
			mesh.addVertex(v);
			mesh.addTexCoord(ofxLerp(tTop, tBottom, f));
		}
	}
	for (float y = 0; y<rows; y++) {
		for (float x = 0; x<cols; x++) {
			mesh.addTriangle(ofxIndex(x, y, cols + 1), ofxIndex(x + 1, y, cols + 1), ofxIndex(x, y + 1, cols + 1));
			mesh.addTriangle(ofxIndex(x + 1, y, cols + 1), ofxIndex(x + 1, y + 1, cols + 1), ofxIndex(x, y + 1, cols + 1));
		}
	}
	tex.bind();
	mesh.draw();
	tex.unbind();
}

I really don’t know where i made a mistake, i think it’s due to the nature of the texture that is send by Syphon, who is based on the Mac graphics card architecture, that’s why i used a framebuffer. But i only get a black texture.

I work on a Mac mini 32bits and i use Xcode 6.4, openFrameworks 8.4 and the last version of Syphon.

Thanks in advance for your answers :kissing:

I find out what happens !

The problem was about the setting of the serverName, apparently “Simple Server” is not a valid name for the testing server provided by Syphon.

When i removed this line, the texture appears with no problems =D

When i tried with Resolume, i put the name of the composition and the output of resolume appears !