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