diff options
-rwxr-xr-x | bin/build-shaders.js | 21 | ||||
-rw-r--r-- | include/llmr/shader/shaders.hpp (renamed from include/llmr/shader/shaders.h) | 11 | ||||
-rw-r--r-- | src/CMakeLists.txt | 3 | ||||
-rw-r--r-- | src/renderer/shader-fill.cpp | 6 | ||||
-rw-r--r-- | src/renderer/shader-line.cpp | 6 | ||||
-rw-r--r-- | src/renderer/shader-outline.cpp | 6 | ||||
-rw-r--r-- | src/shader/shaders.cpp (renamed from src/shader/shaders.c) | 6 |
7 files changed, 27 insertions, 32 deletions
diff --git a/bin/build-shaders.js b/bin/build-shaders.js index d8d7a46bbb..68b395d634 100755 --- a/bin/build-shaders.js +++ b/bin/build-shaders.js @@ -39,39 +39,36 @@ module.exports = function() { header += '#ifndef LLMR_SHADER_SHADERS\n'; header += '#define LLMR_SHADER_SHADERS\n'; header += '\n'; - header += '#ifdef __cplusplus\n'; - header += 'extern "C" {\n'; - header += '#endif\n'; + header += 'namespace llmr {\n'; header += '\n'; - header += 'struct llmr_shader {\n'; + header += 'struct shader_source {\n'; header += ' const char *vertex;\n'; header += ' const char *fragment;\n'; header += '};\n'; - header += 'typedef struct llmr_shader llmr_shader_t;\n' header += '\n'; header += 'enum {\n'; consts.push('SHADER_COUNT'); header += ' ' + consts.join(',\n ') + '\n'; header += '};\n'; header += '\n'; - header += 'extern const llmr_shader_t llmr_shaders[SHADER_COUNT];\n'; + header += 'const shader_source shaders[SHADER_COUNT];\n'; header += '\n'; - header += '#ifdef __cplusplus\n'; header += '}\n'; - header += '#endif\n'; header += '\n'; header += '#endif\n'; - fs.writeFileSync('include/llmr/shader/shaders.h', header); + fs.writeFileSync('include/llmr/shader/shaders.hpp', header); var code = '// NOTE: DO NOT CHANGE THIS FILE. IT IS AUTOMATICALLY GENERATED.\n'; - code += '#include <llmr/shader/shaders.h>\n'; + code += '#include <llmr/shader/shaders.hpp>\n'; + code += '\n'; + code += 'using namespace llmr;\n'; code += '\n'; - code += 'const llmr_shader_t llmr_shaders[SHADER_COUNT] = {\n'; + code += 'const shader_source shaders[SHADER_COUNT] = {\n'; code += lines.join(',\n'); code += '\n};\n'; - fs.writeFileSync('src/shader/shaders.c', code); + fs.writeFileSync('src/shader/shaders.cpp', code); }; module.exports(); diff --git a/include/llmr/shader/shaders.h b/include/llmr/shader/shaders.hpp index ddc79fdd88..ea0f8b2343 100644 --- a/include/llmr/shader/shaders.h +++ b/include/llmr/shader/shaders.hpp @@ -3,15 +3,12 @@ #ifndef LLMR_SHADER_SHADERS #define LLMR_SHADER_SHADERS -#ifdef __cplusplus -extern "C" { -#endif +namespace llmr { -struct llmr_shader { +struct shader_source { const char *vertex; const char *fragment; }; -typedef struct llmr_shader llmr_shader_t; enum { FILL_SHADER, @@ -20,10 +17,8 @@ enum { SHADER_COUNT }; -extern const llmr_shader_t llmr_shaders[SHADER_COUNT]; +extern const shader_source shaders[SHADER_COUNT]; -#ifdef __cplusplus } -#endif #endif diff --git a/src/CMakeLists.txt b/src/CMakeLists.txt index b54ba75063..55cd4b6571 100644 --- a/src/CMakeLists.txt +++ b/src/CMakeLists.txt @@ -9,7 +9,7 @@ SET(llmr_SOURCES renderer/shader-line.cpp renderer/shader-outline.cpp renderer/shader.cpp - shader/shaders.c + shader/shaders.cpp util/animation.cpp util/mat4.c ) @@ -28,6 +28,7 @@ SET(llmr_HEADERS ../include/llmr/renderer/shader-line.hpp ../include/llmr/renderer/shader-outline.hpp ../include/llmr/renderer/shader.hpp + ../include/llmr/shader/shaders.hpp ../include/llmr/util/animation.hpp ../include/llmr/util/math.hpp ../include/llmr/util/vec2.hpp diff --git a/src/renderer/shader-fill.cpp b/src/renderer/shader-fill.cpp index 99cc84eb2a..623d061188 100644 --- a/src/renderer/shader-fill.cpp +++ b/src/renderer/shader-fill.cpp @@ -1,13 +1,13 @@ #include <llmr/renderer/shader-fill.hpp> -#include <llmr/shader/shaders.h> +#include <llmr/shader/shaders.hpp> #include <llmr/platform/gl.hpp> using namespace llmr; FillShader::FillShader() : Shader( - llmr_shaders[FILL_SHADER].vertex, - llmr_shaders[FILL_SHADER].fragment + shaders[FILL_SHADER].vertex, + shaders[FILL_SHADER].fragment ) { if (!valid) { fprintf(stderr, "invalid fill shader\n"); diff --git a/src/renderer/shader-line.cpp b/src/renderer/shader-line.cpp index c9f409cbb3..f6ea501596 100644 --- a/src/renderer/shader-line.cpp +++ b/src/renderer/shader-line.cpp @@ -1,13 +1,13 @@ #include <llmr/renderer/shader-line.hpp> -#include <llmr/shader/shaders.h> +#include <llmr/shader/shaders.hpp> #include <llmr/platform/gl.hpp> using namespace llmr; LineShader::LineShader() : Shader( - llmr_shaders[LINE_SHADER].vertex, - llmr_shaders[LINE_SHADER].fragment + shaders[LINE_SHADER].vertex, + shaders[LINE_SHADER].fragment ) { if (!valid) { fprintf(stderr, "invalid line shader\n"); diff --git a/src/renderer/shader-outline.cpp b/src/renderer/shader-outline.cpp index 0aa86d8beb..ea27b26987 100644 --- a/src/renderer/shader-outline.cpp +++ b/src/renderer/shader-outline.cpp @@ -1,13 +1,13 @@ #include <llmr/renderer/shader-outline.hpp> -#include <llmr/shader/shaders.h> +#include <llmr/shader/shaders.hpp> #include <llmr/platform/gl.hpp> using namespace llmr; OutlineShader::OutlineShader() : Shader( - llmr_shaders[OUTLINE_SHADER].vertex, - llmr_shaders[OUTLINE_SHADER].fragment + shaders[OUTLINE_SHADER].vertex, + shaders[OUTLINE_SHADER].fragment ) { if (!valid) { fprintf(stderr, "invalid outline shader\n"); diff --git a/src/shader/shaders.c b/src/shader/shaders.cpp index 650c73a246..38e37ead0b 100644 --- a/src/shader/shaders.c +++ b/src/shader/shaders.cpp @@ -1,7 +1,9 @@ // NOTE: DO NOT CHANGE THIS FILE. IT IS AUTOMATICALLY GENERATED. -#include <llmr/shader/shaders.h> +#include <llmr/shader/shaders.hpp> -const llmr_shader_t llmr_shaders[SHADER_COUNT] = { +using namespace llmr; + +const shader_source llmr::shaders[SHADER_COUNT] = { [FILL_SHADER] = { .vertex = "attribute vec2 a_pos;\n\nuniform mat4 u_matrix;\n\nvoid main() {\n gl_Position = u_matrix * vec4(a_pos, 0, 1);\n}\n", .fragment = "uniform vec4 u_color;\n\nvoid main() {\n gl_FragColor = u_color;\n}\n", |