charcoal/Example/MySimpleShaderProgram.h

36 lines
718 B
C
Raw Normal View History

2018-09-05 02:49:02 -04:00
#pragma once
#include <charcoal/VertexFragmentShaderProgram.h>
#include <charcoal/Shader.h>
#include <charcoal/Mesh.h>
#include <charcoal/Renderable.h>
2018-09-05 02:49:02 -04:00
2018-09-12 17:03:46 -04:00
using namespace charcoal;
class MySimpleShaderProgram : public VertexFragmentShaderProgram
2018-09-05 02:49:02 -04:00
{
public:
struct Vertex
2018-09-05 02:49:02 -04:00
{
Vertex() {}
Vertex(float x, float y, float z)
: x(x), y(y), z(z)
2018-09-11 01:18:17 -04:00
{}
2018-09-05 02:49:02 -04:00
float x;
float y;
float z;
};
2018-09-11 01:18:17 -04:00
struct Color
{
2018-09-11 01:18:17 -04:00
float r = 0.0f;
float g = 0.0f;
float b = 0.0f;
float a = 1.0f;
};
typedef unsigned int Index;
2018-09-19 03:52:42 -04:00
typedef RenderableT<Vertex, Index> RenderableT;
typedef Mesh<Vertex, Index> Mesh;
MySimpleShaderProgram() : VertexFragmentShaderProgram(SHADER_PATH "MySimpleVS.glsl", SHADER_PATH "MySimpleFS.glsl") {}
2018-09-11 01:18:17 -04:00
};