move shaders to cpp file
This commit is contained in:
@@ -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 += 'const llmr_shader_t llmr_shaders[SHADER_COUNT] = {\n';
|
||||
code += 'using namespace llmr;\n';
|
||||
code += '\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();
|
||||
|
||||
@@ -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
|
||||
@@ -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
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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");
|
||||
|
||||
@@ -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",
|
||||
Reference in New Issue
Block a user