From d1a41ea19482d0b156e04a58ad329531dd9ec746 Mon Sep 17 00:00:00 2001 From: Kah Wei Date: Fri, 13 Jan 2023 20:33:25 +0800 Subject: [PATCH] Fixed raccoon not rendering for animated material --- Assets/Materials/AnimatedRaccoon.shmat | 2 +- Assets/Shaders/Anim_VS.glsl | 2 +- Assets/Shaders/Anim_VS.shshaderb | Bin 5633 -> 5597 bytes .../Graphics/MiddleEnd/Batching/SHBatch.cpp | 11 ----------- .../src/Graphics/MiddleEnd/Batching/SHBatch.h | 1 - .../MiddleEnd/Interface/SHMeshLibrary.h | 14 +++++++------- 6 files changed, 9 insertions(+), 21 deletions(-) diff --git a/Assets/Materials/AnimatedRaccoon.shmat b/Assets/Materials/AnimatedRaccoon.shmat index ae7c7163..a255aa11 100644 --- a/Assets/Materials/AnimatedRaccoon.shmat +++ b/Assets/Materials/AnimatedRaccoon.shmat @@ -3,6 +3,6 @@ SubPass: G-Buffer Write Properties: data.color: {x: 1, y: 1, z: 1, w: 1} - data.textureIndex: 0 + data.textureIndex: 64651793 data.alpha: 0 data.beta: {x: 1, y: 1, z: 1} \ No newline at end of file diff --git a/Assets/Shaders/Anim_VS.glsl b/Assets/Shaders/Anim_VS.glsl index c9aa64aa..d12cb34b 100644 --- a/Assets/Shaders/Anim_VS.glsl +++ b/Assets/Shaders/Anim_VS.glsl @@ -71,5 +71,5 @@ void main() boneMatrix += BoneMatrices.data[aBoneIndices[3]] * aBoneWeights[3]; // clip space for rendering - gl_Position = cameraData.vpMat * worldTransform * boneMatrix * vec4 (aVertexPos, 1.0f); + gl_Position = cameraData.vpMat * worldTransform * vec4 (aVertexPos, 1.0f); } \ No newline at end of file diff --git a/Assets/Shaders/Anim_VS.shshaderb b/Assets/Shaders/Anim_VS.shshaderb index b1940e9865db2bbb8bfda8a10170d1e63280ac24..1560e232d160b78f166e493bb94fb1f6114fd935 100644 GIT binary patch delta 219 zcmZqFxvMS4ctw-}449de*%=rZ8MqjD8BR?UD`q^ou`8aL@#N-L%-KvpDva$ji08%i znXBFesN)b2n*nhk11p09kUk8=ATbbti5&s5L1K(ZVn?B3Oh7t-ft^7SNFM`YkbaPQ wkh}#DPXw9^k~2Z0!*#t|rH#{d*Q0p#ojVs0R|V_*jJK??r@t+D`O0A#u&VE_OC delta 255 zcmcbs-KZnR_(PNd449de*%=rZ8MqjD8O}@;D`q^su`8aL@$}|b%-KvpDva$ji08%i znX6t2sN)b2X8`de237_T|1c0A1Y(f5EdvXK36MSl#AZMo2vnm0q>lnINDKsEV#k1N zkQgJ9*m0;B6OayIU}sPS(kFlzq#vl>l>wx{0*EI94F*Y`1Y(c_K#ClJVs=3K6cFzP UVs0R|V_*jJLF)bjt+D`O03XUIVE_OC diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp b/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp index 824be2b7..48859040 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp +++ b/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.cpp @@ -602,10 +602,6 @@ namespace SHADE dynamicOffset ); } - if (boneMatrixBuffer[frameIndex] && boneFirstIndexBuffer[frameIndex]) - { - cmdBuffer->BindVertexBuffer(SHGraphicsConstants::VertexBufferBindings::BONE_INDICES, boneFirstIndexBuffer[frameIndex], 0); - } cmdBuffer->DrawMultiIndirect(drawDataBuffer[frameIndex], static_cast(drawData.size())); cmdBuffer->EndLabeledSegment(); } @@ -716,13 +712,6 @@ namespace SHADE if (!boneMatrixData.empty()) { // Update GPU Buffers - const uint32_t BONE_IDX_DATA_BYTES = static_cast(boneMatrixIndices.size() * sizeof(uint32_t)); - SHVkUtil::EnsureBufferAndCopyHostVisibleData - ( - device, boneFirstIndexBuffer[frameIndex], boneMatrixIndices.data(), BONE_IDX_DATA_BYTES, - BuffUsage::eVertexBuffer, - "Batch Bone Indices Buffer" - ); const uint32_t BONE_MTX_DATA_BYTES = static_cast(boneMatrixData.size() * sizeof(SHMatrix)); SHVkUtil::EnsureBufferAndCopyHostVisibleData ( diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.h b/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.h index 318e97d8..1bdd9a59 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.h +++ b/SHADE_Engine/src/Graphics/MiddleEnd/Batching/SHBatch.h @@ -134,7 +134,6 @@ namespace SHADE TripleBuffer instancedIntegerBuffer; TripleBuffer matPropsBuffer; TripleBuffer boneMatrixBuffer; - TripleBuffer boneFirstIndexBuffer; TripleDescSet instanceDataDescSet; /*-----------------------------------------------------------------------------*/ diff --git a/SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHMeshLibrary.h b/SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHMeshLibrary.h index f61e4a20..5e42c526 100644 --- a/SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHMeshLibrary.h +++ b/SHADE_Engine/src/Graphics/MiddleEnd/Interface/SHMeshLibrary.h @@ -154,13 +154,13 @@ namespace SHADE /*-----------------------------------------------------------------------------*/ /* Getter Functions */ /*-----------------------------------------------------------------------------*/ - Handle GetVertexPositionsBuffer() const noexcept { return vertPosBuffer; } - Handle GetVertexTexCoordsBuffer() const noexcept { return vertTexCoordBuffer; } - Handle GetVertexTangentsBuffer() const noexcept { return vertTangentBuffer; } - Handle GetVertexNormalsBuffer() const noexcept { return vertNormalBuffer; } - Handle GetVertexBoneIndicesBuffer() const noexcept { return vertBoneIdxBuffer; } - Handle GetVertexBoneWeightsBuffer() const noexcept { return vertBoneWeightBuffer; } - Handle GetIndexBuffer() const noexcept { return indexBuffer; } + Handle GetVertexPositionsBuffer() const noexcept { return vertPosBuffer; } + Handle GetVertexTexCoordsBuffer() const noexcept { return vertTexCoordBuffer; } + Handle GetVertexTangentsBuffer() const noexcept { return vertTangentBuffer; } + Handle GetVertexNormalsBuffer() const noexcept { return vertNormalBuffer; } + Handle GetVertexBoneIndicesBuffer() const noexcept { return vertBoneIdxBuffer; } + Handle GetVertexBoneWeightsBuffer() const noexcept { return vertBoneWeightBuffer; } + Handle GetIndexBuffer() const noexcept { return indexBuffer; } private: /*-----------------------------------------------------------------------------*/