summaryrefslogtreecommitdiff
path: root/themes/src/Renderer2d.cpp
diff options
context:
space:
mode:
authormattkae <mattkae@protonmail.com>2023-08-13 16:02:22 -0400
committermattkae <mattkae@protonmail.com>2023-08-13 16:02:22 -0400
commit056d4560f72a9ec281f8df31aa2a7d8241d6adf1 (patch)
treed0bcbe3ad5dd9e4efb662389b1aa6806cc4365ef /themes/src/Renderer2d.cpp
parentb6a666e96ffd04bd6d52be8fd9899faf27b751db (diff)
Generating a cpp file for shaders
Diffstat (limited to 'themes/src/Renderer2d.cpp')
-rw-r--r--themes/src/Renderer2d.cpp24
1 files changed, 4 insertions, 20 deletions
diff --git a/themes/src/Renderer2d.cpp b/themes/src/Renderer2d.cpp
index 06f0838..196ef7e 100644
--- a/themes/src/Renderer2d.cpp
+++ b/themes/src/Renderer2d.cpp
@@ -3,31 +3,15 @@
#include "WebglContext.h"
#include "mathlib.h"
#include <cstdio>
+#include "shaders/renderer2d_vert.h"
+#include "shaders/renderer2d_frag.h"
// Note: In the 'transform' attribute, the transform.x is the scale,
// transform.y is the rotation, and transform.zw is the translation.
-const char* DEFAULT_VERTEX_SHADER =
-"attribute vec2 position; \n"
-"attribute vec4 color; \n"
-"attribute mat4 vMatrix; \n"
-"uniform mat4 projection; \n"
-"uniform mat4 model; \n"
-"varying lowp vec4 VertexColor; \n"
-"void main() { \n"
-" vec4 fragmentPosition = projection * model * vMatrix * vec4(position.x, position.y, 0, 1); \n"
-" gl_Position = fragmentPosition; \n"
-" VertexColor = color; \n"
-"}";
-
-const char* DEFAULT_FRAGMENT_SHADER =
-"varying lowp vec4 VertexColor; \n"
-"void main() { \n"
-" gl_FragColor = VertexColor; \n"
-"}";
void Renderer2d::load(WebglContext* inContext, const char* inVertexShader, const char* inFragmentShader) {
- auto vertexShader = inVertexShader ? inVertexShader : DEFAULT_VERTEX_SHADER;
- auto fragmentShader = inFragmentShader ? inFragmentShader : DEFAULT_FRAGMENT_SHADER;
+ auto vertexShader = inVertexShader ? inVertexShader : shader_renderer2d_vert;
+ auto fragmentShader = inFragmentShader ? inFragmentShader : shader_renderer2d_frag;
context = inContext;
printf("Compiling Renderer2d shader...\n");
shader = loadShader(vertexShader, fragmentShader);