2020-02-12 00:29:35 -08:00
|
|
|
#pragma once
|
|
|
|
|
|
|
|
// OpenGL
|
2020-02-15 19:32:26 -08:00
|
|
|
#include <glew.h >
|
2020-02-13 22:13:16 -08:00
|
|
|
#include <glm/detail/type_vec3.hpp>
|
|
|
|
|
2020-02-12 00:29:35 -08:00
|
|
|
|
|
|
|
// Duck Tape
|
|
|
|
#include "DGL_FundamentalTypes.hpp"
|
|
|
|
|
|
|
|
// Non-Standard C++
|
|
|
|
#include "Cpp_Alias.hpp"
|
|
|
|
|
|
|
|
|
|
|
|
|
2020-02-14 23:21:27 -08:00
|
|
|
namespace DGL
|
2020-02-12 00:29:35 -08:00
|
|
|
{
|
2020-02-13 22:13:16 -08:00
|
|
|
namespace Generic
|
|
|
|
{
|
|
|
|
template<typename Type>
|
|
|
|
using Vector3 = glm::tvec3<Type>;
|
|
|
|
}
|
|
|
|
|
|
|
|
using DataPtr = ptr<GLvoid>;
|
2020-02-12 00:29:35 -08:00
|
|
|
|
|
|
|
template<typename ReferenceType>
|
|
|
|
using ID = gUInt;
|
|
|
|
|
|
|
|
// ID Reference Types
|
|
|
|
|
2020-02-16 22:28:24 -08:00
|
|
|
class VertexBuffer ;
|
2020-02-17 18:10:15 -08:00
|
|
|
class NormalBuffer ;
|
|
|
|
class Vec3 ;
|
2020-02-15 19:32:26 -08:00
|
|
|
class Matrix ;
|
|
|
|
class Shader ;
|
2020-02-12 00:29:35 -08:00
|
|
|
class ShaderProgram;
|
2020-02-17 18:10:15 -08:00
|
|
|
class VertexArray ;
|
2020-02-13 22:13:16 -08:00
|
|
|
class ElementBuffer;
|
|
|
|
|
2020-02-16 22:28:24 -08:00
|
|
|
|
|
|
|
|
2020-02-13 22:13:16 -08:00
|
|
|
using Matrix4x4 = glm::mat4;
|
2020-02-12 00:29:35 -08:00
|
|
|
|
2020-02-16 22:28:24 -08:00
|
|
|
using Vector2 = glm::vec2;
|
2020-02-13 22:13:16 -08:00
|
|
|
using Vector3 = glm::vec3;
|
|
|
|
using Vector4 = glm::vec4;
|
2020-02-16 22:28:24 -08:00
|
|
|
|
|
|
|
struct LinearColor
|
|
|
|
{
|
|
|
|
gFloatClamped Red, Green, Blue, Alpha;
|
|
|
|
|
|
|
|
LinearColor(gFloatClamped _red, gFloatClamped _green, gFloatClamped _blue, gFloatClamped _alpha) :
|
|
|
|
Red(_red), Green(_green), Blue(_blue), Alpha(_alpha) {};
|
|
|
|
|
|
|
|
sfn Vector() -> Vector3
|
|
|
|
{
|
|
|
|
return Vector3(Red, Green, Blue);
|
|
|
|
}
|
|
|
|
};
|
2020-02-12 00:29:35 -08:00
|
|
|
}
|