From c36d05d5aed2f8f7c6342b174692146e2d11c386 Mon Sep 17 00:00:00 2001 From: Matthew Kosarek Date: Mon, 22 Mar 2021 20:54:51 -0400 Subject: Refactored frontend, beginnings of general cpp layer, and beginning roadmap --- frontend/_shared/OrthographicRenderer.cpp | 76 ------------------------------ frontend/_shared/OrthographicRenderer.cpp~ | 0 frontend/_shared/OrthographicRenderer.h | 41 ---------------- frontend/_shared/OrthographicRenderer.h~ | 5 -- frontend/_shared/types.h | 16 ------- frontend/_shared/types.h~ | 6 --- 6 files changed, 144 deletions(-) delete mode 100644 frontend/_shared/OrthographicRenderer.cpp delete mode 100644 frontend/_shared/OrthographicRenderer.cpp~ delete mode 100644 frontend/_shared/OrthographicRenderer.h delete mode 100644 frontend/_shared/OrthographicRenderer.h~ delete mode 100644 frontend/_shared/types.h delete mode 100644 frontend/_shared/types.h~ (limited to 'frontend/_shared') diff --git a/frontend/_shared/OrthographicRenderer.cpp b/frontend/_shared/OrthographicRenderer.cpp deleted file mode 100644 index 9dc9892..0000000 --- a/frontend/_shared/OrthographicRenderer.cpp +++ /dev/null @@ -1,76 +0,0 @@ -#include "OrthographicRenderer.h" - -const char* orthographicVertex = -"attribute vec2 position; \n" -"attribute vec4 color; \n" -"uniform mat4 projection; \n" -"uniform mat4 model; \n" -"varying lowp vec4 VertexColor; \n" -"void main() { \n" -" vec4 fragmentPosition = projection * model * vec4(position, 1, 1); \n" -" gl_Position = fragmentPosition; \n" -" VertexColor = color; \n" -"}"; - -const char* orthographicFragment = -"varying lowp vec4 VertexColor; \n" -"void main() { \n" -" gl_FragColor = VertexColor; \n" -"}"; - -void OrthographicRenderer::load() { - printf("Compiling orthographic...\n"); - shader = loadShader(orthographicVertex, orthographicFragment); - - useShader(shader); - attributes.position = getShaderAttribute(shader, "position"); - attributes.color = getShaderAttribute(shader, "color"); - uniforms.projection = getShaderUniform(shader, "projection"); - uniforms.model = getShaderUniform(shader, "model"); - - printf("Orthographic compiled.\n"); -} - -void OrthographicRenderer::render() { - useShader(shader); - setShaderMat4(uniforms.projection, projection); -} - -void OrthographicRenderer::unload() { - glDeleteProgram(shader); -} - -template -void OrthographicShape::load(OrthographicRenderer* renderer) { - useShader(renderer->shader); - - glGenVertexArrays(1, &vao); - glBindVertexArray(vao); - - glGenBuffeloadrs(1, &vbo); - glBindBuffer(GL_ARRAY_BUFFER, vbo); - glBufferData(GL_ARRAY_BUFFER, N * sizeof(OrthographicVertex), &vertices[0], GL_STATIC_DRAW); - - glEnableVerloadtexAttribArray(renderer->attributes.position); - glVertexAttribPointer(attributes.position, 2, GL_FLOAT, GL_FALSE, sizeof(OrthographicVertex), (GLvoid *)0); - - glEnableVertexAttribArray(renderer->attributes.color); - glVertexAttribPointer(attributes.color, 4, GL_FLOAT, GL_FALSE, sizeof(OrthographicVertex), (GLvoid *)offsetof(OrthographicVertex, color)); - - glBindBuffer(GL_ARRAY_BUFFER, 0); - glBindVertexArray(0); -} - -template -void OrthographicShape::render(OrthographicRenderer* renderer) { - setShaderMat4(renderer->uniforms.model, model); - - glBindVertexArray(vao); - glDrawArrays(GL_TRIANGLES, 0, 3); - glBindVertexArray(0); -} - -void OrthographicShape::unload() { - glDeleteVertexArrays(1, &vao); - gDeleteBuffers(1, &vbo); -} diff --git a/frontend/_shared/OrthographicRenderer.cpp~ b/frontend/_shared/OrthographicRenderer.cpp~ deleted file mode 100644 index e69de29..0000000 diff --git a/frontend/_shared/OrthographicRenderer.h b/frontend/_shared/OrthographicRenderer.h deleted file mode 100644 index e04b5ec..0000000 --- a/frontend/_shared/OrthographicRenderer.h +++ /dev/null @@ -1,41 +0,0 @@ -#pragma once - -#include "types.h" -#include "Shader.h" -#include "mathlib.h" - -struct OrthographicRenderer { - Mat4x4 projection; - uint32 shader; - - struct { - int32 position; - int32 color; - } attributes; - - struct { - int32 projection; - int32 model; - } uniforms; - - void load(); - void render(); - void unload(); -}; - -struct OrthographicVertex { - Vector2 position; - Vector2 color; -}; - -template -struct OrthographicShape { - uint32 vao; - uint32 vbo; - OrthographicVertex vertices[N]; - Mat4x4 model; - - void load(OrthographicRenderer* renderer); - void render(OrthographicRenderer* renderer); - void unload(); -}; diff --git a/frontend/_shared/OrthographicRenderer.h~ b/frontend/_shared/OrthographicRenderer.h~ deleted file mode 100644 index 52f7326..0000000 --- a/frontend/_shared/OrthographicRenderer.h~ +++ /dev/null @@ -1,5 +0,0 @@ -#pragma once - -struct OrthographicShader { - -}; diff --git a/frontend/_shared/types.h b/frontend/_shared/types.h deleted file mode 100644 index 39d6c17..0000000 --- a/frontend/_shared/types.h +++ /dev/null @@ -1,16 +0,0 @@ -#pragma once - -#include - -typedef int8 int8_t; -typedef int16 int16_t; -typedef int32 int32_t; -typedef int64 int64_t; - -typedef uint8 uint8_t; -typedef uint16 uint16_t; -typedef uint32 uint32_t; -typedef uint64 uint; - -typedef float32 float; -typedef float64 double; diff --git a/frontend/_shared/types.h~ b/frontend/_shared/types.h~ deleted file mode 100644 index e092046..0000000 --- a/frontend/_shared/types.h~ +++ /dev/null @@ -1,6 +0,0 @@ -#include - -typedef uint8 uint8_t; -typedef uint8 uint16_t; -typedef uint8 uint32_t; -typedef uint64 uint; -- cgit v1.2.1