GL++  0.1
OpenGL API C++ Wrapper
 All Classes Namespaces Functions Variables Typedefs Enumerations Friends Groups Pages
glpp::stencil_test_unit Struct Reference

Unit that controls stencil testing. More...

#include <stencil_test_unit.hpp>

Inheritance diagram for glpp::stencil_test_unit:
glpp::noncopyable

Public Types

typedef GLuint mask_type
 Type of user defined binary mask for stencil operations.
typedef GLint compare_reference_type
 Type of reference value that used in comparison at stencil test operation.

Public Member Functions

void enable ()
 Enable stencil testing.
void disable ()
 Disable stencil testing.
bool is_enabled ()
 Check if stencil testing is enabled.
void set_write_mask (mask_type mask)
 Control the front and back writing of individual bits in the stencil planes.
void set_face_write_mask (face_type face, mask_type mask)
 Control the front and/or back writing of individual bits in the stencil planes.
mask_type get_write_mask ()
 Get the current write mask that is used for writing front-facing polygons.
mask_type get_back_write_mask ()
 Get the current write mask that is used for writing back-facing polygons.
void set_compare_func (compare_func func, compare_reference_type ref, mask_type mask)
 Set front and back function and reference value for stencil testing.
void set_face_compare_func (face_type face, compare_func func, compare_reference_type ref, mask_type mask)
 Set front and/or back function and reference value for stencil testing.
compare_func get_compare_func ()
 Get front function for stencil testing.
compare_func get_back_compare_func ()
 Get back function for stencil testing.
mask_type get_compare_mask ()
 Get back compare mask for stencil testing.
mask_type get_back_compare_mask ()
 Get front compare mask for stencil testing.
compare_reference_type get_compare_reference ()
 Get front compare reference for stencil testing.
compare_reference_type get_back_compare_reference ()
 Get back compare reference for stencil testing.
void set_op (stencil_op stencil_fail, stencil_op stencil_pass_depth_fail, stencil_op stencil_pass_depth_pass)
 Set front and back stencil test actions.
void set_face_op (face_type face, stencil_op stencil_fail, stencil_op stencil_pass_depth_fail, stencil_op stencil_pass_depth_pass)
 Set front and/or back stencil test actions.
stencil_op get_stencil_fail_op ()
 Get action taken when front stencil test failed.
stencil_op get_back_stencil_fail_op ()
 Get action taken when back stencil test failed.
stencil_op get_stencil_pass_depth_fail_op ()
 Get action taken when front stencil passed and depth test failed.
stencil_op get_back_stencil_pass_depth_fail_op ()
 Get action taken when back stencil passed and depth test failed.
stencil_op get_stencil_pass_depth_pass_op ()
 Get action taken when both front stencil and depth test passed.
stencil_op get_back_stencil_pass_depth_pass_op ()
 Get action taken when both back stencil and depth test passed.
stencil_op get_op (face_type face, bool stencil_pass, bool depth_pass) throw (std::invalid_argument)
 Get action taken based on the case described by parameter.
- Public Member Functions inherited from glpp::noncopyable
 noncopyable (noncopyable &)
noncopyableoperator= (noncopyable &)

Protected Member Functions

 stencil_test_unit (context &ctx)
 Construction is permitted only by glpp::context.

Protected Attributes

contextm_ctx
 Reference to context that this is unit is part of.

Friends

class context
 All units are friend of context.

Detailed Description

Unit that controls stencil testing.

Remarks
non-copyable, non-inheritable

Member Typedef Documentation

Type of reference value that used in comparison at stencil test operation.

See Also
set_write_mask, set_compare_func

Type of user defined binary mask for stencil operations.

See Also
set_write_mask, set_compare_func

Member Function Documentation

void glpp::stencil_test_unit::disable ( )
void glpp::stencil_test_unit::enable ( )
compare_func glpp::stencil_test_unit::get_back_compare_func ( )
stencil_test_unit::mask_type glpp::stencil_test_unit::get_back_compare_mask ( )
stencil_test_unit::compare_reference_type glpp::stencil_test_unit::get_back_compare_reference ( )
stencil_op glpp::stencil_test_unit::get_back_stencil_fail_op ( )

Get action taken when back stencil test failed.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilOpSeparate.xml

See Also
set_op, set_face_op
stencil_op glpp::stencil_test_unit::get_back_stencil_pass_depth_fail_op ( )

Get action taken when back stencil passed and depth test failed.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilOpSeparate.xml

See Also
set_op, set_face_op
stencil_op glpp::stencil_test_unit::get_back_stencil_pass_depth_pass_op ( )

Get action taken when both back stencil and depth test passed.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilOpSeparate.xml

See Also
set_op, set_face_op
stencil_test_unit::mask_type glpp::stencil_test_unit::get_back_write_mask ( )

Get the current write mask that is used for writing back-facing polygons.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilMaskSeparate.xml

compare_func glpp::stencil_test_unit::get_compare_func ( )
stencil_test_unit::mask_type glpp::stencil_test_unit::get_compare_mask ( )
stencil_test_unit::compare_reference_type glpp::stencil_test_unit::get_compare_reference ( )
stencil_op glpp::stencil_test_unit::get_op ( face_type  face,
bool  stencil_pass,
bool  depth_pass 
) throw (std::invalid_argument)

Get action taken based on the case described by parameter.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilOpSeparate.xml

See Also
set_op, set_face_op
stencil_op glpp::stencil_test_unit::get_stencil_fail_op ( )

Get action taken when front stencil test failed.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilOpSeparate.xml

See Also
set_op, set_face_op
stencil_op glpp::stencil_test_unit::get_stencil_pass_depth_fail_op ( )

Get action taken when front stencil passed and depth test failed.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilOpSeparate.xml

See Also
set_op, set_face_op
stencil_op glpp::stencil_test_unit::get_stencil_pass_depth_pass_op ( )

Get action taken when both front stencil and depth test passed.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilOpSeparate.xml

See Also
set_op, set_face_op
stencil_test_unit::mask_type glpp::stencil_test_unit::get_write_mask ( )

Get the current write mask that is used for writing front-facing polygons.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilMaskSeparate.xml

bool glpp::stencil_test_unit::is_enabled ( )
void glpp::stencil_test_unit::set_compare_func ( compare_func  func,
stencil_test_unit::compare_reference_type  ref,
stencil_test_unit::mask_type  mask 
)

Set front and back function and reference value for stencil testing.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilFunc.xml

void glpp::stencil_test_unit::set_face_compare_func ( face_type  face,
compare_func  func,
stencil_test_unit::compare_reference_type  ref,
stencil_test_unit::mask_type  mask 
)

Set front and/or back function and reference value for stencil testing.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilFuncSeparate.xml

void glpp::stencil_test_unit::set_face_op ( face_type  face,
stencil_op  stencil_fail,
stencil_op  stencil_pass_depth_fail,
stencil_op  stencil_pass_depth_pass 
)

Set front and/or back stencil test actions.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilOpSeparate.xml

void glpp::stencil_test_unit::set_face_write_mask ( face_type  face,
mask_type  mask 
)

Control the front and/or back writing of individual bits in the stencil planes.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilMaskSeparate.xml

void glpp::stencil_test_unit::set_op ( stencil_op  stencil_fail,
stencil_op  stencil_pass_depth_fail,
stencil_op  stencil_pass_depth_pass 
)

Set front and back stencil test actions.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilOp.xml

void glpp::stencil_test_unit::set_write_mask ( mask_type  mask)

Control the front and back writing of individual bits in the stencil planes.

http://www.opengl.org/sdk/docs/man4/xhtml/glStencilMask.xml


The documentation for this struct was generated from the following files: