enums.h
Go to the documentation of this file.
/**
* @file enums.h
* @brief GPU enumeration values.
*/
#pragma once
/// Creates a texture magnification filter parameter from a @ref GPU_TEXTURE_FILTER_PARAM
#define GPU_TEXTURE_MAG_FILTER(v) (((v)&0x1)<<1)
/// Creates a texture minification filter parameter from a @ref GPU_TEXTURE_FILTER_PARAM
#define GPU_TEXTURE_MIN_FILTER(v) (((v)&0x1)<<2)
/// Creates a texture mipmap filter parameter from a @ref GPU_TEXTURE_FILTER_PARAM
#define GPU_TEXTURE_MIP_FILTER(v) (((v)&0x1)<<24)
/// Creates a texture wrap S parameter from a @ref GPU_TEXTURE_WRAP_PARAM
#define GPU_TEXTURE_WRAP_S(v) (((v)&0x3)<<12)
/// Creates a texture wrap T parameter from a @ref GPU_TEXTURE_WRAP_PARAM
#define GPU_TEXTURE_WRAP_T(v) (((v)&0x3)<<8)
/// Creates a texture mode parameter from a @ref GPU_TEXTURE_MODE_PARAM
#define GPU_TEXTURE_MODE(v) (((v)&0x7)<<28)
/// Texture parameter indicating ETC1 texture.
#define GPU_TEXTURE_ETC1_PARAM BIT(5)
/// Texture parameter indicating shadow texture.
#define GPU_TEXTURE_SHADOW_PARAM BIT(20)
/// Creates a combiner buffer write configuration.
#define GPU_TEV_BUFFER_WRITE_CONFIG(stage0, stage1, stage2, stage3) ((stage0) | ((stage1) << 1) | ((stage2) << 2) | ((stage3) << 3))
/// Texture filters.
typedef enum
{
GPU_NEAREST = 0x0, ///< Nearest-neighbor interpolation.
GPU_LINEAR = 0x1, ///< Linear interpolation.
} GPU_TEXTURE_FILTER_PARAM;
/// Texture wrap modes.
typedef enum
{
GPU_CLAMP_TO_EDGE = 0x0, ///< Clamps to edge.
GPU_CLAMP_TO_BORDER = 0x1, ///< Clamps to border.
GPU_REPEAT = 0x2, ///< Repeats texture.
GPU_MIRRORED_REPEAT = 0x3, ///< Repeats with mirrored texture.
} GPU_TEXTURE_WRAP_PARAM;
/// Texture modes.
typedef enum
{
GPU_TEX_2D = 0x0, ///< 2D texture
GPU_TEX_CUBE_MAP = 0x1, ///< Cube map
GPU_TEX_SHADOW_2D = 0x2, ///< 2D Shadow texture
GPU_TEX_PROJECTION = 0x3, ///< Projection texture
GPU_TEX_SHADOW_CUBE = 0x4, ///< Shadow cube map
GPU_TEX_DISABLED = 0x5, ///< Disabled
} GPU_TEXTURE_MODE_PARAM;
/// Supported texture units.
typedef enum
{
GPU_TEXUNIT0 = 0x1, ///< Texture unit 0.
GPU_TEXUNIT1 = 0x2, ///< Texture unit 1.
GPU_TEXUNIT2 = 0x4, ///< Texture unit 2.
} GPU_TEXUNIT;
/// Supported texture formats.
typedef enum
{
GPU_RGBA8 = 0x0, ///< 8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
GPU_RGB8 = 0x1, ///< 8-bit Red + 8-bit Green + 8-bit Blue
GPU_RGBA5551 = 0x2, ///< 5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
GPU_RGB565 = 0x3, ///< 5-bit Red + 6-bit Green + 5-bit Blue
GPU_RGBA4 = 0x4, ///< 4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
GPU_LA8 = 0x5, ///< 8-bit Luminance + 8-bit Alpha
GPU_HILO8 = 0x6, ///< 8-bit Hi + 8-bit Lo
GPU_L8 = 0x7, ///< 8-bit Luminance
GPU_A8 = 0x8, ///< 8-bit Alpha
GPU_LA4 = 0x9, ///< 4-bit Luminance + 4-bit Alpha
GPU_L4 = 0xA, ///< 4-bit Luminance
GPU_A4 = 0xB, ///< 4-bit Alpha
GPU_ETC1 = 0xC, ///< ETC1 texture compression
GPU_ETC1A4 = 0xD, ///< ETC1 texture compression + 4-bit Alpha
} GPU_TEXCOLOR;
/// Texture faces.
typedef enum
{
GPU_TEXFACE_2D = 0, ///< 2D face
GPU_POSITIVE_X = 0, ///< +X face
GPU_NEGATIVE_X = 1, ///< -X face
GPU_POSITIVE_Y = 2, ///< +Y face
GPU_NEGATIVE_Y = 3, ///< -Y face
GPU_POSITIVE_Z = 4, ///< +Z face
GPU_NEGATIVE_Z = 5, ///< -Z face
} GPU_TEXFACE;
/// Procedural texture clamp modes.
typedef enum
{
GPU_PT_CLAMP_TO_ZERO = 0, ///< Clamp to zero.
GPU_PT_CLAMP_TO_EDGE = 1, ///< Clamp to edge.
GPU_PT_REPEAT = 2, ///< Symmetrical repeat.
GPU_PT_MIRRORED_REPEAT = 3, ///< Mirrored repeat.
GPU_PT_PULSE = 4, ///< Pulse.
} GPU_PROCTEX_CLAMP;
/// Procedural texture mapping functions.
typedef enum
{
GPU_PT_U = 0, ///< U
GPU_PT_U2 = 1, ///< U2
GPU_PT_V = 2, ///< V
GPU_PT_V2 = 3, ///< V2
GPU_PT_ADD = 4, ///< U+V
GPU_PT_ADD2 = 5, ///< U2+V2
GPU_PT_SQRT2 = 6, ///< sqrt(U2+V2)
GPU_PT_MIN = 7, ///< min
GPU_PT_MAX = 8, ///< max
GPU_PT_RMAX = 9, ///< rmax
} GPU_PROCTEX_MAPFUNC;
/// Procedural texture shift values.
typedef enum
{
GPU_PT_NONE = 0, ///< No shift.
GPU_PT_ODD = 1, ///< Odd shift.
GPU_PT_EVEN = 2, ///< Even shift.
} GPU_PROCTEX_SHIFT;
/// Procedural texture filter values.
typedef enum
{
GPU_PT_NEAREST = 0, ///< Nearest-neighbor
GPU_PT_LINEAR = 1, ///< Linear interpolation
GPU_PT_NEAREST_MIP_NEAREST = 2, ///< Nearest-neighbor with mipmap using nearest-neighbor
GPU_PT_LINEAR_MIP_NEAREST = 3, ///< Linear interpolation with mipmap using nearest-neighbor
GPU_PT_NEAREST_MIP_LINEAR = 4, ///< Nearest-neighbor with mipmap using linear interpolation
GPU_PT_LINEAR_MIP_LINEAR = 5, ///< Linear interpolation with mipmap using linear interpolation
} GPU_PROCTEX_FILTER;
/// Procedural texture LUT IDs.
typedef enum
{
GPU_LUT_NOISE = 0, ///< Noise table
GPU_LUT_RGBMAP = 2, ///< RGB mapping function table
GPU_LUT_ALPHAMAP = 3, ///< Alpha mapping function table
GPU_LUT_COLOR = 4, ///< Color table
GPU_LUT_COLORDIF = 5, ///< Color difference table
} GPU_PROCTEX_LUTID;
/// Supported color buffer formats.
typedef enum
{
GPU_RB_RGBA8 = 0, ///< 8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
GPU_RB_RGB8 = 1, ///< 8-bit Red + 8-bit Green + 8-bit Blue
GPU_RB_RGBA5551 = 2, ///< 5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
GPU_RB_RGB565 = 3, ///< 5-bit Red + 6-bit Green + 5-bit Blue
GPU_RB_RGBA4 = 4, ///< 4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
} GPU_COLORBUF;
/// Supported depth buffer formats.
typedef enum
{
GPU_RB_DEPTH16 = 0, ///< 16-bit Depth
GPU_RB_DEPTH24 = 2, ///< 24-bit Depth
GPU_RB_DEPTH24_STENCIL8 = 3, ///< 24-bit Depth + 8-bit Stencil
} GPU_DEPTHBUF;
/// Test functions.
typedef enum
{
GPU_NEVER = 0, ///< Never pass.
GPU_ALWAYS = 1, ///< Always pass.
GPU_EQUAL = 2, ///< Pass if equal.
GPU_NOTEQUAL = 3, ///< Pass if not equal.
GPU_LESS = 4, ///< Pass if less than.
GPU_LEQUAL = 5, ///< Pass if less than or equal.
GPU_GREATER = 6, ///< Pass if greater than.
GPU_GEQUAL = 7, ///< Pass if greater than or equal.
} GPU_TESTFUNC;
/// Early depth test functions.
typedef enum
{
GPU_EARLYDEPTH_GEQUAL = 0, ///< Pass if greater than or equal.
GPU_EARLYDEPTH_GREATER = 1, ///< Pass if greater than.
GPU_EARLYDEPTH_LEQUAL = 2, ///< Pass if less than or equal.
GPU_EARLYDEPTH_LESS = 3, ///< Pass if less than.
} GPU_EARLYDEPTHFUNC;
/// Gas depth functions.
typedef enum
{
GPU_GAS_NEVER = 0, ///< Never pass (0).
GPU_GAS_ALWAYS = 1, ///< Always pass (1).
GPU_GAS_GREATER = 2, ///< Pass if greater than (1-X).
GPU_GAS_LESS = 3, ///< Pass if less than (X).
} GPU_GASDEPTHFUNC;
/// Converts \ref GPU_TESTFUNC into \ref GPU_GASDEPTHFUNC.
#define GPU_MAKEGASDEPTHFUNC(n) (GPU_GASDEPTHFUNC)((0xAF02>>((int)(n)<<1))&3)
/// Scissor test modes.
typedef enum
{
GPU_SCISSOR_DISABLE = 0, ///< Disable.
GPU_SCISSOR_INVERT = 1, ///< Exclude pixels inside the scissor box.
// 2 is the same as 0
GPU_SCISSOR_NORMAL = 3, ///< Exclude pixels outside of the scissor box.
} GPU_SCISSORMODE;
/// Stencil operations.
typedef enum
{
GPU_STENCIL_KEEP = 0, ///< Keep old value. (old_stencil)
GPU_STENCIL_ZERO = 1, ///< Zero. (0)
GPU_STENCIL_REPLACE = 2, ///< Replace value. (ref)
GPU_STENCIL_INCR = 3, ///< Increment value. (old_stencil + 1 saturated to [0, 255])
GPU_STENCIL_DECR = 4, ///< Decrement value. (old_stencil - 1 saturated to [0, 255])
GPU_STENCIL_INVERT = 5, ///< Invert value. (~old_stencil)
GPU_STENCIL_INCR_WRAP = 6, ///< Increment value. (old_stencil + 1)
GPU_STENCIL_DECR_WRAP = 7, ///< Decrement value. (old_stencil - 1)
} GPU_STENCILOP;
/// Pixel write mask.
typedef enum
{
GPU_WRITE_RED = 0x01, ///< Write red.
GPU_WRITE_GREEN = 0x02, ///< Write green.
GPU_WRITE_BLUE = 0x04, ///< Write blue.
GPU_WRITE_ALPHA = 0x08, ///< Write alpha.
GPU_WRITE_DEPTH = 0x10, ///< Write depth.
GPU_WRITE_COLOR = 0x0F, ///< Write all color components.
GPU_WRITE_ALL = 0x1F, ///< Write all components.
} GPU_WRITEMASK;
/// Blend modes.
typedef enum
{
GPU_BLEND_ADD = 0, ///< Add colors.
GPU_BLEND_SUBTRACT = 1, ///< Subtract colors.
GPU_BLEND_REVERSE_SUBTRACT = 2, ///< Reverse-subtract colors.
GPU_BLEND_MIN = 3, ///< Use the minimum color.
GPU_BLEND_MAX = 4, ///< Use the maximum color.
} GPU_BLENDEQUATION;
/// Blend factors.
typedef enum
{
GPU_ZERO = 0, ///< Zero.
GPU_ONE = 1, ///< One.
GPU_SRC_COLOR = 2, ///< Source color.
GPU_ONE_MINUS_SRC_COLOR = 3, ///< Source color - 1.
GPU_DST_COLOR = 4, ///< Destination color.
GPU_ONE_MINUS_DST_COLOR = 5, ///< Destination color - 1.
GPU_SRC_ALPHA = 6, ///< Source alpha.
GPU_ONE_MINUS_SRC_ALPHA = 7, ///< Source alpha - 1.
GPU_DST_ALPHA = 8, ///< Destination alpha.
GPU_ONE_MINUS_DST_ALPHA = 9, ///< Destination alpha - 1.
GPU_CONSTANT_COLOR = 10, ///< Constant color.
GPU_ONE_MINUS_CONSTANT_COLOR = 11, ///< Constant color - 1.
GPU_CONSTANT_ALPHA = 12, ///< Constant alpha.
GPU_ONE_MINUS_CONSTANT_ALPHA = 13, ///< Constant alpha - 1.
GPU_SRC_ALPHA_SATURATE = 14, ///< Saturated alpha.
} GPU_BLENDFACTOR;
/// Logical operations.
typedef enum
{
GPU_LOGICOP_CLEAR = 0, ///< Clear.
GPU_LOGICOP_AND = 1, ///< Bitwise AND.
GPU_LOGICOP_AND_REVERSE = 2, ///< Reverse bitwise AND.
GPU_LOGICOP_COPY = 3, ///< Copy.
GPU_LOGICOP_SET = 4, ///< Set.
GPU_LOGICOP_COPY_INVERTED = 5, ///< Inverted copy.
GPU_LOGICOP_NOOP = 6, ///< No operation.
GPU_LOGICOP_INVERT = 7, ///< Invert.
GPU_LOGICOP_NAND = 8, ///< Bitwise NAND.
GPU_LOGICOP_OR = 9, ///< Bitwise OR.
GPU_LOGICOP_NOR = 10, ///< Bitwise NOR.
GPU_LOGICOP_XOR = 11, ///< Bitwise XOR.
GPU_LOGICOP_EQUIV = 12, ///< Equivalent.
GPU_LOGICOP_AND_INVERTED = 13, ///< Inverted bitwise AND.
GPU_LOGICOP_OR_REVERSE = 14, ///< Reverse bitwise OR.
GPU_LOGICOP_OR_INVERTED = 15, ///< Inverted bitwize OR.
} GPU_LOGICOP;
/// Fragment operation modes.
typedef enum
{
GPU_FRAGOPMODE_GL = 0, ///< OpenGL mode.
GPU_FRAGOPMODE_GAS_ACC = 1, ///< Gas mode (?).
GPU_FRAGOPMODE_SHADOW = 3, ///< Shadow mode (?).
} GPU_FRAGOPMODE;
/// Supported component formats.
typedef enum
{
GPU_BYTE = 0, ///< 8-bit byte.
GPU_UNSIGNED_BYTE = 1, ///< 8-bit unsigned byte.
GPU_SHORT = 2, ///< 16-bit short.
GPU_FLOAT = 3, ///< 32-bit float.
} GPU_FORMATS;
/// Cull modes.
typedef enum
{
GPU_CULL_NONE = 0, ///< Disabled.
GPU_CULL_FRONT_CCW = 1, ///< Front, counter-clockwise.
GPU_CULL_BACK_CCW = 2, ///< Back, counter-clockwise.
} GPU_CULLMODE;
/// Creates a VBO attribute parameter from its index, size, and format.
#define GPU_ATTRIBFMT(i, n, f) (((((n)-1)<<2)|((f)&3))<<((i)*4))
/// Texture combiner sources.
typedef enum
{
GPU_PRIMARY_COLOR = 0x00, ///< Primary color.
GPU_FRAGMENT_PRIMARY_COLOR = 0x01, ///< Primary fragment color.
GPU_FRAGMENT_SECONDARY_COLOR = 0x02, ///< Secondary fragment color.
GPU_TEXTURE0 = 0x03, ///< Texture unit 0.
GPU_TEXTURE1 = 0x04, ///< Texture unit 1.
GPU_TEXTURE2 = 0x05, ///< Texture unit 2.
GPU_TEXTURE3 = 0x06, ///< Texture unit 3.
GPU_PREVIOUS_BUFFER = 0x0D, ///< Previous buffer.
GPU_CONSTANT = 0x0E, ///< Constant value.
GPU_PREVIOUS = 0x0F, ///< Previous value.
} GPU_TEVSRC;
/// Texture RGB combiner operands.
typedef enum
{
GPU_TEVOP_RGB_SRC_COLOR = 0x00, ///< Source color.
GPU_TEVOP_RGB_ONE_MINUS_SRC_COLOR = 0x01, ///< Source color - 1.
GPU_TEVOP_RGB_SRC_ALPHA = 0x02, ///< Source alpha.
GPU_TEVOP_RGB_ONE_MINUS_SRC_ALPHA = 0x03, ///< Source alpha - 1.
GPU_TEVOP_RGB_SRC_R = 0x04, ///< Source red.
GPU_TEVOP_RGB_ONE_MINUS_SRC_R = 0x05, ///< Source red - 1.
GPU_TEVOP_RGB_0x06 = 0x06, ///< Unknown.
GPU_TEVOP_RGB_0x07 = 0x07, ///< Unknown.
GPU_TEVOP_RGB_SRC_G = 0x08, ///< Source green.
GPU_TEVOP_RGB_ONE_MINUS_SRC_G = 0x09, ///< Source green - 1.
GPU_TEVOP_RGB_0x0A = 0x0A, ///< Unknown.
GPU_TEVOP_RGB_0x0B = 0x0B, ///< Unknown.
GPU_TEVOP_RGB_SRC_B = 0x0C, ///< Source blue.
GPU_TEVOP_RGB_ONE_MINUS_SRC_B = 0x0D, ///< Source blue - 1.
GPU_TEVOP_RGB_0x0E = 0x0E, ///< Unknown.
GPU_TEVOP_RGB_0x0F = 0x0F, ///< Unknown.
} GPU_TEVOP_RGB;
/// Texture Alpha combiner operands.
typedef enum
{
GPU_TEVOP_A_SRC_ALPHA = 0x00, ///< Source alpha.
GPU_TEVOP_A_ONE_MINUS_SRC_ALPHA = 0x01, ///< Source alpha - 1.
GPU_TEVOP_A_SRC_R = 0x02, ///< Source red.
GPU_TEVOP_A_ONE_MINUS_SRC_R = 0x03, ///< Source red - 1.
GPU_TEVOP_A_SRC_G = 0x04, ///< Source green.
GPU_TEVOP_A_ONE_MINUS_SRC_G = 0x05, ///< Source green - 1.
GPU_TEVOP_A_SRC_B = 0x06, ///< Source blue.
GPU_TEVOP_A_ONE_MINUS_SRC_B = 0x07, ///< Source blue - 1.
} GPU_TEVOP_A;
/// Texture combiner functions.
typedef enum
{
GPU_REPLACE = 0x00, ///< Replace.
GPU_MODULATE = 0x01, ///< Modulate.
GPU_ADD = 0x02, ///< Add.
GPU_ADD_SIGNED = 0x03, ///< Signed add.
GPU_INTERPOLATE = 0x04, ///< Interpolate.
GPU_SUBTRACT = 0x05, ///< Subtract.
GPU_DOT3_RGB = 0x06, ///< Dot3. Scalar result is written to RGB only.
GPU_DOT3_RGBA = 0x07, ///< Dot3. Scalar result is written to RGBA.
GPU_MULTIPLY_ADD = 0x08, ///< Multiply then add.
GPU_ADD_MULTIPLY = 0x09, ///< Add then multiply.
} GPU_COMBINEFUNC;
/// Texture scale factors.
typedef enum
{
GPU_TEVSCALE_1 = 0x0, ///< 1x
GPU_TEVSCALE_2 = 0x1, ///< 2x
GPU_TEVSCALE_4 = 0x2, ///< 4x
} GPU_TEVSCALE;
/// Creates a texture combiner source parameter from three sources.
#define GPU_TEVSOURCES(a,b,c) (((a))|((b)<<4)|((c)<<8))
/// Creates a texture combiner operand parameter from three operands.
#define GPU_TEVOPERANDS(a,b,c) (((a))|((b)<<4)|((c)<<8))
/// Creates a light environment layer configuration parameter.
#define GPU_LIGHT_ENV_LAYER_CONFIG(n) ((n)+((n)==7))
/// Light shadow disable bits in GPUREG_LIGHT_CONFIG1.
#define GPU_LC1_SHADOWBIT(n) BIT(n)
/// Light spot disable bits in GPUREG_LIGHT_CONFIG1.
#define GPU_LC1_SPOTBIT(n) BIT((n)+8)
/// LUT disable bits in GPUREG_LIGHT_CONFIG1.
#define GPU_LC1_LUTBIT(n) BIT((n)+16)
/// Light distance attenuation disable bits in GPUREG_LIGHT_CONFIG1.
#define GPU_LC1_ATTNBIT(n) BIT((n)+24)
/// Creates a light permutation parameter.
#define GPU_LIGHTPERM(i,n) ((n) << ((i)*4))
/// Creates a light LUT input parameter.
#define GPU_LIGHTLUTINPUT(i,n) ((n) << ((i)*4))
/// Creates a light LUT index parameter.
#define GPU_LIGHTLUTIDX(c,i,o) ((o) | ((i) << 8) | ((c) << 11))
/// Creates a light color parameter from red, green, and blue components.
#define GPU_LIGHTCOLOR(r,g,b) (((b) & 0xFF) | (((g) << 10) & 0xFF) | (((r) << 20) & 0xFF))
/// Fresnel options.
typedef enum
{
GPU_NO_FRESNEL = 0, ///< None.
GPU_PRI_ALPHA_FRESNEL = 1, ///< Primary alpha.
GPU_SEC_ALPHA_FRESNEL = 2, ///< Secondary alpha.
GPU_PRI_SEC_ALPHA_FRESNEL = 3, ///< Primary and secondary alpha.
} GPU_FRESNELSEL;
/// Bump map modes.
typedef enum
{
GPU_BUMP_NOT_USED = 0, ///< Disabled.
GPU_BUMP_AS_BUMP = 1, ///< Bump as bump mapping.
GPU_BUMP_AS_TANG = 2, ///< Bump as tangent/normal mapping.
} GPU_BUMPMODE;
/// LUT IDs.
typedef enum
{
GPU_LUT_D0 = 0, ///< D0 LUT.
GPU_LUT_D1 = 1, ///< D1 LUT.
GPU_LUT_SP = 2, ///< Spotlight LUT.
GPU_LUT_FR = 3, ///< Fresnel LUT.
GPU_LUT_RB = 4, ///< Reflection-Blue LUT.
GPU_LUT_RG = 5, ///< Reflection-Green LUT.
GPU_LUT_RR = 6, ///< Reflection-Red LUT.
GPU_LUT_DA = 7, ///< Distance attenuation LUT.
} GPU_LIGHTLUTID;
/// LUT inputs.
typedef enum
{
GPU_LUTINPUT_NH = 0, ///< Normal*HalfVector
GPU_LUTINPUT_VH = 1, ///< View*HalfVector
GPU_LUTINPUT_NV = 2, ///< Normal*View
GPU_LUTINPUT_LN = 3, ///< LightVector*Normal
GPU_LUTINPUT_SP = 4, ///< -LightVector*SpotlightVector
GPU_LUTINPUT_CP = 5, ///< cosine of phi
} GPU_LIGHTLUTINPUT;
/// LUT scalers.
typedef enum
{
GPU_LUTSCALER_1x = 0, ///< 1x scale.
GPU_LUTSCALER_2x = 1, ///< 2x scale.
GPU_LUTSCALER_4x = 2, ///< 4x scale.
GPU_LUTSCALER_8x = 3, ///< 8x scale.
GPU_LUTSCALER_0_25x = 6, ///< 0.25x scale.
GPU_LUTSCALER_0_5x = 7, ///< 0.5x scale.
} GPU_LIGHTLUTSCALER;
/// LUT selection.
typedef enum
{
GPU_LUTSELECT_COMMON = 0, ///< LUTs that are common to all lights.
GPU_LUTSELECT_SP = 1, ///< Spotlight LUT.
GPU_LUTSELECT_DA = 2, ///< Distance attenuation LUT.
} GPU_LIGHTLUTSELECT;
/// Fog modes.
typedef enum
{
GPU_NO_FOG = 0, ///< Fog/Gas unit disabled.
GPU_FOG = 5, ///< Fog/Gas unit configured in Fog mode.
GPU_GAS = 7, ///< Fog/Gas unit configured in Gas mode.
} GPU_FOGMODE;
/// Gas shading density source values.
typedef enum
{
GPU_PLAIN_DENSITY = 0, ///< Plain density.
GPU_DEPTH_DENSITY = 1, ///< Depth density.
} GPU_GASMODE;
/// Gas color LUT inputs.
typedef enum
{
GPU_GAS_DENSITY = 0, ///< Gas density used as input.
GPU_GAS_LIGHT_FACTOR = 1, ///< Light factor used as input.
} GPU_GASLUTINPUT;
/// Supported primitives.
typedef enum
{
GPU_TRIANGLES = 0x0000, ///< Triangles.
GPU_TRIANGLE_STRIP = 0x0100, ///< Triangle strip.
GPU_TRIANGLE_FAN = 0x0200, ///< Triangle fan.
GPU_GEOMETRY_PRIM = 0x0300, ///< Geometry shader primitive.
} GPU_Primitive_t;
/// Shader types.
typedef enum
{
GPU_VERTEX_SHADER = 0x0, ///< Vertex shader.
GPU_GEOMETRY_SHADER = 0x1, ///< Geometry shader.
} GPU_SHADER_TYPE;
GPU_COMBINEFUNC
GPU_COMBINEFUNC
Texture combiner functions.
Definition: enums.h:364
GPU_DOT3_RGB
@ GPU_DOT3_RGB
Dot3. Scalar result is written to RGB only.
Definition: enums.h:371
GPU_ADD_SIGNED
@ GPU_ADD_SIGNED
Signed add.
Definition: enums.h:368
GPU_ADD
@ GPU_ADD
Add.
Definition: enums.h:367
GPU_REPLACE
@ GPU_REPLACE
Replace.
Definition: enums.h:365
GPU_SUBTRACT
@ GPU_SUBTRACT
Subtract.
Definition: enums.h:370
GPU_ADD_MULTIPLY
@ GPU_ADD_MULTIPLY
Add then multiply.
Definition: enums.h:374
GPU_MULTIPLY_ADD
@ GPU_MULTIPLY_ADD
Multiply then add.
Definition: enums.h:373
GPU_DOT3_RGBA
@ GPU_DOT3_RGBA
Dot3. Scalar result is written to RGBA.
Definition: enums.h:372
GPU_INTERPOLATE
@ GPU_INTERPOLATE
Interpolate.
Definition: enums.h:369
GPU_MODULATE
@ GPU_MODULATE
Modulate.
Definition: enums.h:366
GPU_TEVSCALE
GPU_TEVSCALE
Texture scale factors.
Definition: enums.h:379
GPU_TEVSCALE_2
@ GPU_TEVSCALE_2
2x
Definition: enums.h:381
GPU_TEVSCALE_1
@ GPU_TEVSCALE_1
1x
Definition: enums.h:380
GPU_TEVSCALE_4
@ GPU_TEVSCALE_4
4x
Definition: enums.h:382
GPU_TEVOP_RGB
GPU_TEVOP_RGB
Texture RGB combiner operands.
Definition: enums.h:330
GPU_TEVOP_RGB_0x07
@ GPU_TEVOP_RGB_0x07
Unknown.
Definition: enums.h:338
GPU_TEVOP_RGB_0x0B
@ GPU_TEVOP_RGB_0x0B
Unknown.
Definition: enums.h:342
GPU_TEVOP_RGB_0x0E
@ GPU_TEVOP_RGB_0x0E
Unknown.
Definition: enums.h:345
GPU_TEVOP_RGB_SRC_COLOR
@ GPU_TEVOP_RGB_SRC_COLOR
Source color.
Definition: enums.h:331
GPU_TEVOP_RGB_ONE_MINUS_SRC_G
@ GPU_TEVOP_RGB_ONE_MINUS_SRC_G
Source green - 1.
Definition: enums.h:340
GPU_TEVOP_RGB_SRC_B
@ GPU_TEVOP_RGB_SRC_B
Source blue.
Definition: enums.h:343
GPU_TEVOP_RGB_0x0F
@ GPU_TEVOP_RGB_0x0F
Unknown.
Definition: enums.h:346
GPU_TEVOP_RGB_0x0A
@ GPU_TEVOP_RGB_0x0A
Unknown.
Definition: enums.h:341
GPU_TEVOP_RGB_0x06
@ GPU_TEVOP_RGB_0x06
Unknown.
Definition: enums.h:337
GPU_TEVOP_RGB_ONE_MINUS_SRC_COLOR
@ GPU_TEVOP_RGB_ONE_MINUS_SRC_COLOR
Source color - 1.
Definition: enums.h:332
GPU_TEVOP_RGB_ONE_MINUS_SRC_R
@ GPU_TEVOP_RGB_ONE_MINUS_SRC_R
Source red - 1.
Definition: enums.h:336
GPU_TEVOP_RGB_ONE_MINUS_SRC_B
@ GPU_TEVOP_RGB_ONE_MINUS_SRC_B
Source blue - 1.
Definition: enums.h:344
GPU_TEVOP_RGB_SRC_R
@ GPU_TEVOP_RGB_SRC_R
Source red.
Definition: enums.h:335
GPU_TEVOP_RGB_SRC_ALPHA
@ GPU_TEVOP_RGB_SRC_ALPHA
Source alpha.
Definition: enums.h:333
GPU_TEVOP_RGB_ONE_MINUS_SRC_ALPHA
@ GPU_TEVOP_RGB_ONE_MINUS_SRC_ALPHA
Source alpha - 1.
Definition: enums.h:334
GPU_TEVOP_RGB_SRC_G
@ GPU_TEVOP_RGB_SRC_G
Source green.
Definition: enums.h:339
GPU_FRESNELSEL
GPU_FRESNELSEL
Fresnel options.
Definition: enums.h:411
GPU_PRI_SEC_ALPHA_FRESNEL
@ GPU_PRI_SEC_ALPHA_FRESNEL
Primary and secondary alpha.
Definition: enums.h:415
GPU_SEC_ALPHA_FRESNEL
@ GPU_SEC_ALPHA_FRESNEL
Secondary alpha.
Definition: enums.h:414
GPU_NO_FRESNEL
@ GPU_NO_FRESNEL
None.
Definition: enums.h:412
GPU_PRI_ALPHA_FRESNEL
@ GPU_PRI_ALPHA_FRESNEL
Primary alpha.
Definition: enums.h:413
GPU_SHADER_TYPE
GPU_SHADER_TYPE
Shader types.
Definition: enums.h:502
GPU_GEOMETRY_SHADER
@ GPU_GEOMETRY_SHADER
Geometry shader.
Definition: enums.h:504
GPU_VERTEX_SHADER
@ GPU_VERTEX_SHADER
Vertex shader.
Definition: enums.h:503
GPU_COLORBUF
GPU_COLORBUF
Supported color buffer formats.
Definition: enums.h:149
GPU_RB_RGBA8
@ GPU_RB_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:150
GPU_RB_RGB565
@ GPU_RB_RGB565
5-bit Red + 6-bit Green + 5-bit Blue
Definition: enums.h:153
GPU_RB_RGBA4
@ GPU_RB_RGBA4
4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
Definition: enums.h:154
GPU_RB_RGB8
@ GPU_RB_RGB8
8-bit Red + 8-bit Green + 8-bit Blue
Definition: enums.h:151
GPU_RB_RGBA5551
@ GPU_RB_RGBA5551
5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
Definition: enums.h:152
GPU_FOGMODE
GPU_FOGMODE
Fog modes.
Definition: enums.h:471
GPU_GAS
@ GPU_GAS
Fog/Gas unit configured in Gas mode.
Definition: enums.h:474
GPU_NO_FOG
@ GPU_NO_FOG
Fog/Gas unit disabled.
Definition: enums.h:472
GPU_FOG
@ GPU_FOG
Fog/Gas unit configured in Fog mode.
Definition: enums.h:473
GPU_LIGHTLUTID
GPU_LIGHTLUTID
LUT IDs.
Definition: enums.h:428
GPU_LUT_RB
@ GPU_LUT_RB
Reflection-Blue LUT.
Definition: enums.h:433
GPU_LUT_RG
@ GPU_LUT_RG
Reflection-Green LUT.
Definition: enums.h:434
GPU_LUT_RR
@ GPU_LUT_RR
Reflection-Red LUT.
Definition: enums.h:435
GPU_LUT_D1
@ GPU_LUT_D1
D1 LUT.
Definition: enums.h:430
GPU_LUT_SP
@ GPU_LUT_SP
Spotlight LUT.
Definition: enums.h:431
GPU_LUT_DA
@ GPU_LUT_DA
Distance attenuation LUT.
Definition: enums.h:436
GPU_LUT_FR
@ GPU_LUT_FR
Fresnel LUT.
Definition: enums.h:432
GPU_LUT_D0
@ GPU_LUT_D0
D0 LUT.
Definition: enums.h:429
GPU_BLENDFACTOR
GPU_BLENDFACTOR
Blend factors.
Definition: enums.h:246
GPU_CONSTANT_ALPHA
@ GPU_CONSTANT_ALPHA
Constant alpha.
Definition: enums.h:259
GPU_SRC_ALPHA_SATURATE
@ GPU_SRC_ALPHA_SATURATE
Saturated alpha.
Definition: enums.h:261
GPU_CONSTANT_COLOR
@ GPU_CONSTANT_COLOR
Constant color.
Definition: enums.h:257
GPU_ONE_MINUS_CONSTANT_ALPHA
@ GPU_ONE_MINUS_CONSTANT_ALPHA
Constant alpha - 1.
Definition: enums.h:260
GPU_ONE_MINUS_SRC_COLOR
@ GPU_ONE_MINUS_SRC_COLOR
Source color - 1.
Definition: enums.h:250
GPU_ONE_MINUS_SRC_ALPHA
@ GPU_ONE_MINUS_SRC_ALPHA
Source alpha - 1.
Definition: enums.h:254
GPU_ONE
@ GPU_ONE
One.
Definition: enums.h:248
GPU_DST_ALPHA
@ GPU_DST_ALPHA
Destination alpha.
Definition: enums.h:255
GPU_ONE_MINUS_DST_ALPHA
@ GPU_ONE_MINUS_DST_ALPHA
Destination alpha - 1.
Definition: enums.h:256
GPU_ZERO
@ GPU_ZERO
Zero.
Definition: enums.h:247
GPU_ONE_MINUS_DST_COLOR
@ GPU_ONE_MINUS_DST_COLOR
Destination color - 1.
Definition: enums.h:252
GPU_ONE_MINUS_CONSTANT_COLOR
@ GPU_ONE_MINUS_CONSTANT_COLOR
Constant color - 1.
Definition: enums.h:258
GPU_DST_COLOR
@ GPU_DST_COLOR
Destination color.
Definition: enums.h:251
GPU_SRC_ALPHA
@ GPU_SRC_ALPHA
Source alpha.
Definition: enums.h:253
GPU_SRC_COLOR
@ GPU_SRC_COLOR
Source color.
Definition: enums.h:249
GPU_TEXTURE_FILTER_PARAM
GPU_TEXTURE_FILTER_PARAM
Texture filters.
Definition: enums.h:29
GPU_LINEAR
@ GPU_LINEAR
Linear interpolation.
Definition: enums.h:31
GPU_NEAREST
@ GPU_NEAREST
Nearest-neighbor interpolation.
Definition: enums.h:30
GPU_TEXFACE
GPU_TEXFACE
Texture faces.
Definition: enums.h:83
GPU_NEGATIVE_Y
@ GPU_NEGATIVE_Y
-Y face
Definition: enums.h:88
GPU_NEGATIVE_Z
@ GPU_NEGATIVE_Z
-Z face
Definition: enums.h:90
GPU_NEGATIVE_X
@ GPU_NEGATIVE_X
-X face
Definition: enums.h:86
GPU_POSITIVE_Y
@ GPU_POSITIVE_Y
+Y face
Definition: enums.h:87
GPU_TEXFACE_2D
@ GPU_TEXFACE_2D
2D face
Definition: enums.h:84
GPU_POSITIVE_X
@ GPU_POSITIVE_X
+X face
Definition: enums.h:85
GPU_POSITIVE_Z
@ GPU_POSITIVE_Z
+Z face
Definition: enums.h:89
GPU_TEVOP_A
GPU_TEVOP_A
Texture Alpha combiner operands.
Definition: enums.h:351
GPU_TEVOP_A_SRC_R
@ GPU_TEVOP_A_SRC_R
Source red.
Definition: enums.h:354
GPU_TEVOP_A_SRC_G
@ GPU_TEVOP_A_SRC_G
Source green.
Definition: enums.h:356
GPU_TEVOP_A_SRC_B
@ GPU_TEVOP_A_SRC_B
Source blue.
Definition: enums.h:358
GPU_TEVOP_A_SRC_ALPHA
@ GPU_TEVOP_A_SRC_ALPHA
Source alpha.
Definition: enums.h:352
GPU_TEVOP_A_ONE_MINUS_SRC_B
@ GPU_TEVOP_A_ONE_MINUS_SRC_B
Source blue - 1.
Definition: enums.h:359
GPU_TEVOP_A_ONE_MINUS_SRC_ALPHA
@ GPU_TEVOP_A_ONE_MINUS_SRC_ALPHA
Source alpha - 1.
Definition: enums.h:353
GPU_TEVOP_A_ONE_MINUS_SRC_R
@ GPU_TEVOP_A_ONE_MINUS_SRC_R
Source red - 1.
Definition: enums.h:355
GPU_TEVOP_A_ONE_MINUS_SRC_G
@ GPU_TEVOP_A_ONE_MINUS_SRC_G
Source green - 1.
Definition: enums.h:357
GPU_FORMATS
GPU_FORMATS
Supported component formats.
Definition: enums.h:295
GPU_SHORT
@ GPU_SHORT
16-bit short.
Definition: enums.h:298
GPU_BYTE
@ GPU_BYTE
8-bit byte.
Definition: enums.h:296
GPU_UNSIGNED_BYTE
@ GPU_UNSIGNED_BYTE
8-bit unsigned byte.
Definition: enums.h:297
GPU_FLOAT
@ GPU_FLOAT
32-bit float.
Definition: enums.h:299
GPU_SCISSORMODE
GPU_SCISSORMODE
Scissor test modes.
Definition: enums.h:201
GPU_SCISSOR_INVERT
@ GPU_SCISSOR_INVERT
Exclude pixels inside the scissor box.
Definition: enums.h:203
GPU_SCISSOR_NORMAL
@ GPU_SCISSOR_NORMAL
Exclude pixels outside of the scissor box.
Definition: enums.h:205
GPU_SCISSOR_DISABLE
@ GPU_SCISSOR_DISABLE
Disable.
Definition: enums.h:202
GPU_PROCTEX_FILTER
GPU_PROCTEX_FILTER
Procedural texture filter values.
Definition: enums.h:128
GPU_PT_NEAREST_MIP_LINEAR
@ GPU_PT_NEAREST_MIP_LINEAR
Nearest-neighbor with mipmap using linear interpolation.
Definition: enums.h:133
GPU_PT_LINEAR
@ GPU_PT_LINEAR
Linear interpolation.
Definition: enums.h:130
GPU_PT_NEAREST_MIP_NEAREST
@ GPU_PT_NEAREST_MIP_NEAREST
Nearest-neighbor with mipmap using nearest-neighbor.
Definition: enums.h:131
GPU_PT_NEAREST
@ GPU_PT_NEAREST
Nearest-neighbor.
Definition: enums.h:129
GPU_PT_LINEAR_MIP_NEAREST
@ GPU_PT_LINEAR_MIP_NEAREST
Linear interpolation with mipmap using nearest-neighbor.
Definition: enums.h:132
GPU_PT_LINEAR_MIP_LINEAR
@ GPU_PT_LINEAR_MIP_LINEAR
Linear interpolation with mipmap using linear interpolation.
Definition: enums.h:134
GPU_TEVSRC
GPU_TEVSRC
Texture combiner sources.
Definition: enums.h:315
GPU_FRAGMENT_PRIMARY_COLOR
@ GPU_FRAGMENT_PRIMARY_COLOR
Primary fragment color.
Definition: enums.h:317
GPU_PREVIOUS
@ GPU_PREVIOUS
Previous value.
Definition: enums.h:325
GPU_TEXTURE2
@ GPU_TEXTURE2
Texture unit 2.
Definition: enums.h:321
GPU_PREVIOUS_BUFFER
@ GPU_PREVIOUS_BUFFER
Previous buffer.
Definition: enums.h:323
GPU_CONSTANT
@ GPU_CONSTANT
Constant value.
Definition: enums.h:324
GPU_PRIMARY_COLOR
@ GPU_PRIMARY_COLOR
Primary color.
Definition: enums.h:316
GPU_TEXTURE3
@ GPU_TEXTURE3
Texture unit 3.
Definition: enums.h:322
GPU_FRAGMENT_SECONDARY_COLOR
@ GPU_FRAGMENT_SECONDARY_COLOR
Secondary fragment color.
Definition: enums.h:318
GPU_TEXTURE0
@ GPU_TEXTURE0
Texture unit 0.
Definition: enums.h:319
GPU_TEXTURE1
@ GPU_TEXTURE1
Texture unit 1.
Definition: enums.h:320
GPU_TEXUNIT
GPU_TEXUNIT
Supported texture units.
Definition: enums.h:56
GPU_TEXUNIT0
@ GPU_TEXUNIT0
Texture unit 0.
Definition: enums.h:57
GPU_TEXUNIT1
@ GPU_TEXUNIT1
Texture unit 1.
Definition: enums.h:58
GPU_TEXUNIT2
@ GPU_TEXUNIT2
Texture unit 2.
Definition: enums.h:59
GPU_LOGICOP
GPU_LOGICOP
Logical operations.
Definition: enums.h:266
GPU_LOGICOP_AND_REVERSE
@ GPU_LOGICOP_AND_REVERSE
Reverse bitwise AND.
Definition: enums.h:269
GPU_LOGICOP_XOR
@ GPU_LOGICOP_XOR
Bitwise XOR.
Definition: enums.h:278
GPU_LOGICOP_OR
@ GPU_LOGICOP_OR
Bitwise OR.
Definition: enums.h:276
GPU_LOGICOP_COPY_INVERTED
@ GPU_LOGICOP_COPY_INVERTED
Inverted copy.
Definition: enums.h:272
GPU_LOGICOP_OR_REVERSE
@ GPU_LOGICOP_OR_REVERSE
Reverse bitwise OR.
Definition: enums.h:281
GPU_LOGICOP_SET
@ GPU_LOGICOP_SET
Set.
Definition: enums.h:271
GPU_LOGICOP_AND
@ GPU_LOGICOP_AND
Bitwise AND.
Definition: enums.h:268
GPU_LOGICOP_NAND
@ GPU_LOGICOP_NAND
Bitwise NAND.
Definition: enums.h:275
GPU_LOGICOP_OR_INVERTED
@ GPU_LOGICOP_OR_INVERTED
Inverted bitwize OR.
Definition: enums.h:282
GPU_LOGICOP_CLEAR
@ GPU_LOGICOP_CLEAR
Clear.
Definition: enums.h:267
GPU_LOGICOP_EQUIV
@ GPU_LOGICOP_EQUIV
Equivalent.
Definition: enums.h:279
GPU_LOGICOP_NOOP
@ GPU_LOGICOP_NOOP
No operation.
Definition: enums.h:273
GPU_LOGICOP_COPY
@ GPU_LOGICOP_COPY
Copy.
Definition: enums.h:270
GPU_LOGICOP_INVERT
@ GPU_LOGICOP_INVERT
Invert.
Definition: enums.h:274
GPU_LOGICOP_AND_INVERTED
@ GPU_LOGICOP_AND_INVERTED
Inverted bitwise AND.
Definition: enums.h:280
GPU_LOGICOP_NOR
@ GPU_LOGICOP_NOR
Bitwise NOR.
Definition: enums.h:277
GPU_BUMPMODE
GPU_BUMPMODE
Bump map modes.
Definition: enums.h:420
GPU_BUMP_NOT_USED
@ GPU_BUMP_NOT_USED
Disabled.
Definition: enums.h:421
GPU_BUMP_AS_BUMP
@ GPU_BUMP_AS_BUMP
Bump as bump mapping.
Definition: enums.h:422
GPU_BUMP_AS_TANG
@ GPU_BUMP_AS_TANG
Bump as tangent/normal mapping.
Definition: enums.h:423
GPU_TEXTURE_MODE_PARAM
GPU_TEXTURE_MODE_PARAM
Texture modes.
Definition: enums.h:45
GPU_TEX_SHADOW_2D
@ GPU_TEX_SHADOW_2D
2D Shadow texture
Definition: enums.h:48
GPU_TEX_SHADOW_CUBE
@ GPU_TEX_SHADOW_CUBE
Shadow cube map.
Definition: enums.h:50
GPU_TEX_PROJECTION
@ GPU_TEX_PROJECTION
Projection texture.
Definition: enums.h:49
GPU_TEX_2D
@ GPU_TEX_2D
2D texture
Definition: enums.h:46
GPU_TEX_DISABLED
@ GPU_TEX_DISABLED
Disabled.
Definition: enums.h:51
GPU_TEX_CUBE_MAP
@ GPU_TEX_CUBE_MAP
Cube map.
Definition: enums.h:47
GPU_TEXCOLOR
GPU_TEXCOLOR
Supported texture formats.
Definition: enums.h:64
GPU_RGB565
@ GPU_RGB565
5-bit Red + 6-bit Green + 5-bit Blue
Definition: enums.h:68
GPU_RGB8
@ GPU_RGB8
8-bit Red + 8-bit Green + 8-bit Blue
Definition: enums.h:66
GPU_ETC1
@ GPU_ETC1
ETC1 texture compression.
Definition: enums.h:77
GPU_A8
@ GPU_A8
8-bit Alpha
Definition: enums.h:73
GPU_RGBA5551
@ GPU_RGBA5551
5-bit Red + 5-bit Green + 5-bit Blue + 1-bit Alpha
Definition: enums.h:67
GPU_LA8
@ GPU_LA8
8-bit Luminance + 8-bit Alpha
Definition: enums.h:70
GPU_A4
@ GPU_A4
4-bit Alpha
Definition: enums.h:76
GPU_HILO8
@ GPU_HILO8
8-bit Hi + 8-bit Lo
Definition: enums.h:71
GPU_ETC1A4
@ GPU_ETC1A4
ETC1 texture compression + 4-bit Alpha.
Definition: enums.h:78
GPU_LA4
@ GPU_LA4
4-bit Luminance + 4-bit Alpha
Definition: enums.h:74
GPU_RGBA4
@ GPU_RGBA4
4-bit Red + 4-bit Green + 4-bit Blue + 4-bit Alpha
Definition: enums.h:69
GPU_L4
@ GPU_L4
4-bit Luminance
Definition: enums.h:75
GPU_L8
@ GPU_L8
8-bit Luminance
Definition: enums.h:72
GPU_RGBA8
@ GPU_RGBA8
8-bit Red + 8-bit Green + 8-bit Blue + 8-bit Alpha
Definition: enums.h:65
GPU_PROCTEX_SHIFT
GPU_PROCTEX_SHIFT
Procedural texture shift values.
Definition: enums.h:120
GPU_PT_EVEN
@ GPU_PT_EVEN
Even shift.
Definition: enums.h:123
GPU_PT_ODD
@ GPU_PT_ODD
Odd shift.
Definition: enums.h:122
GPU_PT_NONE
@ GPU_PT_NONE
No shift.
Definition: enums.h:121
GPU_WRITEMASK
GPU_WRITEMASK
Pixel write mask.
Definition: enums.h:223
GPU_WRITE_RED
@ GPU_WRITE_RED
Write red.
Definition: enums.h:224
GPU_WRITE_GREEN
@ GPU_WRITE_GREEN
Write green.
Definition: enums.h:225
GPU_WRITE_BLUE
@ GPU_WRITE_BLUE
Write blue.
Definition: enums.h:226
GPU_WRITE_DEPTH
@ GPU_WRITE_DEPTH
Write depth.
Definition: enums.h:228
GPU_WRITE_COLOR
@ GPU_WRITE_COLOR
Write all color components.
Definition: enums.h:230
GPU_WRITE_ALL
@ GPU_WRITE_ALL
Write all components.
Definition: enums.h:231
GPU_WRITE_ALPHA
@ GPU_WRITE_ALPHA
Write alpha.
Definition: enums.h:227
GPU_GASDEPTHFUNC
GPU_GASDEPTHFUNC
Gas depth functions.
Definition: enums.h:189
GPU_GAS_GREATER
@ GPU_GAS_GREATER
Pass if greater than (1-X).
Definition: enums.h:192
GPU_GAS_ALWAYS
@ GPU_GAS_ALWAYS
Always pass (1).
Definition: enums.h:191
GPU_GAS_NEVER
@ GPU_GAS_NEVER
Never pass (0).
Definition: enums.h:190
GPU_GAS_LESS
@ GPU_GAS_LESS
Pass if less than (X).
Definition: enums.h:193
GPU_LIGHTLUTINPUT
#define GPU_LIGHTLUTINPUT(i, n)
Creates a light LUT input parameter.
Definition: enums.h:403
GPU_EARLYDEPTHFUNC
GPU_EARLYDEPTHFUNC
Early depth test functions.
Definition: enums.h:180
GPU_EARLYDEPTH_GREATER
@ GPU_EARLYDEPTH_GREATER
Pass if greater than.
Definition: enums.h:182
GPU_EARLYDEPTH_LESS
@ GPU_EARLYDEPTH_LESS
Pass if less than.
Definition: enums.h:184
GPU_EARLYDEPTH_LEQUAL
@ GPU_EARLYDEPTH_LEQUAL
Pass if less than or equal.
Definition: enums.h:183
GPU_EARLYDEPTH_GEQUAL
@ GPU_EARLYDEPTH_GEQUAL
Pass if greater than or equal.
Definition: enums.h:181
GPU_Primitive_t
GPU_Primitive_t
Supported primitives.
Definition: enums.h:493
GPU_TRIANGLE_FAN
@ GPU_TRIANGLE_FAN
Triangle fan.
Definition: enums.h:496
GPU_GEOMETRY_PRIM
@ GPU_GEOMETRY_PRIM
Geometry shader primitive.
Definition: enums.h:497
GPU_TRIANGLE_STRIP
@ GPU_TRIANGLE_STRIP
Triangle strip.
Definition: enums.h:495
GPU_TRIANGLES
@ GPU_TRIANGLES
Triangles.
Definition: enums.h:494
GPU_DEPTHBUF
GPU_DEPTHBUF
Supported depth buffer formats.
Definition: enums.h:159
GPU_RB_DEPTH24
@ GPU_RB_DEPTH24
24-bit Depth
Definition: enums.h:161
GPU_RB_DEPTH16
@ GPU_RB_DEPTH16
16-bit Depth
Definition: enums.h:160
GPU_RB_DEPTH24_STENCIL8
@ GPU_RB_DEPTH24_STENCIL8
24-bit Depth + 8-bit Stencil
Definition: enums.h:162
GPU_FRAGOPMODE
GPU_FRAGOPMODE
Fragment operation modes.
Definition: enums.h:287
GPU_FRAGOPMODE_GL
@ GPU_FRAGOPMODE_GL
OpenGL mode.
Definition: enums.h:288
GPU_FRAGOPMODE_SHADOW
@ GPU_FRAGOPMODE_SHADOW
Shadow mode (?).
Definition: enums.h:290
GPU_FRAGOPMODE_GAS_ACC
@ GPU_FRAGOPMODE_GAS_ACC
Gas mode (?).
Definition: enums.h:289
GPU_STENCILOP
GPU_STENCILOP
Stencil operations.
Definition: enums.h:210
GPU_STENCIL_ZERO
@ GPU_STENCIL_ZERO
Zero. (0)
Definition: enums.h:212
GPU_STENCIL_KEEP
@ GPU_STENCIL_KEEP
Keep old value. (old_stencil)
Definition: enums.h:211
GPU_STENCIL_INVERT
@ GPU_STENCIL_INVERT
Invert value. (~old_stencil)
Definition: enums.h:216
GPU_STENCIL_INCR
@ GPU_STENCIL_INCR
Increment value. (old_stencil + 1 saturated to [0, 255])
Definition: enums.h:214
GPU_STENCIL_INCR_WRAP
@ GPU_STENCIL_INCR_WRAP
Increment value. (old_stencil + 1)
Definition: enums.h:217
GPU_STENCIL_REPLACE
@ GPU_STENCIL_REPLACE
Replace value. (ref)
Definition: enums.h:213
GPU_STENCIL_DECR
@ GPU_STENCIL_DECR
Decrement value. (old_stencil - 1 saturated to [0, 255])
Definition: enums.h:215
GPU_STENCIL_DECR_WRAP
@ GPU_STENCIL_DECR_WRAP
Decrement value. (old_stencil - 1)
Definition: enums.h:218
GPU_PROCTEX_LUTID
GPU_PROCTEX_LUTID
Procedural texture LUT IDs.
Definition: enums.h:139
GPU_LUT_NOISE
@ GPU_LUT_NOISE
Noise table.
Definition: enums.h:140
GPU_LUT_ALPHAMAP
@ GPU_LUT_ALPHAMAP
Alpha mapping function table.
Definition: enums.h:142
GPU_LUT_COLOR
@ GPU_LUT_COLOR
Color table.
Definition: enums.h:143
GPU_LUT_RGBMAP
@ GPU_LUT_RGBMAP
RGB mapping function table.
Definition: enums.h:141
GPU_LUT_COLORDIF
@ GPU_LUT_COLORDIF
Color difference table.
Definition: enums.h:144
GPU_LUTINPUT_NV
@ GPU_LUTINPUT_NV
Normal*View.
Definition: enums.h:444
GPU_LUTINPUT_LN
@ GPU_LUTINPUT_LN
LightVector*Normal.
Definition: enums.h:445
GPU_LUTINPUT_CP
@ GPU_LUTINPUT_CP
cosine of phi
Definition: enums.h:447
GPU_LUTINPUT_SP
@ GPU_LUTINPUT_SP
-LightVector*SpotlightVector
Definition: enums.h:446
GPU_LUTINPUT_NH
@ GPU_LUTINPUT_NH
Normal*HalfVector.
Definition: enums.h:442
GPU_LUTINPUT_VH
@ GPU_LUTINPUT_VH
View*HalfVector.
Definition: enums.h:443
GPU_PROCTEX_CLAMP
GPU_PROCTEX_CLAMP
Procedural texture clamp modes.
Definition: enums.h:95
GPU_PT_CLAMP_TO_EDGE
@ GPU_PT_CLAMP_TO_EDGE
Clamp to edge.
Definition: enums.h:97
GPU_PT_CLAMP_TO_ZERO
@ GPU_PT_CLAMP_TO_ZERO
Clamp to zero.
Definition: enums.h:96
GPU_PT_MIRRORED_REPEAT
@ GPU_PT_MIRRORED_REPEAT
Mirrored repeat.
Definition: enums.h:99
GPU_PT_REPEAT
@ GPU_PT_REPEAT
Symmetrical repeat.
Definition: enums.h:98
GPU_PT_PULSE
@ GPU_PT_PULSE
Pulse.
Definition: enums.h:100
GPU_TEXTURE_WRAP_PARAM
GPU_TEXTURE_WRAP_PARAM
Texture wrap modes.
Definition: enums.h:36
GPU_REPEAT
@ GPU_REPEAT
Repeats texture.
Definition: enums.h:39
GPU_CLAMP_TO_BORDER
@ GPU_CLAMP_TO_BORDER
Clamps to border.
Definition: enums.h:38
GPU_CLAMP_TO_EDGE
@ GPU_CLAMP_TO_EDGE
Clamps to edge.
Definition: enums.h:37
GPU_MIRRORED_REPEAT
@ GPU_MIRRORED_REPEAT
Repeats with mirrored texture.
Definition: enums.h:40
GPU_GASMODE
GPU_GASMODE
Gas shading density source values.
Definition: enums.h:479
GPU_DEPTH_DENSITY
@ GPU_DEPTH_DENSITY
Depth density.
Definition: enums.h:481
GPU_PLAIN_DENSITY
@ GPU_PLAIN_DENSITY
Plain density.
Definition: enums.h:480
GPU_LIGHTLUTSELECT
GPU_LIGHTLUTSELECT
LUT selection.
Definition: enums.h:463
GPU_LUTSELECT_DA
@ GPU_LUTSELECT_DA
Distance attenuation LUT.
Definition: enums.h:466
GPU_LUTSELECT_COMMON
@ GPU_LUTSELECT_COMMON
LUTs that are common to all lights.
Definition: enums.h:464
GPU_LUTSELECT_SP
@ GPU_LUTSELECT_SP
Spotlight LUT.
Definition: enums.h:465
GPU_TESTFUNC
GPU_TESTFUNC
Test functions.
Definition: enums.h:167
GPU_GEQUAL
@ GPU_GEQUAL
Pass if greater than or equal.
Definition: enums.h:175
GPU_NEVER
@ GPU_NEVER
Never pass.
Definition: enums.h:168
GPU_ALWAYS
@ GPU_ALWAYS
Always pass.
Definition: enums.h:169
GPU_EQUAL
@ GPU_EQUAL
Pass if equal.
Definition: enums.h:170
GPU_LEQUAL
@ GPU_LEQUAL
Pass if less than or equal.
Definition: enums.h:173
GPU_LESS
@ GPU_LESS
Pass if less than.
Definition: enums.h:172
GPU_GREATER
@ GPU_GREATER
Pass if greater than.
Definition: enums.h:174
GPU_NOTEQUAL
@ GPU_NOTEQUAL
Pass if not equal.
Definition: enums.h:171
GPU_GASLUTINPUT
GPU_GASLUTINPUT
Gas color LUT inputs.
Definition: enums.h:486
GPU_GAS_LIGHT_FACTOR
@ GPU_GAS_LIGHT_FACTOR
Light factor used as input.
Definition: enums.h:488
GPU_GAS_DENSITY
@ GPU_GAS_DENSITY
Gas density used as input.
Definition: enums.h:487
GPU_BLENDEQUATION
GPU_BLENDEQUATION
Blend modes.
Definition: enums.h:236
GPU_BLEND_ADD
@ GPU_BLEND_ADD
Add colors.
Definition: enums.h:237
GPU_BLEND_MIN
@ GPU_BLEND_MIN
Use the minimum color.
Definition: enums.h:240
GPU_BLEND_MAX
@ GPU_BLEND_MAX
Use the maximum color.
Definition: enums.h:241
GPU_BLEND_SUBTRACT
@ GPU_BLEND_SUBTRACT
Subtract colors.
Definition: enums.h:238
GPU_BLEND_REVERSE_SUBTRACT
@ GPU_BLEND_REVERSE_SUBTRACT
Reverse-subtract colors.
Definition: enums.h:239
GPU_CULLMODE
GPU_CULLMODE
Cull modes.
Definition: enums.h:304
GPU_CULL_FRONT_CCW
@ GPU_CULL_FRONT_CCW
Front, counter-clockwise.
Definition: enums.h:306
GPU_CULL_BACK_CCW
@ GPU_CULL_BACK_CCW
Back, counter-clockwise.
Definition: enums.h:307
GPU_CULL_NONE
@ GPU_CULL_NONE
Disabled.
Definition: enums.h:305
GPU_PROCTEX_MAPFUNC
GPU_PROCTEX_MAPFUNC
Procedural texture mapping functions.
Definition: enums.h:105
GPU_PT_U
@ GPU_PT_U
U.
Definition: enums.h:106
GPU_PT_ADD
@ GPU_PT_ADD
U+V.
Definition: enums.h:110
GPU_PT_ADD2
@ GPU_PT_ADD2
U2+V2.
Definition: enums.h:111
GPU_PT_MIN
@ GPU_PT_MIN
min
Definition: enums.h:113
GPU_PT_RMAX
@ GPU_PT_RMAX
rmax
Definition: enums.h:115
GPU_PT_SQRT2
@ GPU_PT_SQRT2
sqrt(U2+V2)
Definition: enums.h:112
GPU_PT_U2
@ GPU_PT_U2
U2.
Definition: enums.h:107
GPU_PT_V2
@ GPU_PT_V2
V2.
Definition: enums.h:109
GPU_PT_V
@ GPU_PT_V
V.
Definition: enums.h:108
GPU_PT_MAX
@ GPU_PT_MAX
max
Definition: enums.h:114
GPU_LIGHTLUTSCALER
GPU_LIGHTLUTSCALER
LUT scalers.
Definition: enums.h:452
GPU_LUTSCALER_4x
@ GPU_LUTSCALER_4x
4x scale.
Definition: enums.h:455
GPU_LUTSCALER_0_5x
@ GPU_LUTSCALER_0_5x
0.5x scale.
Definition: enums.h:458
GPU_LUTSCALER_2x
@ GPU_LUTSCALER_2x
2x scale.
Definition: enums.h:454
GPU_LUTSCALER_0_25x
@ GPU_LUTSCALER_0_25x
0.25x scale.
Definition: enums.h:457
GPU_LUTSCALER_8x
@ GPU_LUTSCALER_8x
8x scale.
Definition: enums.h:456
GPU_LUTSCALER_1x
@ GPU_LUTSCALER_1x
1x scale.
Definition: enums.h:453