// This display function is called once pr frame void GPUVolRTV0::display(DrawEnv *pEnv) { // was in init before. As OpenSG resets those they have to be // restored to the required values glEnable(GL_CULL_FACE); glClearColor(0.0, 0.0, 0.0, 0); glDisable(GL_LIGHTING); glTexEnvi(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_REPLACE); // end static float rotate = 0; rotate += 0.25; // resize(WINDOW_SIZE,WINDOW_SIZE); resize(pEnv->getPixelWidth(), pEnv->getPixelHeight()); enable_renderbuffers(); glLoadIdentity(); glTranslatef(0,0,-2.25); glRotatef(rotate,0,1,1); glTranslatef(-0.5,-0.5,-0.5); // center the texturecube glGetFloatv(GL_MODELVIEW_MATRIX, mModelView); glGetFloatv(GL_PROJECTION_MATRIX, mProj); render_backface(); raycasting_pass(); disable_renderbuffers(); render_buffer_to_screen(pEnv); // glutSwapBuffers(); }
void cgtk::raycasting_pass() { disable_renderbuffers(); //glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT,GL_COLOR_ATTACHMENT0_EXT,GL_TEXTURE_RECTANGLE_ARB,final_image,0); //glClearColor(0,0,0,0); //glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); cgGLEnableProfile(vertexProfile); cgGLEnableProfile(fragmentProfile); cgGLBindProgram(vertex_main); cgGLBindProgram(fragment_main); cgGLSetParameter1f(cgGetNamedParameter(fragment_main,"stepsize"),stepsize); cgGLSetParameter1f(cgGetNamedParameter(fragment_main,"width"),WINDOW_SIZE_W); cgGLSetParameter1f(cgGetNamedParameter(fragment_main,"heigth"),WINDOW_SIZE_H); set_tex_param("tex",backface_buffer,fragment_main,param1); set_tex_param("volume_tex",volume_texture,fragment_main,param2); glEnable(GL_BLEND); glEnable(GL_CULL_FACE); glCullFace(GL_BACK); //drawQuads(1,1,1,b); drawBd(); cgGLDisableProfile(vertexProfile); cgGLDisableProfile(fragmentProfile); glDisable(GL_CULL_FACE); glDisable(GL_BLEND); }
/** * @brief ParticleSystem Render */ bool ParticleSystem::Render(void) { viewAspect = wWidth / static_cast<float>(wHeight); glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); projMX = glm::perspective(static_cast<float>(fovY), viewAspect, 0.01f, 100.0f); // -------------------------------------------------- // draw to FBO // -------------------------------------------------- enable_renderbuffers(); drawToFBO(); disable_renderbuffers(); // -------------------------------------------------- // draw fullscreen quad // -------------------------------------------------- drawQuad(); PostRedisplay(); return false; }