From 62edc717503b1231579f3bc736d3a6218778ea6a Mon Sep 17 00:00:00 2001 From: Isuru Samarathunga Date: Sat, 13 Sep 2025 14:55:15 +0530 Subject: [PATCH] Remove IAMath --- .gitmodules | 4 ---- CMakeLists.txt | 1 - Dependencies/IAMath | 1 - Src/IAESandbox/imp/cpp/Game.cpp | 2 +- Src/IAEngine/CMakeLists.txt | 2 +- .../imp/cpp/Rendering/Pipeline/UnlitMesh.cpp | 4 ++-- Src/IAEngine/imp/cpp/Rendering/Renderer.cpp | 23 ++++++++++++------- Src/IAEngine/imp/cpp/Texture.cpp | 2 +- .../imp/glsl/UnlitMesh/UnlitMesh.frag | 10 +++++++- .../imp/glsl/UnlitMesh/UnlitMesh.vert | 10 ++++++-- Src/IAEngine/imp/hpp/EmbeddedShaders.hpp | 8 +++---- .../inc/IAEngine/Rendering/Renderer.hpp | 6 ++--- 12 files changed, 44 insertions(+), 29 deletions(-) delete mode 160000 Dependencies/IAMath diff --git a/.gitmodules b/.gitmodules index 2de6b50..2bee549 100644 --- a/.gitmodules +++ b/.gitmodules @@ -11,7 +11,3 @@ path = Dependencies/IACore url = https://git.iasoft.dev/dev0/IACore branch = main -[submodule "Dependencies/IAMath"] - path = Dependencies/IAMath - url = https://git.iasoft.dev/dev0/IAMath - branch = main diff --git a/CMakeLists.txt b/CMakeLists.txt index 1d5226c..55fc4e0 100644 --- a/CMakeLists.txt +++ b/CMakeLists.txt @@ -14,7 +14,6 @@ add_compile_definitions("__IA_DEBUG=1") add_subdirectory(Vendor/) add_subdirectory(Dependencies/IACore) -add_subdirectory(Dependencies/IAMath) add_subdirectory(Src/IAEngine) add_subdirectory(Src/IAESandbox) diff --git a/Dependencies/IAMath b/Dependencies/IAMath deleted file mode 160000 index 450d6b4..0000000 --- a/Dependencies/IAMath +++ /dev/null @@ -1 +0,0 @@ -Subproject commit 450d6b4ecc600f871c3ea9c16d7a19de41b6d874 diff --git a/Src/IAESandbox/imp/cpp/Game.cpp b/Src/IAESandbox/imp/cpp/Game.cpp index dc903c3..14e4dc0 100644 --- a/Src/IAESandbox/imp/cpp/Game.cpp +++ b/Src/IAESandbox/imp/cpp/Game.cpp @@ -36,6 +36,6 @@ namespace ia::iae::game VOID Game::Update() { - g_tex->Draw({}, {}, {}, false, false, {}); + g_tex->Draw({}, {1.0f, 1.0f, 1.0f}, 0.0f, false, false, {1.0f, 1.0f, 1.0f, 1.0f}); } } \ No newline at end of file diff --git a/Src/IAEngine/CMakeLists.txt b/Src/IAEngine/CMakeLists.txt index 7ade85b..e9a52b1 100644 --- a/Src/IAEngine/CMakeLists.txt +++ b/Src/IAEngine/CMakeLists.txt @@ -40,5 +40,5 @@ add_library(IAEngine STATIC ${IAEngine_Sources}) target_include_directories(IAEngine PUBLIC inc/) target_include_directories(IAEngine PRIVATE imp/hpp) -target_link_libraries(IAEngine PUBLIC IACore IAMath ImGui) +target_link_libraries(IAEngine PUBLIC IACore ImGui) target_link_libraries(IAEngine PRIVATE SDL3::SDL3 SDL3_mixer::SDL3_mixer) diff --git a/Src/IAEngine/imp/cpp/Rendering/Pipeline/UnlitMesh.cpp b/Src/IAEngine/imp/cpp/Rendering/Pipeline/UnlitMesh.cpp index a23b265..7d57776 100644 --- a/Src/IAEngine/imp/cpp/Rendering/Pipeline/UnlitMesh.cpp +++ b/Src/IAEngine/imp/cpp/Rendering/Pipeline/UnlitMesh.cpp @@ -35,8 +35,8 @@ namespace ia::iae { const auto res = MakeRefPtr(); - const auto vertexShader = LoadShaderFromMemory(ShaderStage::VERTEX, SHADER_SOURCE_UNLITMESH_VERT, sizeof(SHADER_SOURCE_UNLITMESH_VERT), 0, 0, 0, 0); - const auto pixelShader = LoadShaderFromMemory(ShaderStage::PIXEL, SHADER_SOURCE_UNLITMESH_FRAG, sizeof(SHADER_SOURCE_UNLITMESH_FRAG), 1, 0, 0, 0); + const auto vertexShader = LoadShaderFromMemory(ShaderStage::VERTEX, SHADER_SOURCE_UNLITMESH_VERT, sizeof(SHADER_SOURCE_UNLITMESH_VERT), 0, 1, 0, 0); + const auto pixelShader = LoadShaderFromMemory(ShaderStage::PIXEL, SHADER_SOURCE_UNLITMESH_FRAG, sizeof(SHADER_SOURCE_UNLITMESH_FRAG), 1, 1, 0, 0); SDL_GPUColorTargetDescription colorTargets[] = { {.format = SDL_GetGPUSwapchainTextureFormat(g_gpuDevice, g_windowHandle)}}; diff --git a/Src/IAEngine/imp/cpp/Rendering/Renderer.cpp b/Src/IAEngine/imp/cpp/Rendering/Renderer.cpp index 9cb5ed8..164a87d 100644 --- a/Src/IAEngine/imp/cpp/Rendering/Renderer.cpp +++ b/Src/IAEngine/imp/cpp/Rendering/Renderer.cpp @@ -179,23 +179,30 @@ namespace ia::iae SDL_SubmitGPUCommandBuffer(g_cmdBuffer); } - VOID Renderer::BindTexture(IN Handle handle, IN INT32 index) + VOID Renderer::BindTexture(IN Handle handle, IN BOOL flipV, IN BOOL flipH, IN CONST iam::Vec4f &colorOverlay) { - SDL_GPUTextureSamplerBinding binding { - .texture = (SDL_GPUTexture*)handle, - .sampler = (SDL_GPUSampler*)GPUTexture::GetDefaultSampler() - }; - SDL_BindGPUFragmentSamplers(g_renderPass, index, &binding, 1); + STATIC struct + { + iam::Vec4f colorOverlay; + UINT32 flipV; + UINT32 flipH; + } textureState; + + textureState = {colorOverlay, flipV, flipH}; + SDL_GPUTextureSamplerBinding binding{.texture = (SDL_GPUTexture *) handle, + .sampler = (SDL_GPUSampler *) GPUTexture::GetDefaultSampler()}; + SDL_BindGPUFragmentSamplers(g_renderPass, 0, &binding, 1); + SDL_PushGPUFragmentUniformData(g_cmdBuffer, 0, &textureState, sizeof(textureState)); } - VOID Renderer::Draw(IN Handle vertexBufferHandle, IN INT32 vertexCount) + VOID Renderer::Draw(IN CONST iam::Vec3f &position, IN CONST iam::Vec3f &scale, IN FLOAT32 rotation, IN Handle vertexBufferHandle, IN INT32 vertexCount) { SDL_GPUBufferBinding bindings[] = {{.buffer = (SDL_GPUBuffer *) vertexBufferHandle, .offset = 0}}; SDL_BindGPUVertexBuffers(g_renderPass, 0, bindings, 1); SDL_DrawGPUPrimitives(g_renderPass, vertexCount, 1, 0, 0); } - VOID Renderer::Draw(IN Handle vertexBufferHandle, IN Handle indexBufferHandle, IN INT32 indexCount) + VOID Renderer::Draw(IN CONST iam::Vec3f &position, IN CONST iam::Vec3f &scale, IN FLOAT32 rotation, IN Handle vertexBufferHandle, IN Handle indexBufferHandle, IN INT32 indexCount) { SDL_GPUBufferBinding bindings[] = {{.buffer = (SDL_GPUBuffer *) vertexBufferHandle, .offset = 0}, {.buffer = (SDL_GPUBuffer *) indexBufferHandle, .offset = 0}}; diff --git a/Src/IAEngine/imp/cpp/Texture.cpp b/Src/IAEngine/imp/cpp/Texture.cpp index 0d0961b..e7180a1 100644 --- a/Src/IAEngine/imp/cpp/Texture.cpp +++ b/Src/IAEngine/imp/cpp/Texture.cpp @@ -34,7 +34,7 @@ namespace ia::iae VOID Texture::Draw(IN CONST iam::Vec3f &position, IN CONST iam::Vec3f &scale, IN FLOAT32 rotation, IN BOOL flipH, IN BOOL flipV, IN CONST iam::Vec4f &colorOverlay) CONST { - Renderer::BindTexture(m_handle, 0); + Renderer::BindTexture(m_handle, flipV, flipH, colorOverlay); QuadMesh::Draw(position, m_size * scale, rotation); } } // namespace ia::iae \ No newline at end of file diff --git a/Src/IAEngine/imp/glsl/UnlitMesh/UnlitMesh.frag b/Src/IAEngine/imp/glsl/UnlitMesh/UnlitMesh.frag index 8003fcf..1b8212f 100644 --- a/Src/IAEngine/imp/glsl/UnlitMesh/UnlitMesh.frag +++ b/Src/IAEngine/imp/glsl/UnlitMesh/UnlitMesh.frag @@ -6,8 +6,16 @@ layout(location = 0) in vec2 inTexCoord; layout(location = 0) out vec4 outColor; layout(set = 2, binding = 0) uniform sampler2D texSampler; +layout(set = 3, binding = 0) uniform UniformBufferObject { + vec4 colorOverlay; + bool flipV; + bool flipH; +} ubo; void main() { - outColor = texture(texSampler, inTexCoord); + vec2 uv = inTexCoord; + if(ubo.flipH) uv.x = 1 - uv.x; + if(ubo.flipV) uv.y = 1 - uv.y; + outColor = texture(texSampler, uv) * ubo.colorOverlay; } \ No newline at end of file diff --git a/Src/IAEngine/imp/glsl/UnlitMesh/UnlitMesh.vert b/Src/IAEngine/imp/glsl/UnlitMesh/UnlitMesh.vert index 16a8fcb..d8cf0b5 100644 --- a/Src/IAEngine/imp/glsl/UnlitMesh/UnlitMesh.vert +++ b/Src/IAEngine/imp/glsl/UnlitMesh/UnlitMesh.vert @@ -2,12 +2,18 @@ #extension GL_ARB_separate_shader_objects : enable layout (location = 0) in vec3 inPosition; -layout (location = 1) in vec2 inTexcCoord; +layout (location = 1) in vec2 inTexCoord; layout(location = 0) out vec2 outTexCoord; +layout(set = 1, binding = 0) uniform UniformBufferObject { + mat4 model; + mat4 view; + mat4 proj; +} ubo; + void main() { gl_Position = vec4(inPosition, 1.0f); - outTexCoord = inTexcCoord; + outTexCoord = inTexCoord; } \ No newline at end of file diff --git a/Src/IAEngine/imp/hpp/EmbeddedShaders.hpp b/Src/IAEngine/imp/hpp/EmbeddedShaders.hpp index 45a1a45..87d4965 100644 --- a/Src/IAEngine/imp/hpp/EmbeddedShaders.hpp +++ b/Src/IAEngine/imp/hpp/EmbeddedShaders.hpp @@ -24,10 +24,10 @@ namespace ia::iae { -CONSTEXPR UINT8 SHADER_SOURCE_UNLITMESH_VERT[1124] = { -0x3,0x2,0x23,0x7,0x0,0x0,0x1,0x0,0xb,0x0,0xd,0x0,0x21,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0x0,0x2,0x0,0x1,0x0,0x0,0x0,0xb,0x0,0x6,0x0,0x1,0x0,0x0,0x0,0x47,0x4c,0x53,0x4c,0x2e,0x73,0x74,0x64,0x2e,0x34,0x35,0x30,0x0,0x0,0x0,0x0,0xe,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xf,0x0,0x9,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x6d,0x61,0x69,0x6e,0x0,0x0,0x0,0x0,0xd,0x0,0x0,0x0,0x12,0x0,0x0,0x0,0x1d,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x3,0x0,0x3,0x0,0x2,0x0,0x0,0x0,0xc2,0x1,0x0,0x0,0x4,0x0,0x9,0x0,0x47,0x4c,0x5f,0x41,0x52,0x42,0x5f,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x65,0x5f,0x73,0x68,0x61,0x64,0x65,0x72,0x5f,0x6f,0x62,0x6a,0x65,0x63,0x74,0x73,0x0,0x0,0x4,0x0,0xa,0x0,0x47,0x4c,0x5f,0x47,0x4f,0x4f,0x47,0x4c,0x45,0x5f,0x63,0x70,0x70,0x5f,0x73,0x74,0x79,0x6c,0x65,0x5f,0x6c,0x69,0x6e,0x65,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x76,0x65,0x0,0x0,0x4,0x0,0x8,0x0,0x47,0x4c,0x5f,0x47,0x4f,0x4f,0x47,0x4c,0x45,0x5f,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x76,0x65,0x0,0x5,0x0,0x4,0x0,0x4,0x0,0x0,0x0,0x6d,0x61,0x69,0x6e,0x0,0x0,0x0,0x0,0x5,0x0,0x6,0x0,0xb,0x0,0x0,0x0,0x67,0x6c,0x5f,0x50,0x65,0x72,0x56,0x65,0x72,0x74,0x65,0x78,0x0,0x0,0x0,0x0,0x6,0x0,0x6,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x0,0x6,0x0,0x7,0x0,0xb,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x67,0x6c,0x5f,0x50,0x6f,0x69,0x6e,0x74,0x53,0x69,0x7a,0x65,0x0,0x0,0x0,0x0,0x6,0x0,0x7,0x0,0xb,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x67,0x6c,0x5f,0x43,0x6c,0x69,0x70,0x44,0x69,0x73,0x74,0x61,0x6e,0x63,0x65,0x0,0x6,0x0,0x7,0x0,0xb,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x67,0x6c,0x5f,0x43,0x75,0x6c,0x6c,0x44,0x69,0x73,0x74,0x61,0x6e,0x63,0x65,0x0,0x5,0x0,0x3,0x0,0xd,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x5,0x0,0x5,0x0,0x12,0x0,0x0,0x0,0x69,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x0,0x0,0x5,0x0,0x5,0x0,0x1d,0x0,0x0,0x0,0x6f,0x75,0x74,0x54,0x65,0x78,0x43,0x6f,0x6f,0x72,0x64,0x0,0x5,0x0,0x5,0x0,0x1f,0x0,0x0,0x0,0x69,0x6e,0x54,0x65,0x78,0x63,0x43,0x6f,0x6f,0x72,0x64,0x0,0x47,0x0,0x3,0x0,0xb,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0xb,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0xb,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0xb,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x12,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x1d,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x1f,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x13,0x0,0x2,0x0,0x2,0x0,0x0,0x0,0x21,0x0,0x3,0x0,0x3,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x16,0x0,0x3,0x0,0x6,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x17,0x0,0x4,0x0,0x7,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x15,0x0,0x4,0x0,0x8,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0x8,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1c,0x0,0x4,0x0,0xa,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x1e,0x0,0x6,0x0,0xb,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0xa,0x0,0x0,0x0,0xa,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0xc,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0xc,0x0,0x0,0x0,0xd,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x15,0x0,0x4,0x0,0xe,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0xe,0x0,0x0,0x0,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x17,0x0,0x4,0x0,0x10,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x11,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x11,0x0,0x0,0x0,0x12,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0x6,0x0,0x0,0x0,0x14,0x0,0x0,0x0,0x0,0x0,0x80,0x3f,0x20,0x0,0x4,0x0,0x19,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x17,0x0,0x4,0x0,0x1b,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x1c,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x1b,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x1c,0x0,0x0,0x0,0x1d,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x1e,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1b,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x1e,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x36,0x0,0x5,0x0,0x2,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0xf8,0x0,0x2,0x0,0x5,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0x10,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0x12,0x0,0x0,0x0,0x51,0x0,0x5,0x0,0x6,0x0,0x0,0x0,0x15,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x51,0x0,0x5,0x0,0x6,0x0,0x0,0x0,0x16,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x51,0x0,0x5,0x0,0x6,0x0,0x0,0x0,0x17,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x50,0x0,0x7,0x0,0x7,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x15,0x0,0x0,0x0,0x16,0x0,0x0,0x0,0x17,0x0,0x0,0x0,0x14,0x0,0x0,0x0,0x41,0x0,0x5,0x0,0x19,0x0,0x0,0x0,0x1a,0x0,0x0,0x0,0xd,0x0,0x0,0x0,0xf,0x0,0x0,0x0,0x3e,0x0,0x3,0x0,0x1a,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0x1b,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x3e,0x0,0x3,0x0,0x1d,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0xfd,0x0,0x1,0x0,0x38,0x0,0x1,0x0,}; +CONSTEXPR UINT8 SHADER_SOURCE_UNLITMESH_VERT[1504] = { +0x3,0x2,0x23,0x7,0x0,0x0,0x1,0x0,0xb,0x0,0xd,0x0,0x25,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0x0,0x2,0x0,0x1,0x0,0x0,0x0,0xb,0x0,0x6,0x0,0x1,0x0,0x0,0x0,0x47,0x4c,0x53,0x4c,0x2e,0x73,0x74,0x64,0x2e,0x34,0x35,0x30,0x0,0x0,0x0,0x0,0xe,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xf,0x0,0x9,0x0,0x0,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x6d,0x61,0x69,0x6e,0x0,0x0,0x0,0x0,0xd,0x0,0x0,0x0,0x12,0x0,0x0,0x0,0x1d,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x3,0x0,0x3,0x0,0x2,0x0,0x0,0x0,0xc2,0x1,0x0,0x0,0x4,0x0,0x9,0x0,0x47,0x4c,0x5f,0x41,0x52,0x42,0x5f,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x65,0x5f,0x73,0x68,0x61,0x64,0x65,0x72,0x5f,0x6f,0x62,0x6a,0x65,0x63,0x74,0x73,0x0,0x0,0x4,0x0,0xa,0x0,0x47,0x4c,0x5f,0x47,0x4f,0x4f,0x47,0x4c,0x45,0x5f,0x63,0x70,0x70,0x5f,0x73,0x74,0x79,0x6c,0x65,0x5f,0x6c,0x69,0x6e,0x65,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x76,0x65,0x0,0x0,0x4,0x0,0x8,0x0,0x47,0x4c,0x5f,0x47,0x4f,0x4f,0x47,0x4c,0x45,0x5f,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x76,0x65,0x0,0x5,0x0,0x4,0x0,0x4,0x0,0x0,0x0,0x6d,0x61,0x69,0x6e,0x0,0x0,0x0,0x0,0x5,0x0,0x6,0x0,0xb,0x0,0x0,0x0,0x67,0x6c,0x5f,0x50,0x65,0x72,0x56,0x65,0x72,0x74,0x65,0x78,0x0,0x0,0x0,0x0,0x6,0x0,0x6,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x67,0x6c,0x5f,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x0,0x6,0x0,0x7,0x0,0xb,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x67,0x6c,0x5f,0x50,0x6f,0x69,0x6e,0x74,0x53,0x69,0x7a,0x65,0x0,0x0,0x0,0x0,0x6,0x0,0x7,0x0,0xb,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x67,0x6c,0x5f,0x43,0x6c,0x69,0x70,0x44,0x69,0x73,0x74,0x61,0x6e,0x63,0x65,0x0,0x6,0x0,0x7,0x0,0xb,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x67,0x6c,0x5f,0x43,0x75,0x6c,0x6c,0x44,0x69,0x73,0x74,0x61,0x6e,0x63,0x65,0x0,0x5,0x0,0x3,0x0,0xd,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x5,0x0,0x5,0x0,0x12,0x0,0x0,0x0,0x69,0x6e,0x50,0x6f,0x73,0x69,0x74,0x69,0x6f,0x6e,0x0,0x0,0x5,0x0,0x5,0x0,0x1d,0x0,0x0,0x0,0x6f,0x75,0x74,0x54,0x65,0x78,0x43,0x6f,0x6f,0x72,0x64,0x0,0x5,0x0,0x5,0x0,0x1f,0x0,0x0,0x0,0x69,0x6e,0x54,0x65,0x78,0x43,0x6f,0x6f,0x72,0x64,0x0,0x0,0x5,0x0,0x7,0x0,0x22,0x0,0x0,0x0,0x55,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x42,0x75,0x66,0x66,0x65,0x72,0x4f,0x62,0x6a,0x65,0x63,0x74,0x0,0x6,0x0,0x5,0x0,0x22,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x6d,0x6f,0x64,0x65,0x6c,0x0,0x0,0x0,0x6,0x0,0x5,0x0,0x22,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x76,0x69,0x65,0x77,0x0,0x0,0x0,0x0,0x6,0x0,0x5,0x0,0x22,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x70,0x72,0x6f,0x6a,0x0,0x0,0x0,0x0,0x5,0x0,0x3,0x0,0x24,0x0,0x0,0x0,0x75,0x62,0x6f,0x0,0x47,0x0,0x3,0x0,0xb,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0xb,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0xb,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0xb,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x12,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x1d,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x1f,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x47,0x0,0x3,0x0,0x22,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x48,0x0,0x4,0x0,0x22,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x5,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0x22,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0x22,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x23,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x4,0x0,0x22,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x5,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0x22,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0x22,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x23,0x0,0x0,0x0,0x40,0x0,0x0,0x0,0x48,0x0,0x4,0x0,0x22,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x5,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0x22,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0x22,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x23,0x0,0x0,0x0,0x80,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x24,0x0,0x0,0x0,0x21,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x24,0x0,0x0,0x0,0x22,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x13,0x0,0x2,0x0,0x2,0x0,0x0,0x0,0x21,0x0,0x3,0x0,0x3,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x16,0x0,0x3,0x0,0x6,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x17,0x0,0x4,0x0,0x7,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x15,0x0,0x4,0x0,0x8,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0x8,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1c,0x0,0x4,0x0,0xa,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x1e,0x0,0x6,0x0,0xb,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0xa,0x0,0x0,0x0,0xa,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0xc,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0xc,0x0,0x0,0x0,0xd,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x15,0x0,0x4,0x0,0xe,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0xe,0x0,0x0,0x0,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x17,0x0,0x4,0x0,0x10,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x11,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x11,0x0,0x0,0x0,0x12,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0x6,0x0,0x0,0x0,0x14,0x0,0x0,0x0,0x0,0x0,0x80,0x3f,0x20,0x0,0x4,0x0,0x19,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x17,0x0,0x4,0x0,0x1b,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x1c,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x1b,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x1c,0x0,0x0,0x0,0x1d,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x1e,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x1b,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x1e,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x18,0x0,0x4,0x0,0x21,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x1e,0x0,0x5,0x0,0x22,0x0,0x0,0x0,0x21,0x0,0x0,0x0,0x21,0x0,0x0,0x0,0x21,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x23,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x22,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x23,0x0,0x0,0x0,0x24,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x36,0x0,0x5,0x0,0x2,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0xf8,0x0,0x2,0x0,0x5,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0x10,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0x12,0x0,0x0,0x0,0x51,0x0,0x5,0x0,0x6,0x0,0x0,0x0,0x15,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x51,0x0,0x5,0x0,0x6,0x0,0x0,0x0,0x16,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x51,0x0,0x5,0x0,0x6,0x0,0x0,0x0,0x17,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x50,0x0,0x7,0x0,0x7,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x15,0x0,0x0,0x0,0x16,0x0,0x0,0x0,0x17,0x0,0x0,0x0,0x14,0x0,0x0,0x0,0x41,0x0,0x5,0x0,0x19,0x0,0x0,0x0,0x1a,0x0,0x0,0x0,0xd,0x0,0x0,0x0,0xf,0x0,0x0,0x0,0x3e,0x0,0x3,0x0,0x1a,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0x1b,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x3e,0x0,0x3,0x0,0x1d,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0xfd,0x0,0x1,0x0,0x38,0x0,0x1,0x0,}; -CONSTEXPR UINT8 SHADER_SOURCE_UNLITMESH_FRAG[672] = { -0x3,0x2,0x23,0x7,0x0,0x0,0x1,0x0,0xb,0x0,0xd,0x0,0x14,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0x0,0x2,0x0,0x1,0x0,0x0,0x0,0xb,0x0,0x6,0x0,0x1,0x0,0x0,0x0,0x47,0x4c,0x53,0x4c,0x2e,0x73,0x74,0x64,0x2e,0x34,0x35,0x30,0x0,0x0,0x0,0x0,0xe,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xf,0x0,0x7,0x0,0x4,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x6d,0x61,0x69,0x6e,0x0,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x11,0x0,0x0,0x0,0x10,0x0,0x3,0x0,0x4,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x3,0x0,0x3,0x0,0x2,0x0,0x0,0x0,0xc2,0x1,0x0,0x0,0x4,0x0,0x9,0x0,0x47,0x4c,0x5f,0x41,0x52,0x42,0x5f,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x65,0x5f,0x73,0x68,0x61,0x64,0x65,0x72,0x5f,0x6f,0x62,0x6a,0x65,0x63,0x74,0x73,0x0,0x0,0x4,0x0,0xa,0x0,0x47,0x4c,0x5f,0x47,0x4f,0x4f,0x47,0x4c,0x45,0x5f,0x63,0x70,0x70,0x5f,0x73,0x74,0x79,0x6c,0x65,0x5f,0x6c,0x69,0x6e,0x65,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x76,0x65,0x0,0x0,0x4,0x0,0x8,0x0,0x47,0x4c,0x5f,0x47,0x4f,0x4f,0x47,0x4c,0x45,0x5f,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x76,0x65,0x0,0x5,0x0,0x4,0x0,0x4,0x0,0x0,0x0,0x6d,0x61,0x69,0x6e,0x0,0x0,0x0,0x0,0x5,0x0,0x5,0x0,0x9,0x0,0x0,0x0,0x6f,0x75,0x74,0x43,0x6f,0x6c,0x6f,0x72,0x0,0x0,0x0,0x0,0x5,0x0,0x5,0x0,0xd,0x0,0x0,0x0,0x74,0x65,0x78,0x53,0x61,0x6d,0x70,0x6c,0x65,0x72,0x0,0x0,0x5,0x0,0x5,0x0,0x11,0x0,0x0,0x0,0x69,0x6e,0x54,0x65,0x78,0x43,0x6f,0x6f,0x72,0x64,0x0,0x0,0x47,0x0,0x4,0x0,0x9,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0xd,0x0,0x0,0x0,0x21,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0xd,0x0,0x0,0x0,0x22,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x11,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x13,0x0,0x2,0x0,0x2,0x0,0x0,0x0,0x21,0x0,0x3,0x0,0x3,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x16,0x0,0x3,0x0,0x6,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x17,0x0,0x4,0x0,0x7,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x8,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x8,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x19,0x0,0x9,0x0,0xa,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1b,0x0,0x3,0x0,0xb,0x0,0x0,0x0,0xa,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0xc,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0xc,0x0,0x0,0x0,0xd,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x17,0x0,0x4,0x0,0xf,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x10,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xf,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x10,0x0,0x0,0x0,0x11,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x36,0x0,0x5,0x0,0x2,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0xf8,0x0,0x2,0x0,0x5,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0xb,0x0,0x0,0x0,0xe,0x0,0x0,0x0,0xd,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0xf,0x0,0x0,0x0,0x12,0x0,0x0,0x0,0x11,0x0,0x0,0x0,0x57,0x0,0x5,0x0,0x7,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0xe,0x0,0x0,0x0,0x12,0x0,0x0,0x0,0x3e,0x0,0x3,0x0,0x9,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0xfd,0x0,0x1,0x0,0x38,0x0,0x1,0x0,}; +CONSTEXPR UINT8 SHADER_SOURCE_UNLITMESH_FRAG[1640] = { +0x3,0x2,0x23,0x7,0x0,0x0,0x1,0x0,0xb,0x0,0xd,0x0,0x3b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x11,0x0,0x2,0x0,0x1,0x0,0x0,0x0,0xb,0x0,0x6,0x0,0x1,0x0,0x0,0x0,0x47,0x4c,0x53,0x4c,0x2e,0x73,0x74,0x64,0x2e,0x34,0x35,0x30,0x0,0x0,0x0,0x0,0xe,0x0,0x3,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0xf,0x0,0x7,0x0,0x4,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x6d,0x61,0x69,0x6e,0x0,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x2e,0x0,0x0,0x0,0x10,0x0,0x3,0x0,0x4,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x3,0x0,0x3,0x0,0x2,0x0,0x0,0x0,0xc2,0x1,0x0,0x0,0x4,0x0,0x9,0x0,0x47,0x4c,0x5f,0x41,0x52,0x42,0x5f,0x73,0x65,0x70,0x61,0x72,0x61,0x74,0x65,0x5f,0x73,0x68,0x61,0x64,0x65,0x72,0x5f,0x6f,0x62,0x6a,0x65,0x63,0x74,0x73,0x0,0x0,0x4,0x0,0xa,0x0,0x47,0x4c,0x5f,0x47,0x4f,0x4f,0x47,0x4c,0x45,0x5f,0x63,0x70,0x70,0x5f,0x73,0x74,0x79,0x6c,0x65,0x5f,0x6c,0x69,0x6e,0x65,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x76,0x65,0x0,0x0,0x4,0x0,0x8,0x0,0x47,0x4c,0x5f,0x47,0x4f,0x4f,0x47,0x4c,0x45,0x5f,0x69,0x6e,0x63,0x6c,0x75,0x64,0x65,0x5f,0x64,0x69,0x72,0x65,0x63,0x74,0x69,0x76,0x65,0x0,0x5,0x0,0x4,0x0,0x4,0x0,0x0,0x0,0x6d,0x61,0x69,0x6e,0x0,0x0,0x0,0x0,0x5,0x0,0x3,0x0,0x9,0x0,0x0,0x0,0x75,0x76,0x0,0x0,0x5,0x0,0x5,0x0,0xb,0x0,0x0,0x0,0x69,0x6e,0x54,0x65,0x78,0x43,0x6f,0x6f,0x72,0x64,0x0,0x0,0x5,0x0,0x7,0x0,0xf,0x0,0x0,0x0,0x55,0x6e,0x69,0x66,0x6f,0x72,0x6d,0x42,0x75,0x66,0x66,0x65,0x72,0x4f,0x62,0x6a,0x65,0x63,0x74,0x0,0x6,0x0,0x7,0x0,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x63,0x6f,0x6c,0x6f,0x72,0x4f,0x76,0x65,0x72,0x6c,0x61,0x79,0x0,0x0,0x0,0x0,0x6,0x0,0x5,0x0,0xf,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x66,0x6c,0x69,0x70,0x56,0x0,0x0,0x0,0x6,0x0,0x5,0x0,0xf,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x66,0x6c,0x69,0x70,0x48,0x0,0x0,0x0,0x5,0x0,0x3,0x0,0x11,0x0,0x0,0x0,0x75,0x62,0x6f,0x0,0x5,0x0,0x5,0x0,0x2e,0x0,0x0,0x0,0x6f,0x75,0x74,0x43,0x6f,0x6c,0x6f,0x72,0x0,0x0,0x0,0x0,0x5,0x0,0x5,0x0,0x32,0x0,0x0,0x0,0x74,0x65,0x78,0x53,0x61,0x6d,0x70,0x6c,0x65,0x72,0x0,0x0,0x47,0x0,0x4,0x0,0xb,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x0,0x3,0x0,0xf,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0xf,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x23,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0xf,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x23,0x0,0x0,0x0,0x10,0x0,0x0,0x0,0x48,0x0,0x5,0x0,0xf,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x23,0x0,0x0,0x0,0x14,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x11,0x0,0x0,0x0,0x21,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x11,0x0,0x0,0x0,0x22,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x2e,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x32,0x0,0x0,0x0,0x21,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x47,0x0,0x4,0x0,0x32,0x0,0x0,0x0,0x22,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x13,0x0,0x2,0x0,0x2,0x0,0x0,0x0,0x21,0x0,0x3,0x0,0x3,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x16,0x0,0x3,0x0,0x6,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x17,0x0,0x4,0x0,0x7,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x8,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0xa,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0xa,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x17,0x0,0x4,0x0,0xd,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x15,0x0,0x4,0x0,0xe,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1e,0x0,0x5,0x0,0xf,0x0,0x0,0x0,0xd,0x0,0x0,0x0,0xe,0x0,0x0,0x0,0xe,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x10,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0xf,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x10,0x0,0x0,0x0,0x11,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x15,0x0,0x4,0x0,0x12,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0x12,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x14,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0xe,0x0,0x0,0x0,0x14,0x0,0x2,0x0,0x17,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0xe,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0x6,0x0,0x0,0x0,0x1c,0x0,0x0,0x0,0x0,0x0,0x80,0x3f,0x20,0x0,0x4,0x0,0x1d,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0x12,0x0,0x0,0x0,0x22,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0xe,0x0,0x0,0x0,0x28,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x2d,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0xd,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x2d,0x0,0x0,0x0,0x2e,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0x19,0x0,0x9,0x0,0x2f,0x0,0x0,0x0,0x6,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x1b,0x0,0x3,0x0,0x30,0x0,0x0,0x0,0x2f,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x31,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x30,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x31,0x0,0x0,0x0,0x32,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x2b,0x0,0x4,0x0,0x12,0x0,0x0,0x0,0x36,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x20,0x0,0x4,0x0,0x37,0x0,0x0,0x0,0x2,0x0,0x0,0x0,0xd,0x0,0x0,0x0,0x36,0x0,0x5,0x0,0x2,0x0,0x0,0x0,0x4,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0x3,0x0,0x0,0x0,0xf8,0x0,0x2,0x0,0x5,0x0,0x0,0x0,0x3b,0x0,0x4,0x0,0x8,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x7,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0x7,0x0,0x0,0x0,0xc,0x0,0x0,0x0,0xb,0x0,0x0,0x0,0x3e,0x0,0x3,0x0,0x9,0x0,0x0,0x0,0xc,0x0,0x0,0x0,0x41,0x0,0x5,0x0,0x14,0x0,0x0,0x0,0x15,0x0,0x0,0x0,0x11,0x0,0x0,0x0,0x13,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0xe,0x0,0x0,0x0,0x16,0x0,0x0,0x0,0x15,0x0,0x0,0x0,0xab,0x0,0x5,0x0,0x17,0x0,0x0,0x0,0x19,0x0,0x0,0x0,0x16,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0xf7,0x0,0x3,0x0,0x1b,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfa,0x0,0x4,0x0,0x19,0x0,0x0,0x0,0x1a,0x0,0x0,0x0,0x1b,0x0,0x0,0x0,0xf8,0x0,0x2,0x0,0x1a,0x0,0x0,0x0,0x41,0x0,0x5,0x0,0x1d,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0x6,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x1e,0x0,0x0,0x0,0x83,0x0,0x5,0x0,0x6,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0x1c,0x0,0x0,0x0,0x1f,0x0,0x0,0x0,0x41,0x0,0x5,0x0,0x1d,0x0,0x0,0x0,0x21,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0x3e,0x0,0x3,0x0,0x21,0x0,0x0,0x0,0x20,0x0,0x0,0x0,0xf9,0x0,0x2,0x0,0x1b,0x0,0x0,0x0,0xf8,0x0,0x2,0x0,0x1b,0x0,0x0,0x0,0x41,0x0,0x5,0x0,0x14,0x0,0x0,0x0,0x23,0x0,0x0,0x0,0x11,0x0,0x0,0x0,0x22,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0xe,0x0,0x0,0x0,0x24,0x0,0x0,0x0,0x23,0x0,0x0,0x0,0xab,0x0,0x5,0x0,0x17,0x0,0x0,0x0,0x25,0x0,0x0,0x0,0x24,0x0,0x0,0x0,0x18,0x0,0x0,0x0,0xf7,0x0,0x3,0x0,0x27,0x0,0x0,0x0,0x0,0x0,0x0,0x0,0xfa,0x0,0x4,0x0,0x25,0x0,0x0,0x0,0x26,0x0,0x0,0x0,0x27,0x0,0x0,0x0,0xf8,0x0,0x2,0x0,0x26,0x0,0x0,0x0,0x41,0x0,0x5,0x0,0x1d,0x0,0x0,0x0,0x29,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x28,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0x6,0x0,0x0,0x0,0x2a,0x0,0x0,0x0,0x29,0x0,0x0,0x0,0x83,0x0,0x5,0x0,0x6,0x0,0x0,0x0,0x2b,0x0,0x0,0x0,0x1c,0x0,0x0,0x0,0x2a,0x0,0x0,0x0,0x41,0x0,0x5,0x0,0x1d,0x0,0x0,0x0,0x2c,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x28,0x0,0x0,0x0,0x3e,0x0,0x3,0x0,0x2c,0x0,0x0,0x0,0x2b,0x0,0x0,0x0,0xf9,0x0,0x2,0x0,0x27,0x0,0x0,0x0,0xf8,0x0,0x2,0x0,0x27,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0x30,0x0,0x0,0x0,0x33,0x0,0x0,0x0,0x32,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0x7,0x0,0x0,0x0,0x34,0x0,0x0,0x0,0x9,0x0,0x0,0x0,0x57,0x0,0x5,0x0,0xd,0x0,0x0,0x0,0x35,0x0,0x0,0x0,0x33,0x0,0x0,0x0,0x34,0x0,0x0,0x0,0x41,0x0,0x5,0x0,0x37,0x0,0x0,0x0,0x38,0x0,0x0,0x0,0x11,0x0,0x0,0x0,0x36,0x0,0x0,0x0,0x3d,0x0,0x4,0x0,0xd,0x0,0x0,0x0,0x39,0x0,0x0,0x0,0x38,0x0,0x0,0x0,0x85,0x0,0x5,0x0,0xd,0x0,0x0,0x0,0x3a,0x0,0x0,0x0,0x35,0x0,0x0,0x0,0x39,0x0,0x0,0x0,0x3e,0x0,0x3,0x0,0x2e,0x0,0x0,0x0,0x3a,0x0,0x0,0x0,0xfd,0x0,0x1,0x0,0x38,0x0,0x1,0x0,}; } // namespace ia::iae diff --git a/Src/IAEngine/inc/IAEngine/Rendering/Renderer.hpp b/Src/IAEngine/inc/IAEngine/Rendering/Renderer.hpp index b126dce..6f73d8b 100644 --- a/Src/IAEngine/inc/IAEngine/Rendering/Renderer.hpp +++ b/Src/IAEngine/inc/IAEngine/Rendering/Renderer.hpp @@ -44,10 +44,10 @@ namespace ia::iae STATIC VOID BeginFrame(); STATIC VOID EndFrame(); - STATIC VOID BindTexture(IN Handle handle, IN INT32 index); + STATIC VOID BindTexture(IN Handle handle, IN BOOL flipV, IN BOOL flipH, IN CONST iam::Vec4f& colorOverlay); - STATIC VOID Draw(IN Handle vertexBufferHandle, IN INT32 vertexCount); - STATIC VOID Draw(IN Handle vertexBufferHandle, IN Handle indexBufferHandle, IN INT32 indexCount); + STATIC VOID Draw(IN CONST iam::Vec3f &position, IN CONST iam::Vec3f &scale, IN FLOAT32 rotation, IN Handle vertexBufferHandle, IN INT32 vertexCount); + STATIC VOID Draw(IN CONST iam::Vec3f &position, IN CONST iam::Vec3f &scale, IN FLOAT32 rotation, IN Handle vertexBufferHandle, IN Handle indexBufferHandle, IN INT32 indexCount); public: STATIC INT32 Width()