Now I know that there are two way for Fast Volume Rendering.The first is to use glColorTableExt.And the second is to use shading language.Does Fast Volume Rendering have the third way?Like Texture Combiner?
this is the code I found in some place:
//--------------------------------------------------
// Initialization Step 1: Texture Setup
//--------------------------------------------------
// first texture stage
glActiveTextureARB(GL_TEXTURE0_ARB);
// disable 2D textures, enable 3D texture
glDisable(GL_TEXTURE_2D);
glEnable(GL_TEXTURE_3D_EXT);
// enable the texture shader
glEnable(GL_TEXTURE_SHADER_NV);
glTexEnvi(GL_TEXTURE_SHADER_NV, GL_SHADER_OPERATION_NV, GL_TEXTURE_3D);
// second texture stage = dependent texture (Alpha and Red component)
glActiveTextureARB(GL_TEXTURE1_ARB);
// disable 2D textures, enable 3D texture
glEnable(GL_TEXTURE_2D);
// enable the texture shader
glEnable(GL_TEXTURE_SHADER_NV);
// bind the texture that contains the color table
glBindTexture(GL_TEXTURE_2D, m_pDependentTexNames[0]);
// enable linear interpolation
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
// setup for dependent texture lookup
glTexEnvi(GL_TEXTURE_SHADER_NV, GL_SHADER_OPERATION_NV, GL_DEPENDENT_AR_TEXTURE_2D_NV );
glTexEnvi(GL_TEXTURE_SHADER_NV, GL_PREVIOUS_TEXTURE_INPUT_NV, GL_TEXTURE0_ARB);
Does it use the Texture Combiner to deal with the Data Texture and the Lookup table Texture?