3#ifndef vtkVolumeStateRAII_h
4#define vtkVolumeStateRAII_h
11VTK_ABI_NAMESPACE_BEGIN
25 this->DepthTestEnabled = ostate->
GetEnumState(GL_DEPTH_TEST);
29 this->CullFaceEnabled = ostate->
GetEnumState(GL_CULL_FACE);
32 GLboolean depthMaskWrite = GL_TRUE;
34 this->DepthMaskEnabled = (depthMaskWrite == GL_TRUE);
58 glBindBuffer(GL_ARRAY_BUFFER, 0);
59 glBindBuffer(GL_ELEMENT_ARRAY_BUFFER, 0);
66 this->State->vtkglCullFace(this->CullFaceMode);
67 this->State->SetEnumState(GL_CULL_FACE, this->CullFaceEnabled);
68 this->State->vtkglBlendFunc(GL_SRC_ALPHA, GL_ONE_MINUS_SRC_ALPHA);
73 if (!this->BlendEnabled)
75 this->State->vtkglDisable(GL_BLEND);
78 this->State->SetEnumState(GL_DEPTH_TEST, this->DepthTestEnabled);
80 if (this->DepthMaskEnabled)
82 this->State->vtkglDepthMask(GL_TRUE);
88 bool DepthTestEnabled;
92 bool DepthMaskEnabled;
void vtkglGetIntegerv(unsigned int pname, int *params)
bool GetEnumState(unsigned int name)
void vtkglCullFace(unsigned int val)
void vtkglBlendFunc(unsigned int sfactor, unsigned int dfactor)
void vtkglEnable(unsigned int cap)
void vtkglDepthMask(unsigned char flag)
void vtkglGetBooleanv(unsigned int pname, unsigned char *params)
vtkVolumeStateRAII(vtkOpenGLState *ostate, bool noOp=false)