Nebula
Loading...
Searching...
No Matches
vertexlayout.h
Go to the documentation of this file.
1#pragma once
2//------------------------------------------------------------------------------
9//------------------------------------------------------------------------------
10#include "ids/id.h"
13namespace CoreGraphics
14{
15
17
19static const IndexT MaxNumVertexStreams = 16;
20
26
33
38
47
49{
50 Invalid,
51 Normal, // Normal vertices for static geometry
52 Colors, // Geometry with per-vertex colors
53 SecondUV, // Secondary UV set geometry
54 Skin, // Skinned geometry with weight and joint indices
55 Particle, // Special vertex layout for particles
57};
58
59#pragma pack(push, 1)
61{
62 float position[3];
63 short uv[2];
64};
65
71
76
78{
79 /*
80 normal
81 tangent
82 color
83 */
85};
86
88{
89 /*
90 normal
91 tangent
92 indices
93 weights
94 */
95 float skinWeights[4];
97};
98#pragma pack(pop)
99
100} // CoreGraphics
Nebula's dynamic array class.
Definition array.h:60
A StringAtom.
Definition stringatom.h:22
Acceleration structures are used to enable ray tracing on the GPU by dividing the scene into a BVH.
Definition accelerationstructure.h:24
const Util::Array< VertexComponent > & VertexLayoutGetComponents(const VertexLayoutId id)
get components
Definition vkvertexlayout.cc:181
const SizeT VertexLayoutGetSize(const VertexLayoutId id)
Get byte size.
Definition vkvertexlayout.cc:163
const VertexLayoutId CreateVertexLayout(const VertexLayoutCreateInfo &info)
create new vertex layout
Definition vkvertexlayout.cc:36
static const IndexT MaxNumVertexStreams
max number of vertex streams
Definition vertexlayout.h:19
void DestroyVertexLayout(const VertexLayoutId id)
destroy vertex layout
Definition vkvertexlayout.cc:154
const Util::StringAtom & VertexLayoutGetName(const VertexLayoutId id)
Get name.
Definition vkvertexlayout.cc:190
const SizeT VertexLayoutGetStreamSize(const VertexLayoutId id, IndexT stream)
Get byte size per stream.
Definition vkvertexlayout.cc:172
VertexLayoutType
Definition vertexlayout.h:49
#define RESOURCE_ID_TYPE(type)
Definition resourceid.h:41
Definition vertexlayout.h:61
float position[3]
Definition vertexlayout.h:62
short uv[2]
Definition vertexlayout.h:63
Definition vertexlayout.h:78
Math::byte4u color
Definition vertexlayout.h:84
Definition vertexlayout.h:67
Math::byte4 normal
Definition vertexlayout.h:68
Math::byte4 tangent
Definition vertexlayout.h:69
Definition vertexlayout.h:73
ushort uv2[2]
Definition vertexlayout.h:74
Definition vertexlayout.h:88
Math::byte4u skinIndices
Definition vertexlayout.h:96
float skinWeights[4]
Definition vertexlayout.h:95
Definition vertexlayout.h:22
Util::Array< VertexComponent > comps
Definition vertexlayout.h:24
Util::StringAtom name
Definition vertexlayout.h:23
Definition vertexlayout.h:16
Definition vertexlayout.h:28
Util::Array< VertexComponent > comps
Definition vertexlayout.h:31
SizeT vertexByteSize
Definition vertexlayout.h:30
Util::StringAtom name
Definition vertexlayout.h:29
Definition scalar.h:148
Definition scalar.h:139
int SizeT
Definition types.h:49
unsigned short ushort
Definition types.h:32
int IndexT
Definition types.h:48