#define GL_STATIC_DRAW 0x88E4
#endif
+#ifndef GL_FRAGMENT_SHADER
+#define GL_FRAGMENT_SHADER 0x8B30
+#endif
+
#ifndef GL_VERTEX_SHADER
#define GL_VERTEX_SHADER 0x8B31
#endif
#define GL_INFO_LOG_LENGTH 0x8B84
#endif
+typedef ptrdiff_t ourGLsizeiptr;
+typedef char ourGLchar;
+
typedef void (*PFNGLGENBUFFERSPROC) (GLsizei n, GLuint *buffers);
PFNGLGENBUFFERSPROC gl_GenBuffers;
typedef void (*PFNGLBINDBUFFERPROC) (GLenum target, GLuint buffer);
PFNGLBINDBUFFERPROC gl_BindBuffer;
-typedef void (*PFNGLBUFFERDATAPROC) (GLenum target, GLsizeiptr size,
+typedef void (*PFNGLBUFFERDATAPROC) (GLenum target, ourGLsizeiptr size,
const GLvoid *data, GLenum usage);
PFNGLBUFFERDATAPROC gl_BufferData;
PFNGLCREATESHADERPROC gl_CreateShader;
typedef void (*PFNGLSHADERSOURCEPROC)
- (GLuint shader, GLsizei count, const GLchar **string, const GLint *length);
+ (GLuint shader, GLsizei count, const ourGLchar **string, const GLint *length);
PFNGLSHADERSOURCEPROC gl_ShaderSource;
typedef void (*PFNGLCOMPILESHADERPROC) (GLuint shader);
PFNGLGETSHADERIVPROC gl_GetShaderiv;
typedef void (*PFNGLGETSHADERINFOLOGPROC)
- (GLuint shader, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+ (GLuint shader, GLsizei bufSize, GLsizei *length, ourGLchar *infoLog);
PFNGLGETSHADERINFOLOGPROC gl_GetShaderInfoLog;
typedef void (*PFNGLGETPROGRAMIVPROC) (GLenum target, GLenum pname, GLint *params);
PFNGLGETPROGRAMIVPROC gl_GetProgramiv;
typedef void (*PFNGLGETPROGRAMINFOLOGPROC)
- (GLuint program, GLsizei bufSize, GLsizei *length, GLchar *infoLog);
+ (GLuint program, GLsizei bufSize, GLsizei *length, ourGLchar *infoLog);
PFNGLGETPROGRAMINFOLOGPROC gl_GetProgramInfoLog;
-typedef GLint (*PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const GLchar *name);
+typedef GLint (*PFNGLGETATTRIBLOCATIONPROC) (GLuint program, const ourGLchar *name);
PFNGLGETATTRIBLOCATIONPROC gl_GetAttribLocation;
typedef void (*PFNGLVERTEXATTRIBPOINTERPROC)
typedef void (*PFNGLENABLEVERTEXATTRIBARRAYPROC) (GLuint index);
PFNGLENABLEVERTEXATTRIBARRAYPROC gl_EnableVertexAttribArray;
-typedef GLint (*PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const GLchar *name);
+typedef GLint (*PFNGLGETUNIFORMLOCATIONPROC) (GLuint program, const ourGLchar *name);
PFNGLGETUNIFORMLOCATIONPROC gl_GetUniformLocation;
typedef void (*PFNGLUNIFORMMATRIX4FVPROC)
checkError ("initBuffer");
}
-const GLchar *vertexShaderSource[] = {
+const ourGLchar *vertexShaderSource[] = {
"#version 130\n",
"uniform mat4 fg_ProjectionMatrix;\n",
"in vec4 fg_Color;\n",
"}\n"
};
-const GLchar *fragmentShaderSource[] = {
+const ourGLchar *fragmentShaderSource[] = {
"#version 130\n",
"out vec4 fg_FragColor;\n",
"void main(void)\n",
gl_GetShaderiv (shader, GL_COMPILE_STATUS, &status);
if (status == GL_FALSE) {
GLint infoLogLength;
- GLchar *infoLog;
+ ourGLchar *infoLog;
gl_GetShaderiv (shader, GL_INFO_LOG_LENGTH, &infoLogLength);
- infoLog = (GLchar*) malloc (infoLogLength);
+ infoLog = (ourGLchar*) malloc (infoLogLength);
gl_GetShaderInfoLog (shader, infoLogLength, NULL, infoLog);
fprintf (stderr, "compile log: %s\n", infoLog);
free (infoLog);
}
}
-GLuint compileShaderSource(GLenum type, GLsizei count, const GLchar **string)
+GLuint compileShaderSource(GLenum type, GLsizei count, const ourGLchar **string)
{
GLuint shader = gl_CreateShader (type);
gl_ShaderSource (shader, count, string, NULL);
gl_GetProgramiv (program, GL_LINK_STATUS, &status);
if (status == GL_FALSE) {
GLint infoLogLength;
- GLchar *infoLog;
+ ourGLchar *infoLog;
gl_GetProgramiv (program, GL_INFO_LOG_LENGTH, &infoLogLength);
- infoLog = (GLchar*) malloc (infoLogLength);
+ infoLog = (ourGLchar*) malloc (infoLogLength);
gl_GetProgramInfoLog (program, infoLogLength, NULL, infoLog);
fprintf (stderr, "link log: %s\n", infoLog);
free (infoLog);
void initShader(void)
{
- const GLsizei vertexShaderLines = sizeof(vertexShaderSource) / sizeof(GLchar*);
+ const GLsizei vertexShaderLines = sizeof(vertexShaderSource) / sizeof(ourGLchar*);
GLuint vertexShader =
compileShaderSource (GL_VERTEX_SHADER, vertexShaderLines, vertexShaderSource);
- const GLsizei fragmentShaderLines = sizeof(fragmentShaderSource) / sizeof(GLchar*);
+ const GLsizei fragmentShaderLines = sizeof(fragmentShaderSource) / sizeof(ourGLchar*);
GLuint fragmentShader =
compileShaderSource (GL_FRAGMENT_SHADER, fragmentShaderLines, fragmentShaderSource);