Autor Wątek: [GLSL] Problem z teksturowaniem  (Przeczytany 460 razy)

Offline w17chm4n

  • Użytkownik

# Luty 21, 2010, 15:18:01
Witam ponownie ;) Natknąłem się na kolejny problem. Chodzi o to, że kod i shadery działają poprawnie, aczkolwiek w momencie gdy próbuje podbindować teksturę wynikową (czyli tą zawierająca rezultat obliczeń wykonanych za pomocą shaderów), pojawia mi się tło tej tekstury ale nie widać wyrenderowanego obiektu (raytracing via glsl).




Kod renderowania klatki
m_instance->m_debug->startPerformanceQuery("frame");

glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, m_instance->m_fbo0);

if(m_instance->m_flag)
{
m_instance->m_bfRayGeneratorKernel->execute();
m_instance->m_flag = false;
}

for(unsigned int i = 0; i <= m_instance->m_world->m_triangles.size(); ++i)
{
m_instance->m_bfRayTraceKernel->execute();
m_instance->m_bfCopyKernel->execute();
}

m_instance->m_bfShadingKernel->execute();

glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);

m_instance->m_debug->endPerformanceQuery();
m_instance->m_debug->renderPerformance();

//-------- RENDER TO SCREEN --------//

glClearColor(0.f, 0.f, 0.f, 0.f);
glClear(GL_COLOR_BUFFER_BIT);

glEnable(GL_TEXTURE_2D);

glBindTexture(GL_TEXTURE_2D, m_instance->m_TEXTURE_OUTPUT);

m_instance->m_streamGenerator->screenAlignedQuadVBO();

glDisable(GL_TEXTURE_2D);

//----------------------------------//

glFinish();
glutSwapBuffers();
glutPostRedisplay();

Offline Mr. Spam

  • Miłośnik przetworów mięsnych

Offline .:NOXY:.

  • Użytkownik
    • Profil

# Marzec 20, 2010, 23:44:10
a sproboj po renderowaniu do fbo
czyli tutaj glBindFramebufferEXT(GL_FRAMEBUFFER_EXT, 0);
dodac jeszcze glActiveTexture(GL_TEXTURE0); zeby sie nawrocil bo moze on jeszcze trzyma stara aktywnosc
i ew dodaj glPushAttribute(GL_VIEWPORTBIT) przed renderem fbo i Pop po renderze mysle ze powinno pomoc