charcoal/OpenGLEngine/MySimpleShaderProgram.h

36 lines
682 B
C
Raw Normal View History

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