ALLEGRO_RENDER_STATE - Allegro 5 API
-
#include <allegro5/allegro.h>
typedef enum ALLEGRO_RENDER_STATE {
Possible render states which can be set with al_set_render_state(3alleg5):
- ALLEGRO_ALPHA_TEST
- If this is set to 1, the values of ALLEGRO_ALPHA_FUNCTION
and ALLEGRO_ALPHA_TEST_VALUE define a comparison function which is
performed on the alpha component of each pixel. Only if it evaluates to
true the pixel is written. Otherwise no subsequent processing (like depth
test or blending) is performed. This can be very useful, for example if a
depth buffer is used but you do not want fully transparent pixels to
modify it.
- ALLEGRO_ALPHA_FUNCTION
- One of ALLEGRO_RENDER_FUNCTION(3alleg5), only used when
ALLEGRO_ALPHA_TEST is 1.
- ALLEGRO_ALPHA_TEST_VALUE
- Only used when ALLEGRO_ALPHA_TEST is 1. Should be a value
of 0 - 255.
- ALLEGRO_WRITE_MASK
- This determines how the framebuffer and depthbuffer are
updated whenever a pixel is written (in case alpha and/or depth testing is
enabled: after all such enabled tests succeed). Depth values are only
written if ALLEGRO_DEPTH_TEST is 1, in addition to the write mask flag
being set.
- ALLEGRO_DEPTH_TEST
- If this is set to 1, compare the depth value of any newly
written pixels with the depth value already in the buffer, according to
ALLEGRO_DEPTH_FUNCTION. Allegro primitives with no explicit z coordinate
will write a value of 0 into the depth buffer.
- ALLEGRO_DEPTH_FUNCTION
- One of ALLEGRO_RENDER_FUNCTION(3alleg5), only used when
ALLEGRO_DEPTH_TEST is 1.
5.1.2
al_set_render_state(3alleg5), ALLEGRO_RENDER_FUNCTION(3alleg5),
ALLEGRO_WRITE_MASK_FLAGS(3alleg5)