diff options
Diffstat (limited to 'Runtime/Rendering/UIQuad.cpp')
-rw-r--r-- | Runtime/Rendering/UIQuad.cpp | 63 |
1 files changed, 0 insertions, 63 deletions
diff --git a/Runtime/Rendering/UIQuad.cpp b/Runtime/Rendering/UIQuad.cpp deleted file mode 100644 index 089d0e1..0000000 --- a/Runtime/Rendering/UIQuad.cpp +++ /dev/null @@ -1,63 +0,0 @@ -#include "../Math/Vector2.h" -#include "../Graphics/GfxDevice.h" -#include "UIQuad.h" - -struct UIQuadLayout -{ - Internal::Vector2 position; - Internal::Vector2 uv; -}; - -static CustomVertexLayout layout; - -InitializeStaticVariables([]() { - VertexAttributeDescriptor POSITION = VertexAttributeDescriptor(0, 2, VertexAttrFormat_Float, sizeof(UIQuadLayout)); - VertexAttributeDescriptor UV = VertexAttributeDescriptor(sizeof(Internal::Vector2), 2, VertexAttrFormat_Float, sizeof(UIQuadLayout)); - - layout.attributes.push_back(POSITION); - layout.attributes.push_back(UV); -}); - -void UIQuad::Draw() -{ - const int nVerts = 4; - const int nIndices = 6; - - float pos[] = { - m_Left, m_Bottom, // left-bottom - m_Right, m_Bottom, // right-bottom - m_Right, m_Top, // right-top - m_Left, m_Top, // top-left - }; - - float uv[] = { - 0, 0, - 1, 0, - 1, 1, - 0, 1, - }; - - int indices[] = { - 0, 1, 3, // right-top - 1, 2, 3, // left-bottom - }; - - uint8* vb; - uint16* ib; - - g_SharedVBO.GetChunk(sizeof(UIQuadLayout), sizeof(uint16), 4, 6, Primitive_Triangle, (void**)&vb, (void**)&ib); - - UIQuadLayout* dst = (UIQuadLayout*)vb; - - for (int i = 0; i < nVerts; ++i) - { - dst[i].position.Set(pos[2 * i], pos[2 * i + 1]); - dst[i].uv.Set(uv[2 * i], uv[2 * i + 1]); - } - - for (int i = 0; i < nIndices; ++i) - ib[i] = indices[i]; - - g_SharedVBO.ReleaseChunk(4, 6); - g_SharedVBO.DrawChunk(layout); -}
\ No newline at end of file |