2018-09-12 22:46:36 +00:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
#include <glm/glm.hpp>
|
2018-09-13 04:51:47 +00:00
|
|
|
#include "Renderable.h"
|
2018-09-12 22:46:36 +00:00
|
|
|
|
|
|
|
namespace charcoal
|
|
|
|
{
|
|
|
|
namespace builtin
|
|
|
|
{
|
|
|
|
using namespace glm;
|
|
|
|
|
|
|
|
typedef vec3 Position;
|
|
|
|
typedef vec3 Normal;
|
|
|
|
typedef vec4 Color;
|
|
|
|
typedef vec2 UV;
|
|
|
|
|
|
|
|
typedef unsigned int Index;
|
|
|
|
|
|
|
|
// Simple types that implement the interfaces
|
|
|
|
|
2018-09-13 17:35:30 +00:00
|
|
|
struct BasicVertex
|
2018-09-13 04:51:47 +00:00
|
|
|
{
|
2018-09-13 17:35:30 +00:00
|
|
|
BasicVertex() : BasicVertex({ 0.0f, 0.0f, 0.0f }) {}
|
|
|
|
BasicVertex(const Position& position) : position(position) {}
|
|
|
|
|
|
|
|
void set_position(const Position& position) { this->position = position; }
|
2018-09-13 04:51:47 +00:00
|
|
|
|
|
|
|
Position position;
|
|
|
|
};
|
|
|
|
|
|
|
|
typedef Index BasicIndex;
|
|
|
|
|
|
|
|
typedef Renderable<BasicVertex, BasicIndex> BasicRenderable;
|
2018-09-12 22:46:36 +00:00
|
|
|
}
|
|
|
|
}
|