I wanted to use shader to update the vertices of ofVboMesh.
↓vertShader
#version 430
uniform mat4 modelViewProjectionMatrix;
in vec2 texcoord;
in vec4 color;
uniform sampler2DRect posTex;
uniform vec2 screen;
out vec4 vColor;
void main() {
vec2 pixPos = texture(posTex, texcoord).xy;
pixPos.x = pixPos.x * screen.x - screen.x/2;
pixPos.y = pixPos.y * screen.x - screen.x/2;
vColor = color;
gl_Position = modelViewProjectionMatrix * vec4(pixPos, 0.0, 1.0);
}
↓FragShade
#version 430
in vec4 vColor;
out vec4 outputColor;
void main() {
outputColor = vColor;
}
↓ofApp&MainCodes
void Draw(){
Shader.begin();
_ofVboMesh.draw(OF_MESH_POINTS);
Shader.end();
}
int main( ){
ofSetupOpenGL(1024,768,OF_WINDOW);
ofRunApp(new ofApp());
}
This does not draw normally on the screen
However, if do the following, it draws normally.
ofGLWindowSettings settings;
settings.setGLVersion(4,3);
settings.width = 1024;
settings.height = 768;
ofCreateWindow(settings);
ofRunApp(new ofApp());
However, I would like to implement it using ofSetupOpenGL.
Someone please lend me your power.