|
|
@@ -82,553 +82,6 @@ report_my_errors(int line, const char *source_file) {
|
|
|
#endif
|
|
|
}
|
|
|
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glClearColor
|
|
|
-// Access: Public
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glClearColor(GLclampf red, GLclampf green, GLclampf blue,
|
|
|
- GLclampf alpha) {
|
|
|
- if (red != _clear_color_red ||
|
|
|
- green != _clear_color_green ||
|
|
|
- blue != _clear_color_blue ||
|
|
|
- alpha != _clear_color_alpha) {
|
|
|
- GLP(ClearColor)(red, green, blue, alpha);
|
|
|
- _clear_color_red = red;
|
|
|
- _clear_color_green = green;
|
|
|
- _clear_color_blue = blue;
|
|
|
- _clear_color_alpha = alpha;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glClearDepth
|
|
|
-// Access: Public
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glClearDepth(GLclampd depth) {
|
|
|
- if (depth != _clear_depth) {
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam()
|
|
|
- << "glClearDepth(" << (double)depth << ")" << endl;
|
|
|
-#endif
|
|
|
- GLP(ClearDepth)(depth);
|
|
|
- _clear_depth = depth;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glClearStencil
|
|
|
-// Access: Public
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glClearStencil(GLint s) {
|
|
|
- if (s != _clear_stencil) {
|
|
|
- GLP(ClearStencil)(s);
|
|
|
- _clear_stencil = s;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glClearAccum
|
|
|
-// Access: Public
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glClearAccum(GLclampf red, GLclampf green, GLclampf blue,
|
|
|
- GLclampf alpha) {
|
|
|
- if (red != _clear_accum_red ||
|
|
|
- green != _clear_accum_green ||
|
|
|
- blue != _clear_accum_blue ||
|
|
|
- alpha != _clear_accum_alpha) {
|
|
|
- GLP(ClearAccum)(red, green, blue, alpha);
|
|
|
- _clear_accum_red = red;
|
|
|
- _clear_accum_green = green;
|
|
|
- _clear_accum_blue = blue;
|
|
|
- _clear_accum_alpha = alpha;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glShadeModel
|
|
|
-// Access:
|
|
|
-// Description: Set the shading model to be either GL_FLAT or GL_SMOOTH
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glShadeModel(GLenum mode) {
|
|
|
- if (_shade_model_mode != mode) {
|
|
|
- GLP(ShadeModel)(mode);
|
|
|
- _shade_model_mode = mode;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glScissor
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glScissor(GLint x, GLint y, GLsizei width, GLsizei height)
|
|
|
-{
|
|
|
- if ( _scissor_x != x || _scissor_y != y ||
|
|
|
- _scissor_width != width || _scissor_height != height )
|
|
|
- {
|
|
|
- _scissor_x = x; _scissor_y = y;
|
|
|
- _scissor_width = width; _scissor_height = height;
|
|
|
- GLP(Scissor)( x, y, width, height );
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glViewport
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glViewport(GLint x, GLint y, GLsizei width, GLsizei height)
|
|
|
-{
|
|
|
- if ( _viewport_x != x || _viewport_y != y ||
|
|
|
- _viewport_width != width || _viewport_height != height )
|
|
|
- {
|
|
|
- _viewport_x = x; _viewport_y = y;
|
|
|
- _viewport_width = width; _viewport_height = height;
|
|
|
- GLP(Viewport)( x, y, width, height );
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glLightModelLocal
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glLightModelLocal(GLboolean local)
|
|
|
-{
|
|
|
- if ( _lmodel_local != local )
|
|
|
- {
|
|
|
- _lmodel_local = local;
|
|
|
- GLP(LightModeli)( GL_LIGHT_MODEL_LOCAL_VIEWER, local );
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glLightModelLocal
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glLightModelTwoSide(GLboolean twoside)
|
|
|
-{
|
|
|
- if (_lmodel_twoside != twoside) {
|
|
|
- _lmodel_twoside = twoside;
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam()
|
|
|
- << "glLightModel(GL_LIGHT_MODEL_TWO_SIDE, " << (int)twoside << ")" << endl;
|
|
|
-#endif
|
|
|
- GLP(LightModeli)(GL_LIGHT_MODEL_TWO_SIDE, twoside);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glStencilFunc
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glStencilFunc(GLenum func,GLint ref,GLuint mask) {
|
|
|
-
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam() << "glStencilFunc(";
|
|
|
- switch (func) {
|
|
|
- case GL_NEVER:
|
|
|
- GLCAT.spam(false) << "GL_NEVER, ";
|
|
|
- break;
|
|
|
- case GL_LESS:
|
|
|
- GLCAT.spam(false) << "GL_LESS, ";
|
|
|
- break;
|
|
|
- case GL_EQUAL:
|
|
|
- GLCAT.spam(false) << "GL_EQUAL, ";
|
|
|
- break;
|
|
|
- case GL_LEQUAL:
|
|
|
- GLCAT.spam(false) << "GL_LEQUAL, ";
|
|
|
- break;
|
|
|
- case GL_GREATER:
|
|
|
- GLCAT.spam(false) << "GL_GREATER, ";
|
|
|
- break;
|
|
|
- case GL_NOTEQUAL:
|
|
|
- GLCAT.spam(false) << "GL_NOTEQUAL, ";
|
|
|
- break;
|
|
|
- case GL_GEQUAL:
|
|
|
- GLCAT.spam(false) << "GL_GEQUAL, ";
|
|
|
- break;
|
|
|
- case GL_ALWAYS:
|
|
|
- GLCAT.spam(false) << "GL_ALWAYS, ";
|
|
|
- break;
|
|
|
- default:
|
|
|
- GLCAT.spam(false) << "unknown, ";
|
|
|
- break;
|
|
|
- }
|
|
|
- GLCAT.spam(false) << (int)ref << ", " << (int)mask << ")\n";
|
|
|
-#endif
|
|
|
- GLP(StencilFunc)(func, ref, mask);
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glStencilOp
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glStencilOp(GLenum fail,GLenum zfail,GLenum zpass) {
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam() << "glStencilOp(fail, zfail, ";
|
|
|
- switch (zpass) {
|
|
|
- case GL_KEEP:
|
|
|
- GLCAT.spam(false) << "GL_KEEP)";
|
|
|
- break;
|
|
|
- case GL_ZERO:
|
|
|
- GLCAT.spam(false) << "GL_ZERO)";
|
|
|
- break;
|
|
|
- case GL_REPLACE:
|
|
|
- GLCAT.spam(false) << "GL_REPLACE)";
|
|
|
- break;
|
|
|
- case GL_INCR:
|
|
|
- GLCAT.spam(false) << "GL_INCR)";
|
|
|
- break;
|
|
|
- case GL_DECR:
|
|
|
- GLCAT.spam(false) << "GL_DECR)";
|
|
|
- break;
|
|
|
- case GL_INVERT:
|
|
|
- GLCAT.spam(false) << "GL_INVERT)";
|
|
|
- break;
|
|
|
- default:
|
|
|
- GLCAT.spam(false) << "unknown)";
|
|
|
- break;
|
|
|
- }
|
|
|
- GLCAT.spam(false) << endl;
|
|
|
-#endif
|
|
|
- GLP(StencilOp)(fail,zfail,zpass);
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glLineWidth
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glLineWidth(GLfloat width) {
|
|
|
- if (_line_width != width) {
|
|
|
- _line_width = width;
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam()
|
|
|
- << "glLineWidth(" << width << ")" << endl;
|
|
|
-#endif
|
|
|
- GLP(LineWidth)(width);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glPointSize
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glPointSize(GLfloat size) {
|
|
|
- if (_point_size != size) {
|
|
|
- _point_size = size;
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam()
|
|
|
- << "glPointSize(" << size << ")" << endl;
|
|
|
-#endif
|
|
|
- GLP(PointSize)(size);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glBlendFunc
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glBlendFunc(GLenum sfunc, GLenum dfunc) {
|
|
|
- if (_blend_source_func != sfunc || _blend_dest_func != dfunc) {
|
|
|
- _blend_source_func = sfunc;
|
|
|
- _blend_dest_func = dfunc;
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam() << "glBlendFunc(";
|
|
|
- switch (sfunc) {
|
|
|
- case GL_ZERO:
|
|
|
- GLCAT.spam(false) << "GL_ZERO, ";
|
|
|
- break;
|
|
|
- case GL_ONE:
|
|
|
- GLCAT.spam(false) << "GL_ONE, ";
|
|
|
- break;
|
|
|
- case GL_DST_COLOR:
|
|
|
- GLCAT.spam(false) << "GL_DST_COLOR, ";
|
|
|
- break;
|
|
|
- case GL_ONE_MINUS_DST_COLOR:
|
|
|
- GLCAT.spam(false) << "GL_ONE_MINUS_DST_COLOR, ";
|
|
|
- break;
|
|
|
- case GL_SRC_ALPHA:
|
|
|
- GLCAT.spam(false) << "GL_SRC_ALPHA, ";
|
|
|
- break;
|
|
|
- case GL_ONE_MINUS_SRC_ALPHA:
|
|
|
- GLCAT.spam(false) << "GL_ONE_MINUS_SRC_ALPHA, ";
|
|
|
- break;
|
|
|
- case GL_DST_ALPHA:
|
|
|
- GLCAT.spam(false) << "GL_DST_ALPHA, ";
|
|
|
- break;
|
|
|
- case GL_ONE_MINUS_DST_ALPHA:
|
|
|
- GLCAT.spam(false) << "GL_ONE_MINUS_DST_ALPHA, ";
|
|
|
- break;
|
|
|
- case GL_SRC_ALPHA_SATURATE:
|
|
|
-
|
|
|
- GLCAT.spam(false) << "GL_SRC_ALPHA_SATURATE, ";
|
|
|
- break;
|
|
|
- default:
|
|
|
- GLCAT.spam(false) << "unknown, ";
|
|
|
- break;
|
|
|
- }
|
|
|
- switch (dfunc) {
|
|
|
- case GL_ZERO:
|
|
|
- GLCAT.spam(false) << "GL_ZERO)";
|
|
|
- break;
|
|
|
- case GL_ONE:
|
|
|
- GLCAT.spam(false) << "GL_ONE)";
|
|
|
- break;
|
|
|
- case GL_SRC_COLOR:
|
|
|
- GLCAT.spam(false) << "GL_SRC_COLOR)";
|
|
|
- break;
|
|
|
- case GL_ONE_MINUS_SRC_COLOR:
|
|
|
- GLCAT.spam(false) << "GL_ONE_MINUS_SRC_COLOR)";
|
|
|
- break;
|
|
|
- case GL_SRC_ALPHA:
|
|
|
- GLCAT.spam(false) << "GL_SRC_ALPHA)";
|
|
|
- break;
|
|
|
- case GL_ONE_MINUS_SRC_ALPHA:
|
|
|
- GLCAT.spam(false) << "GL_ONE_MINUS_SRC_ALPHA)";
|
|
|
- break;
|
|
|
- case GL_DST_ALPHA:
|
|
|
- GLCAT.spam(false) << "GL_DST_ALPHA)";
|
|
|
- break;
|
|
|
- case GL_ONE_MINUS_DST_ALPHA:
|
|
|
- GLCAT.spam(false) << "GL_ONE_MINUS_DST_ALPHA)";
|
|
|
- break;
|
|
|
- default:
|
|
|
- GLCAT.spam(false) << "unknown)";
|
|
|
- break;
|
|
|
- }
|
|
|
- GLCAT.spam(false) << endl;
|
|
|
-#endif
|
|
|
- GLP(BlendFunc)(sfunc, dfunc);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glFogMode
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glFogMode(GLint mode) {
|
|
|
- if (_fog_mode != mode) {
|
|
|
- _fog_mode = mode;
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam() << "glFog(GL_FOG_MODE, ";
|
|
|
- switch(mode) {
|
|
|
- case GL_LINEAR:
|
|
|
- GLCAT.spam(false) << "GL_LINEAR)" << endl;
|
|
|
- break;
|
|
|
- case GL_EXP:
|
|
|
- GLCAT.spam(false) << "GL_EXP)" << endl;
|
|
|
- break;
|
|
|
- case GL_EXP2:
|
|
|
- GLCAT.spam(false) << "GL_EXP2)" << endl;
|
|
|
- break;
|
|
|
-#ifdef GL_FOG_FUNC_SGIS
|
|
|
- case GL_FOG_FUNC_SGIS:
|
|
|
- GLCAT.spam(false) << "GL_FOG_FUNC_SGIS)" << endl;
|
|
|
- break;
|
|
|
-#endif
|
|
|
- default:
|
|
|
- GLCAT.spam(false) << "unknown)" << endl;
|
|
|
- break;
|
|
|
- }
|
|
|
-#endif
|
|
|
- GLP(Fogi)(GL_FOG_MODE, mode);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glFogStart
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glFogStart(GLfloat start) {
|
|
|
- if (_fog_start != start) {
|
|
|
- _fog_start = start;
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam()
|
|
|
- << "glFog(GL_FOG_START, " << start << ")" << endl;
|
|
|
-#endif
|
|
|
- GLP(Fogf)(GL_FOG_START, start);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glFogEnd
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glFogEnd(GLfloat end) {
|
|
|
- if (_fog_end != end) {
|
|
|
- _fog_end = end;
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam()
|
|
|
- << "glFog(GL_FOG_END, " << end << ")" << endl;
|
|
|
-#endif
|
|
|
- GLP(Fogf)(GL_FOG_END, end);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glFogDensity
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glFogDensity(GLfloat density) {
|
|
|
- if (_fog_density != density) {
|
|
|
- _fog_density = density;
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam()
|
|
|
- << "glFog(GL_FOG_DENSITY, " << density << ")" << endl;
|
|
|
-#endif
|
|
|
- GLP(Fogf)(GL_FOG_DENSITY, density);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glFogColor
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glFogColor(const Colorf &color) {
|
|
|
- if (_fog_color != color) {
|
|
|
- _fog_color = color;
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam()
|
|
|
- << "glFog(GL_FOG_COLOR, " << color << ")" << endl;
|
|
|
-#endif
|
|
|
- GLP(Fogfv)(GL_FOG_COLOR, color.get_data());
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glAlphaFunc
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glAlphaFunc(GLenum func, GLclampf ref) {
|
|
|
- if (_alpha_func != func || _alpha_func_ref != ref) {
|
|
|
- _alpha_func = func;
|
|
|
- _alpha_func_ref = ref;
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam() << "glAlphaFunc(";
|
|
|
- switch (func) {
|
|
|
- case GL_NEVER:
|
|
|
- GLCAT.spam(false) << "GL_NEVER, ";
|
|
|
- break;
|
|
|
- case GL_LESS:
|
|
|
- GLCAT.spam(false) << "GL_LESS, ";
|
|
|
- break;
|
|
|
- case GL_EQUAL:
|
|
|
- GLCAT.spam(false) << "GL_EQUAL, ";
|
|
|
- break;
|
|
|
- case GL_LEQUAL:
|
|
|
- GLCAT.spam(false) << "GL_LEQUAL, ";
|
|
|
- break;
|
|
|
- case GL_GREATER:
|
|
|
- GLCAT.spam(false) << "GL_GREATER, ";
|
|
|
- break;
|
|
|
- case GL_NOTEQUAL:
|
|
|
- GLCAT.spam(false) << "GL_NOTEQUAL, ";
|
|
|
- break;
|
|
|
- case GL_GEQUAL:
|
|
|
- GLCAT.spam(false) << "GL_GEQUAL, ";
|
|
|
- break;
|
|
|
- case GL_ALWAYS:
|
|
|
- GLCAT.spam(false) << "GL_ALWAYS, ";
|
|
|
- break;
|
|
|
- }
|
|
|
- GLCAT.spam() << ref << ")" << endl;
|
|
|
-#endif
|
|
|
- GLP(AlphaFunc)(func, ref);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::call_glPolygonMode
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-call_glPolygonMode(GLenum mode) {
|
|
|
- if (_polygon_mode != mode) {
|
|
|
- _polygon_mode = mode;
|
|
|
-#ifdef GSG_VERBOSE
|
|
|
- GLCAT.spam() << "glPolygonMode(GL_BACK_AND_FRONT, ";
|
|
|
- switch (mode) {
|
|
|
- case GL_POINT:
|
|
|
- GLCAT.spam(false) << "GL_POINT)" << endl;
|
|
|
- break;
|
|
|
- case GL_LINE:
|
|
|
- GLCAT.spam(false) << "GL_LINE)" << endl;
|
|
|
- break;
|
|
|
- case GL_FILL:
|
|
|
- GLCAT.spam(false) << "GL_FILL)" << endl;
|
|
|
- break;
|
|
|
- }
|
|
|
-#endif
|
|
|
- GLP(PolygonMode)(GL_FRONT_AND_BACK, mode);
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::set_pack_alignment
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-set_pack_alignment(GLint alignment) {
|
|
|
- if (_pack_alignment != alignment) {
|
|
|
- GLP(PixelStorei)(GL_PACK_ALIGNMENT, alignment);
|
|
|
- _pack_alignment = alignment;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-// Function: CLP(GraphicsStateGuardian)::set_unpack_alignment
|
|
|
-// Access:
|
|
|
-// Description:
|
|
|
-////////////////////////////////////////////////////////////////////
|
|
|
-INLINE void CLP(GraphicsStateGuardian)::
|
|
|
-set_unpack_alignment(GLint alignment) {
|
|
|
- if (_unpack_alignment != alignment) {
|
|
|
- GLP(PixelStorei)(GL_UNPACK_ALIGNMENT, alignment);
|
|
|
- _unpack_alignment = alignment;
|
|
|
- }
|
|
|
-}
|
|
|
-
|
|
|
////////////////////////////////////////////////////////////////////
|
|
|
// Function: CLP(GraphicsStateGuardian)::enable_multisample
|
|
|
// Access:
|