acb16cf046f102e6245a12ebaf3ed3f1eb533afd
[blender.git] / source / gameengine / Rasterizer / RAS_OpenGLRasterizer / ARB_multitexture.h
1 #ifndef __ARB_MULTITEXTURE_H__
2 #define __ARB_MULTITEXTURE_H__
3
4 /**
5         Comment out defines GL_... 1, to disable compilation of each extension.
6         GL_ARB_multitexture is the minimum for using blender material settings.
7         For best functionality (GL_ARB_multitexture & GL_ARB_texture_env_combine) are needed.
8 */
9
10 /* ----------------------------------------------------------------------------
11         GL_ARB_multitexture
12 ---------------------------------------------------------------------------- */
13 #ifndef GL_ARB_multitexture
14         #define GL_ARB_multitexture 1
15 #endif
16
17 #ifdef GL_ARB_multitexture
18         #define GL_TEXTURE0_ARB                   0x84C0
19         #define GL_TEXTURE1_ARB                   0x84C1
20         #define GL_TEXTURE2_ARB                   0x84C2
21         #define GL_TEXTURE3_ARB                   0x84C3
22         #define GL_TEXTURE4_ARB                   0x84C4
23         #define GL_TEXTURE5_ARB                   0x84C5
24         #define GL_TEXTURE6_ARB                   0x84C6
25         #define GL_TEXTURE7_ARB                   0x84C7
26         #define GL_TEXTURE8_ARB                   0x84C8
27         #define GL_TEXTURE9_ARB                   0x84C9
28         #define GL_TEXTURE10_ARB                  0x84CA
29         #define GL_ACTIVE_TEXTURE_ARB             0x84E0
30         #define GL_CLIENT_ACTIVE_TEXTURE_ARB      0x84E1
31         #define GL_MAX_TEXTURE_UNITS_ARB          0x84E2
32 #endif
33
34
35 /* ----------------------------------------------------------------------------
36         GL_ARB_texture_env_combine
37 ---------------------------------------------------------------------------- */
38 #ifndef GL_ARB_texture_env_combine
39         #define GL_ARB_texture_env_combine 1
40 #endif
41
42 #ifdef GL_ARB_texture_env_combine
43         #define GL_COMBINE_ARB                    0x8570
44         #define GL_COMBINE_RGB_ARB                0x8571
45         #define GL_COMBINE_ALPHA_ARB              0x8572
46         #define GL_SOURCE0_RGB_ARB                0x8580
47         #define GL_SOURCE1_RGB_ARB                0x8581
48         #define GL_SOURCE2_RGB_ARB                0x8582
49         #define GL_SOURCE0_ALPHA_ARB              0x8588
50         #define GL_SOURCE1_ALPHA_ARB              0x8589
51         #define GL_SOURCE2_ALPHA_ARB              0x858A
52         #define GL_OPERAND0_RGB_ARB               0x8590
53         #define GL_OPERAND1_RGB_ARB               0x8591
54         #define GL_OPERAND2_RGB_ARB               0x8592
55         #define GL_OPERAND0_ALPHA_ARB             0x8598
56         #define GL_OPERAND1_ALPHA_ARB             0x8599
57         #define GL_OPERAND2_ALPHA_ARB             0x859A
58         #define GL_RGB_SCALE_ARB                  0x8573
59         #define GL_ADD_SIGNED_ARB                 0x8574
60         #define GL_INTERPOLATE_ARB                0x8575
61         #define GL_SUBTRACT_ARB                   0x84E7
62         #define GL_CONSTANT_ARB                   0x8576
63         #define GL_PRIMARY_COLOR_ARB              0x8577
64         #define GL_PREVIOUS_ARB                   0x8578
65 #endif
66
67 /* ----------------------------------------------------------------------------
68         GL_ARB_texture_cube_map
69 ---------------------------------------------------------------------------- */
70 #ifndef GL_ARB_texture_cube_map
71         #define GL_ARB_texture_cube_map 1
72 #endif
73
74 #ifdef GL_ARB_texture_cube_map
75         #define GL_NORMAL_MAP_ARB                 0x8511
76         #define GL_REFLECTION_MAP_ARB             0x8512
77         #define GL_TEXTURE_CUBE_MAP_ARB           0x8513
78         #define GL_TEXTURE_BINDING_CUBE_MAP_ARB   0x8514
79         #define GL_TEXTURE_CUBE_MAP_POSITIVE_X_ARB 0x8515
80         #define GL_TEXTURE_CUBE_MAP_NEGATIVE_X_ARB 0x8516
81         #define GL_TEXTURE_CUBE_MAP_POSITIVE_Y_ARB 0x8517
82         #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Y_ARB 0x8518
83         #define GL_TEXTURE_CUBE_MAP_POSITIVE_Z_ARB 0x8519
84         #define GL_TEXTURE_CUBE_MAP_NEGATIVE_Z_ARB 0x851A
85         #define GL_PROXY_TEXTURE_CUBE_MAP_ARB     0x851B
86         #define GL_MAX_CUBE_MAP_TEXTURE_SIZE_ARB  0x851C
87 #endif
88
89 /* ----------------------------------------------------------------------------
90         GL_ARB_shader_objects
91 ---------------------------------------------------------------------------- */
92 #ifndef GL_ARB_shader_objects
93         #define GL_ARB_shader_objects 1
94 #endif
95
96 #ifdef GL_ARB_shader_objects
97         #define GL_PROGRAM_OBJECT_ARB             0x8B40
98         #define GL_SHADER_OBJECT_ARB              0x8B48
99         #define GL_OBJECT_TYPE_ARB                0x8B4E
100         #define GL_OBJECT_SUBTYPE_ARB             0x8B4F
101         #define GL_FLOAT_VEC2_ARB                 0x8B50
102         #define GL_FLOAT_VEC3_ARB                 0x8B51
103         #define GL_FLOAT_VEC4_ARB                 0x8B52
104         #define GL_INT_VEC2_ARB                   0x8B53
105         #define GL_INT_VEC3_ARB                   0x8B54
106         #define GL_INT_VEC4_ARB                   0x8B55
107         #define GL_BOOL_ARB                       0x8B56
108         #define GL_BOOL_VEC2_ARB                  0x8B57
109         #define GL_BOOL_VEC3_ARB                  0x8B58
110         #define GL_BOOL_VEC4_ARB                  0x8B59
111         #define GL_FLOAT_MAT2_ARB                 0x8B5A
112         #define GL_FLOAT_MAT3_ARB                 0x8B5B
113         #define GL_FLOAT_MAT4_ARB                 0x8B5C
114         #define GL_SAMPLER_1D_ARB                 0x8B5D
115         #define GL_SAMPLER_2D_ARB                 0x8B5E
116         #define GL_SAMPLER_3D_ARB                 0x8B5F
117         #define GL_SAMPLER_CUBE_ARB               0x8B60
118         #define GL_SAMPLER_1D_SHADOW_ARB          0x8B61
119         #define GL_SAMPLER_2D_SHADOW_ARB          0x8B62
120         #define GL_SAMPLER_2D_RECT_ARB            0x8B63
121         #define GL_SAMPLER_2D_RECT_SHADOW_ARB     0x8B64
122         #define GL_OBJECT_DELETE_STATUS_ARB       0x8B80
123         #define GL_OBJECT_COMPILE_STATUS_ARB      0x8B81
124         #define GL_OBJECT_LINK_STATUS_ARB         0x8B82
125         #define GL_OBJECT_VALIDATE_STATUS_ARB     0x8B83
126         #define GL_OBJECT_INFO_LOG_LENGTH_ARB     0x8B84
127         #define GL_OBJECT_ATTACHED_OBJECTS_ARB    0x8B85
128         #define GL_OBJECT_ACTIVE_UNIFORMS_ARB     0x8B86
129         #define GL_OBJECT_ACTIVE_UNIFORM_MAX_LENGTH_ARB 0x8B87
130         #define GL_OBJECT_SHADER_SOURCE_LENGTH_ARB 0x8B88
131 #endif
132
133 /* ----------------------------------------------------------------------------
134         GL_ARB_vertex_shader
135 ---------------------------------------------------------------------------- */
136 #ifndef GL_ARB_vertex_shader
137         #define GL_ARB_vertex_shader 1
138 #endif
139
140 #ifdef GL_ARB_vertex_shader
141         #define GL_VERTEX_SHADER_ARB              0x8B31
142         #define GL_MAX_VERTEX_UNIFORM_COMPONENTS_ARB 0x8B4A
143         #define GL_MAX_VARYING_FLOATS_ARB         0x8B4B
144         #define GL_MAX_VERTEX_TEXTURE_IMAGE_UNITS_ARB 0x8B4C
145         #define GL_MAX_COMBINED_TEXTURE_IMAGE_UNITS_ARB 0x8B4D
146         #define GL_OBJECT_ACTIVE_ATTRIBUTES_ARB   0x8B89
147         #define GL_OBJECT_ACTIVE_ATTRIBUTE_MAX_LENGTH_ARB 0x8B8A
148 #endif
149
150
151 /* ----------------------------------------------------------------------------
152         GL_ARB_fragment_shader
153 ---------------------------------------------------------------------------- */
154 #ifndef GL_ARB_fragment_shader
155         #define GL_ARB_fragment_shader 1
156 #endif
157
158 #ifdef GL_ARB_fragment_shader
159         #define GL_FRAGMENT_SHADER_ARB            0x8B30
160         #define GL_MAX_FRAGMENT_UNIFORM_COMPONENTS_ARB 0x8B49
161         #define GL_FRAGMENT_SHADER_DERIVATIVE_HINT_ARB 0x8B8B
162 #endif
163
164 #endif//__ARB_MULTITEXTURE_H__