ReactOS Fundraising Campaign 2012
 
€ 4,410 / € 30,000

Information | Donate

Home | Info | Community | Development | myReactOS | Contact Us

  1. Home
  2. Community
  3. Development
  4. myReactOS
  5. Fundraiser 2012

  1. Main Page
  2. Alphabetical List
  3. Data Structures
  4. Directories
  5. File List
  6. Data Fields
  7. Globals
  8. Related Pages

ReactOS Development > Doxygen

stencil.c File Reference
#include "glheader.h"
#include "imports.h"
#include "context.h"
#include "macros.h"
#include "stencil.h"
#include "mtypes.h"

Go to the source code of this file.

Functions

static GLboolean validate_stencil_op (GLcontext *ctx, GLenum op)
static GLboolean validate_stencil_func (GLcontext *ctx, GLenum func)
void GLAPIENTRY _mesa_ClearStencil (GLint s)
void GLAPIENTRY _mesa_StencilFuncSeparateATI (GLenum frontfunc, GLenum backfunc, GLint ref, GLuint mask)
void GLAPIENTRY _mesa_StencilFunc (GLenum func, GLint ref, GLuint mask)
void GLAPIENTRY _mesa_StencilMask (GLuint mask)
void GLAPIENTRY _mesa_StencilOp (GLenum fail, GLenum zfail, GLenum zpass)
void GLAPIENTRY _mesa_StencilOpSeparate (GLenum face, GLenum sfail, GLenum zfail, GLenum zpass)
void GLAPIENTRY _mesa_StencilFuncSeparate (GLenum face, GLenum func, GLint ref, GLuint mask)
void GLAPIENTRY _mesa_StencilMaskSeparate (GLenum face, GLuint mask)
void _mesa_update_stencil (GLcontext *ctx)
void _mesa_init_stencil (GLcontext *ctx)

Detailed Description

Stencil operations.

Note: There's some conflict between GL_EXT_stencil_two_side and OpenGL 2.0's two-sided stencil feature.

With GL_EXT_stencil_two_side, calling glStencilOp/Func/Mask() only the front OR back face state (as set by glActiveStencilFaceEXT) is set.

But with OpenGL 2.0, calling glStencilOp/Func/Mask() sets BOTH the front AND back state.

Also, note that GL_ATI_separate_stencil is different as well: glStencilFuncSeparateATI(GLenum frontfunc, GLenum backfunc, ...) vs. glStencilFuncSeparate(GLenum face, GLenum func, ...).

This problem is solved by keeping three sets of stencil state: state[0] = GL_FRONT state. state[1] = OpenGL 2.0 / GL_ATI_separate_stencil GL_BACK state. state[2] = GL_EXT_stencil_two_side GL_BACK state.

Definition in file stencil.c.


Generated on Sun May 27 2012 04:58:37 for ReactOS by doxygen 1.7.6.1

ReactOS is a registered trademark or a trademark of ReactOS Foundation in the United States and other countries.