summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rwxr-xr-xbin/build-shaders.js21
-rw-r--r--include/llmr/shader/shaders.hpp (renamed from include/llmr/shader/shaders.h)11
-rw-r--r--src/CMakeLists.txt3
-rw-r--r--src/renderer/shader-fill.cpp6
-rw-r--r--src/renderer/shader-line.cpp6
-rw-r--r--src/renderer/shader-outline.cpp6
-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",