aboutsummaryrefslogtreecommitdiff
path: root/teensy/platform/gl/gl.c
diff options
context:
space:
mode:
Diffstat (limited to 'teensy/platform/gl/gl.c')
-rw-r--r--teensy/platform/gl/gl.c35
1 files changed, 30 insertions, 5 deletions
diff --git a/teensy/platform/gl/gl.c b/teensy/platform/gl/gl.c
index 6bdae71..3e454d2 100644
--- a/teensy/platform/gl/gl.c
+++ b/teensy/platform/gl/gl.c
@@ -2,7 +2,7 @@
// quality here is meh. Things could be organized more into functions, but as
// for now, it works fine, and isn't worth improving immediately.
-#include <glad/glad.h>
+//#include <glad/glad.h>
#include <GLFW/glfw3.h>
#include "teensy.h"
@@ -46,8 +46,37 @@ typedef struct {
uint32_t typed;
} Gl_Platform;
+typedef unsigned int GLuint;
+typedef unsigned int GLenum;
+
Gl_Platform p;
+GLuint glCreateShader(GLenum type);
+void glCompileShader(GLuint shader);
+void glShaderSource(GLuint shader, int n, const char **src, void *ptr);
+void glGetShaderiv(GLuint shader, GLenum what, int *res);
+void glGetShaderInfoLog(GLuint shader, size_t len, void *ptr, char *txt);
+void glGenVertexArrays(int n, GLuint *vaos);
+void glGenBuffers(int n, GLuint *bos);
+void glBindVertexArray(GLuint vao);
+void glBindBuffer(GLenum type, GLuint bo);
+void glBufferData(GLenum type, size_t size, void *data, GLenum draw);
+void glVertexAttribPointer();
+void glEnableVertexAttribArray(int n);
+GLuint glCreateProgram(void);
+void glAttachShader(GLuint prog, GLuint shader);
+void glLinkProgram(GLuint prog);
+void glDeleteShader(GLuint shader);
+void glGetProgramiv(GLuint prog, GLenum type, int *res);
+void glGetProgramInfoLog(GLuint prog, size_t len, void *ptr, char *txt);
+int glGetUniformLocation(GLuint prog, const char *name);
+void glDeleteProgram(GLuint prog);
+void glDeleteBuffers(int n, GLuint *bos);
+void glDeleteVertexArrays(int n, GLuint *vaos);
+void glGenerateMipmap(GLenum type);
+void glUseProgram(GLuint prog);
+void glUniform1i(int loc, int val);
+
static
void character_callback(GLFWwindow *window, unsigned int cp)
{
@@ -98,10 +127,6 @@ void ty_platform_init(ty_Ctx *ctx)
glfwSetCharCallback(p.win, character_callback);
- ty_log_info("initializing GLAD...");
- if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress))
- ty_log_fatal(TY_PLATFORM_ERR, "could not init GLAD");
-
ty_Vec2 vertices[] = {
ty_vec2(-1, -1), ty_vec2(0, 1),
ty_vec2( 1, -1), ty_vec2(1, 1),