Details | Last modification | View Log | RSS feed
Rev | Author | Line No. | Line |
---|---|---|---|
4349 | Serge | 1 | #ifndef SHADER_UTIL_H |
2 | #define SHADER_UTIL_H |
||
3 | |||
4 | |||
5 | |||
6 | struct uniform_info |
||
7 | { |
||
8 | const char *name; |
||
9 | GLuint size; /**< number of value[] elements: 1, 2, 3 or 4 */ |
||
10 | GLenum type; /**< GL_FLOAT, GL_FLOAT_VEC4, GL_INT, etc */ |
||
11 | GLfloat value[4]; |
||
12 | GLint location; /**< filled in by InitUniforms() */ |
||
13 | }; |
||
14 | |||
15 | #define END_OF_UNIFORMS { NULL, 0, GL_NONE, { 0, 0, 0, 0 }, -1 } |
||
16 | |||
17 | |||
18 | struct attrib_info |
||
19 | { |
||
20 | const char *name; |
||
21 | GLuint size; /**< number of value[] elements: 1, 2, 3 or 4 */ |
||
22 | GLenum type; /**< GL_FLOAT, GL_FLOAT_VEC4, GL_INT, etc */ |
||
23 | GLint location; |
||
24 | }; |
||
25 | |||
26 | |||
27 | extern GLboolean |
||
28 | ShadersSupported(void); |
||
29 | |||
30 | extern GLuint |
||
31 | CompileShaderText(GLenum shaderType, const char *text); |
||
32 | |||
33 | extern GLuint |
||
34 | CompileShaderFile(GLenum shaderType, const char *filename); |
||
35 | |||
36 | extern GLuint |
||
37 | LinkShaders(GLuint vertShader, GLuint fragShader); |
||
38 | |||
39 | extern GLboolean |
||
40 | ValidateShaderProgram(GLuint program); |
||
41 | |||
42 | extern GLdouble |
||
43 | GetShaderCompileTime(void); |
||
44 | |||
45 | extern GLdouble |
||
46 | GetShaderLinkTime(void); |
||
47 | |||
48 | extern void |
||
49 | SetUniformValues(GLuint program, struct uniform_info uniforms[]); |
||
50 | |||
51 | extern GLuint |
||
52 | GetUniforms(GLuint program, struct uniform_info uniforms[]); |
||
53 | |||
54 | extern void |
||
55 | PrintUniforms(const struct uniform_info uniforms[]); |
||
56 | |||
57 | extern GLuint |
||
58 | GetAttribs(GLuint program, struct attrib_info attribs[]); |
||
59 | |||
60 | extern void |
||
61 | PrintAttribs(const struct attrib_info attribs[]); |
||
62 | |||
63 | #endif /* SHADER_UTIL_H */>>>>> |