aboutsummaryrefslogtreecommitdiff
path: root/source/Mesh.hpp
diff options
context:
space:
mode:
authorhnOsmium0001 <[email protected]>2022-04-10 22:42:14 -0700
committerhnOsmium0001 <[email protected]>2022-04-10 23:00:36 -0700
commit67affc75a4824dfd8675cc5455d9ee71b1583c1c (patch)
treee6624157831039ed3c1668b6a4b21337633f41e6 /source/Mesh.hpp
parent906557f094e407ce21d429ef647bc75fe3179cf1 (diff)
Add shader and corresponding editor components
Diffstat (limited to 'source/Mesh.hpp')
-rw-r--r--source/Mesh.hpp74
1 files changed, 1 insertions, 73 deletions
diff --git a/source/Mesh.hpp b/source/Mesh.hpp
index a208eda..a1c0984 100644
--- a/source/Mesh.hpp
+++ b/source/Mesh.hpp
@@ -1,5 +1,6 @@
#pragma once
+#include "GraphicsTags.hpp"
#include "RcPtr.hpp"
#include "SmallVector.hpp"
@@ -8,79 +9,6 @@
#include <cstdint>
#include <vector>
-namespace Tags {
-/// Vertex element semantics, used to identify the meaning of vertex buffer contents
-enum VertexElementSemantic {
- /// Position, typically VET_Float3
- VES_Position = 1,
- /// Blending weights
- VES_BlendWeights = 2,
- /// Blending indices
- VES_BlendIndices = 3,
- /// Normal, typically VET_Float3
- VES_Normal = 4,
- /// Colour, typically VET_Ubyte4
- VES_Colour = 5,
- /// Secondary colour. Generally free for custom data. Means specular with OpenGL FFP.
- VES_Colour2 = 6,
- /// Texture coordinates, typically VET_Float2
- VES_Texture_coordinates = 7,
- /// Binormal (Y axis if normal is Z)
- VES_Binormal = 8,
- /// Tangent (X axis if normal is Z)
- VES_Tangent = 9,
- /// The number of VertexElementSemantic elements (note - the first value VES_Position is 1)
- VES_COUNT = 9,
-};
-
-enum VertexElementType {
- VET_Float1,
- VET_Float2,
- VET_Float3,
- VET_Float4,
-
- VET_Short2,
- VET_Short4,
- VET_Ubyte4,
-
- // the following are not universally supported on all hardware:
- VET_Double1,
- VET_Double2,
- VET_Double3,
- VET_Double4,
- VET_Ushort2,
- VET_Ushort4,
- VET_Int1,
- VET_Int2,
- VET_Int3,
- VET_Int4,
- VET_Uint1,
- VET_Uint2,
- VET_Uint3,
- VET_Uint4,
- VET_Byte4, /// signed bytes
-
- VET_NORM_BEGIN,
- VET_Byte4Norm = VET_NORM_BEGIN, /// signed bytes (normalized to -1..1)
- VET_Ubyte4Norm, /// unsigned bytes (normalized to 0..1)
- VET_Short2Norm, /// signed shorts (normalized to -1..1)
- VET_Short4Norm,
- VET_Ushort2Norm, /// unsigned shorts (normalized to 0..1)
- VET_Ushort4Norm,
- VET_NORM_END = VET_Ushort4Norm,
-};
-
-int SizeOf(VertexElementType type);
-bool IsNormalized(VertexElementType type);
-
-enum IndexType {
- IT_16Bit,
- IT_32Bit,
-};
-
-int SizeOf(IndexType type);
-} // namespace Tags
-
struct GpuVertexBuffer : public RefCounted {
GLuint handle;
int sizeInBytes;