@novas_fronteiras wrote:
hi!
i’m trying to use ofShader with OfxGStreamer but with no success.
later i used shaders with ofGLFWWindowSettings and ofVideoPlayer and worked fine, but the performance was much low with fps alternation.now, with GStreamer addon, the performance is great, but i get errors when using ofGLFWWindowSettings or ofGLWindowSettings such as:
[ error ] ofShader: setupShaderFromSource(): GL_VERTEX_SHADER shader failed to compile
ERROR: 0:12: ‘’ : #version required and missing.
ERROR: 0:12: ‘varying’ : syntax error: syntax error
[ error ] ofShader: setupShaderFromSource(): GL_FRAGMENT_SHADER shader failed to compiletaking a look at some examples and others code, i tried to use ofGLESWindowSettings and this is the one that i could see positive responses, such as:
[verbose] ofShader: checkAndCreateProgram(): creating GLSL program
[verbose] ofShader: setupShaderFromSource(): GL_VERTEX_SHADER shader compiled
[verbose] ofShader: setupShaderFromSource(): GL_FRAGMENT_SHADER shader compiled
[verbose] ofShader: linkProgram(): attaching GL_FRAGMENT_SHADER shader to program 1
[verbose] ofShader: linkProgram(): attaching GL_VERTEX_SHADER shader to program 1on this case the video is flickering and there are no returning from shaders commands. and now i really dont know how to fix that
i will try to sum up the code below:main.cpp
int main( ){ ofSetLogLevel(OF_LOG_VERBOSE); int windowWidth = 1920; int windowHeight = 1080; #ifdef TARGET_OPENGLES ofGLESWindowSettings settings; settings.width = windowWidth; settings.height = windowHeight; settings.setGLESVersion(2); ofCreateWindow(settings); #else ofSetupOpenGL(windowWidth, windowHeight, OF_WINDOW); #endif ofRunApp( new ofApp()); }
ofApp.h
// [...] ofVideoPlayer player; ofShader shader; bool doShader; ofxToggle doShaderT; // [...]
ofApp.cpp
//-------------------------------------------------------------- #include "ofGstVideoPlayer.h" void ofApp::setup(){ // [...] player.setPlayer(ofPtr<ofGstVideoPlayer>(new ofGstVideoPlayer)); player.load("videos/test.mov"); player.play(); // [...] shader.load("shaders/brcosa_GLSL"); doShader = true; } //-------------------------------------------------------------- void ofApp::update(){ player.update(); player.setSpeed(speed); player.isFrameNew(); if(doShaderT){ doShader = !doShader; } // [...] } //-------------------------------------------------------------- void ofApp::draw(){ fbo.begin(); ofClear(0,0,0,255); if( doShader ){ player.getTexture().bind(); shader.begin(); shader.setUniformTexture("tex0", player.getTexture(), 0); shader.setUniform1f("saturation", saturacao); shader.setUniform1f("contrast", contraste); shader.setUniform1f("brightness", brilho); } player.draw(-player.getWidth()/2, -player.getHeight()/2); if( doShader ){ shader.end(); player.getTexture().unbind(); } fbo.end(); ofSetColor(255); fbo.draw(0,0,1920,1080); // [...] }
OF 10.1
XCode 9.4.1
macOS Mojavehope someone can help me with some new ideas!
thank you!!
Posts: 1
Participants: 1