Beispiel #1
0
void GPUVolRTV0::raycasting_pass()
{
	glFramebufferTexture2DEXT(GL_FRAMEBUFFER_EXT, GL_COLOR_ATTACHMENT0_EXT, GL_TEXTURE_2D, final_image, 0);
	glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );

    glUseProgram(shaderprog);

    glUniform1f(stepsizeLoc, stepsize);
    glUniformMatrix4fv(mvLoc, 
                       1, 
                       GL_FALSE, 
                       mModelView);
    glUniformMatrix4fv(mpLoc, 
                       1, 
                       GL_FALSE, 
                       mProj);
	set_tex_param(texLoc,       backface_buffer, shaderprog, GL_TEXTURE0, GL_TEXTURE_2D);
	set_tex_param(volumeTexLoc, volume_texture,  shaderprog, GL_TEXTURE1, GL_TEXTURE_3D);

	glEnable(GL_CULL_FACE);
	glCullFace(GL_BACK);
	drawQuads(1.0,1.0, 1.0);
	glDisable(GL_CULL_FACE);

    glUseProgram(0);
}
Beispiel #2
0
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);
}