1234567891011121314151617181920212223242526272829303132333435363738394041424344454647484950515253545556575859606162636465 |
- #include "renderer.h"
- #include <stdio.h>
- #include <assert.h>
- #include <glad/glad.h>
- #include <GLFW/glfw3.h>
- #define WINDOW_WIDTH 1200
- #define WINDOW_HEIGHT 800
- #define MAX_VERTEX_BUFFER 512 * 1024
- #define MAX_ELEMENT_BUFFER 128 * 1024
- static void error_callback(int e, const char* d) {
- fprintf(stderr, "ERROR: %d: %s\n", e, d);
- }
- void resize_window_callback(GLFWwindow* window, int width, int height) {
- glViewport(0, 0, width, height);
- }
- void key_callback(GLFWwindow *window, int key, int scancode, int action, int mods)
- {
- if(key == GLFW_KEY_ESCAPE && action == GLFW_RELEASE) {
- glfwSetWindowShouldClose(window, GLFW_TRUE);
- }
- }
- int main() {
- Renderer renderer = {0};
- renderer_init(&renderer, WINDOW_WIDTH, WINDOW_HEIGHT);
-
- //assert(renderer != NULL && "failed to initialize renderer");
-
- glfwSetErrorCallback(error_callback);
- glfwSetKeyCallback(renderer.window, key_callback);
- while (!glfwWindowShouldClose(renderer.window)) {
- glfwPollEvents();
- glfwGetWindowSize(renderer.window, &renderer.width, &renderer.height);
- glViewport(0, 0, renderer.width, renderer.height);
- glClear(GL_COLOR_BUFFER_BIT);
- glClearColor(0.8f, 0.8f, 0.8f, 1.0f);
- render_quad(&renderer,
- (vec2){ renderer.width * 0.5f, renderer.height * 0.5f },
- (vec2){ 50.0f, 50.0f },
- (vec4) { 0.4f, 1.0f, 0.8f, 1.0f });
-
-
- glfwSwapBuffers(renderer.window);
- }
- renderer_destroy(&renderer);
- return 0;
- }
|