DuctTaped_GL/DGL_MiscTypes.hpp

66 lines
1.1 KiB
C++
Raw Normal View History

2020-02-12 00:29:35 -08:00
#pragma once
// OpenGL
#include <glew.h >
#include <glm/detail/type_vec3.hpp>
#include <glm/detail/type_vec2.hpp>
2020-02-12 00:29:35 -08:00
// Duck Tape
#include "DGL_FundamentalTypes.hpp"
// Non-Standard C++
#include "Cpp_Alias.hpp"
namespace DGL
2020-02-12 00:29:35 -08:00
{
namespace Generic
{
template<typename Type>
using Vector3 = glm::tvec3<Type>;
template<typename Type>
using Vector2 = glm::tvec2<Type>;
}
using DataPtr = ptr<GLvoid>;
2020-02-12 00:29:35 -08:00
template<typename ReferenceType>
using ID = gUInt;
// ID Reference Types
class VertexBuffer ;
class NormalBuffer ;
class Vec3 ;
class Matrix ;
class Shader ;
2020-02-12 00:29:35 -08:00
class ShaderProgram;
class VertexArray ;
class TextureBuffer;
class ElementBuffer;
using Matrix4x4 = glm::mat4;
2020-02-12 00:29:35 -08:00
using Vector2 = glm::vec2;
using Vector3 = glm::vec3;
using Vector4 = glm::vec4;
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
}