diff options
Diffstat (limited to 'platform/gl/gl.c')
| -rw-r--r-- | platform/gl/gl.c | 44 |
1 files changed, 10 insertions, 34 deletions
diff --git a/platform/gl/gl.c b/platform/gl/gl.c index 3e454d2..15bfe00 100644 --- a/platform/gl/gl.c +++ b/platform/gl/gl.c @@ -2,8 +2,9 @@ // 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 <GLFW/glfw3.h> +#include "glad/glad.h" +#define GLFW_NO_INCLUDE +#include "GLFW/glfw3.h" #include "teensy.h" #include "teensy_common.h" @@ -46,37 +47,8 @@ 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) { @@ -125,18 +97,22 @@ void ty_platform_init(ty_Ctx *ctx) glfwMakeContextCurrent(p.win); + ty_log_info("initializing GLAD..."); + if (!gladLoadGLLoader((GLADloadproc)glfwGetProcAddress)) + ty_log_fatal(TY_PLATFORM_ERR, "could not load GLAD"); + glfwSetCharCallback(p.win, character_callback); ty_Vec2 vertices[] = { ty_vec2(-1, -1), ty_vec2(0, 1), ty_vec2( 1, -1), ty_vec2(1, 1), ty_vec2( 1, 1), ty_vec2(1, 0), - + ty_vec2(-1, -1), ty_vec2(0, 1), ty_vec2( 1, 1), ty_vec2(1, 0), ty_vec2(-1, 1), ty_vec2(0, 0), }; - + glGenTextures(1, &p.screen_handle); glBindTexture(GL_TEXTURE_2D, p.screen_handle); glTexParameteri(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_NEAREST); @@ -163,7 +139,7 @@ void ty_platform_init(ty_Ctx *ctx) GL_FALSE, sizeof(ty_Vec2) * 2, (void*)sizeof(ty_Vec2) ); - + glEnableVertexAttribArray(1); p.program = glCreateProgram(); |
