From b5dbe6f03f454c35701208d4ff2c180ae953f209 Mon Sep 17 00:00:00 2001 From: Lynix Date: Fri, 16 Jan 2015 12:52:10 +0100 Subject: [PATCH] Added XY_Color VertexLayout Former-commit-id: 0f53126584b61738b25b1d86cec819d6166ad678 --- include/Nazara/Utility/Enums.hpp | 1 + include/Nazara/Utility/VertexStruct.hpp | 5 +++++ src/Nazara/Utility/VertexDeclaration.cpp | 7 +++++++ 3 files changed, 13 insertions(+) diff --git a/include/Nazara/Utility/Enums.hpp b/include/Nazara/Utility/Enums.hpp index d243a4864..ac056a41b 100644 --- a/include/Nazara/Utility/Enums.hpp +++ b/include/Nazara/Utility/Enums.hpp @@ -274,6 +274,7 @@ enum nzVertexLayout { // Déclarations destinées au rendu nzVertexLayout_XY, + nzVertexLayout_XY_Color, nzVertexLayout_XY_UV, nzVertexLayout_XYZ, nzVertexLayout_XYZ_Color, diff --git a/include/Nazara/Utility/VertexStruct.hpp b/include/Nazara/Utility/VertexStruct.hpp index 15cb02d28..9cc365aee 100644 --- a/include/Nazara/Utility/VertexStruct.hpp +++ b/include/Nazara/Utility/VertexStruct.hpp @@ -18,6 +18,11 @@ struct NzVertexStruct_XY NzVector2f position; }; +struct NzVertexStruct_XY_Color : NzVertexStruct_XY +{ + NzColor color; +}; + struct NzVertexStruct_XY_UV : NzVertexStruct_XY { NzVector2f uv; diff --git a/src/Nazara/Utility/VertexDeclaration.cpp b/src/Nazara/Utility/VertexDeclaration.cpp index 00e9d9768..9cb0162de 100644 --- a/src/Nazara/Utility/VertexDeclaration.cpp +++ b/src/Nazara/Utility/VertexDeclaration.cpp @@ -192,6 +192,13 @@ bool NzVertexDeclaration::Initialize() NazaraAssert(declaration->GetStride() == sizeof(NzVertexStruct_XY), "Invalid stride for declaration nzVertexLayout_XY"); + // nzVertexLayout_XY_Color : NzVertexStruct_XY_Color + declaration = &s_declarations[nzVertexLayout_XY_Color]; + declaration->EnableComponent(nzVertexComponent_Position, nzComponentType_Float2, NzOffsetOf(NzVertexStruct_XY_Color, position)); + declaration->EnableComponent(nzVertexComponent_Color, nzComponentType_Color, NzOffsetOf(NzVertexStruct_XY_Color, color)); + + NazaraAssert(declaration->GetStride() == sizeof(NzVertexStruct_XY_Color), "Invalid stride for declaration nzVertexLayout_XY_Color"); + // nzVertexLayout_XY_UV : NzVertexStruct_XY_UV declaration = &s_declarations[nzVertexLayout_XY_UV]; declaration->EnableComponent(nzVertexComponent_Position, nzComponentType_Float2, NzOffsetOf(NzVertexStruct_XY_UV, position));