16 #ifndef vtkVolumeStateRAII_h
17 #define vtkVolumeStateRAII_h
27 this->DepthTestEnabled = (glIsEnabled(GL_DEPTH_TEST) != 0);
29 this->BlendEnabled = (glIsEnabled(GL_BLEND) != 0);
31 this->CullFaceEnabled = (glIsEnabled(GL_CULL_FACE) != 0);
35 glEnable(GL_TEXTURE_1D);
36 glEnable(GL_TEXTURE_2D);
37 glEnable(GL_TEXTURE_3D);
40 if (!this->DepthTestEnabled)
42 std::cerr <<
"enabling depth test" << std::endl;
43 glEnable(GL_DEPTH_TEST);
49 glBlendFunc(GL_ONE,GL_ONE_MINUS_SRC_ALPHA);
51 if (!this->BlendEnabled)
57 if (!this->CullFaceEnabled)
59 glEnable(GL_CULL_FACE);
68 glBindBuffer(GL_ARRAY_BUFFER, 0);
69 glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
71 if (!this->CullFaceEnabled)
73 glDisable(GL_CULL_FACE);
76 glBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
78 if (!this->BlendEnabled)
83 if (!this->DepthTestEnabled)
85 glDisable(GL_DEPTH_TEST);
88 glActiveTexture(GL_TEXTURE0);
90 glDisable(GL_TEXTURE_3D);
91 glDisable(GL_TEXTURE_2D);
92 glDisable(GL_TEXTURE_1D);
96 bool DepthTestEnabled;
101 #endif // vtkVolumeStateRAII_h