zarathustra
Legacy Member
Code:
glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, g_fbo);
glClearColor(0.0f, 1.0f, 0.0f, 1.0f);
bindCgPrograms();
glPushMatrix();
glutSolidSphere(1.0,40,32);
glPopMatrix();
unBindCgPrograms();
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
// place camera/eye
glTranslatef(xTranslate,yTranslate,zDepth);
glRotatef(-yRotation,1.0,0.0,0.0);
glRotatef(-xRotation,0.0,1.0,0.0);
glReadBuffer(GL_COLOR_ATTACHMENT0_EXT);
glReadPixels(0, 0, 500, 500,GL_RGBA,GL_FLOAT,result);
printf("Data after roundtrip:\n");
int i =0;
while(i <= 500*500*4){
std::cout << i << " : " << result[i] << result[i+1] << result[i+2] << result[i+3] << std::endl;
i = i+4;
}
Dit is dus een deel van mijn openGL code, als ik dat gewoon direct naar scherm render krijg ik een diffuus shaded bol uit die cg shaders. Maar blijkbaar als ik dat daar output heeft hij nu enkel de input van glClearColor naar het FBO geschreven. Iemand enig idee hoe ik de output van de cg dingen in mijn buffer krijg?

? Std C lijkt het mij niet.
) zie ik niet direct iets mis, maar tis dan ook niet iets waar ek echt vreselijk veel van afweet moet ik zeggen, ik heb me nog niet enorm veel beziggehouden met glsl. Wat me wel opvalt is dat je ergens een 3D vector naar 4D vector omzet en w op 0 stelt, moet dit geen 1 zijn?
? Das zo tegendraads
ad:.