mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
refactor: consolidate duplicate ShadowParamsUBO structure definition
Move ShadowParamsUBO from 5 separate shadow rendering functions (2 in m2_renderer, 1 in terrain_renderer, 1 in wmo_renderer) into shared vk_frame_data.hpp header. Eliminates 5 identical local struct definitions and improves consistency across all shadow pass implementations. Structure layout matches shader std140 uniform buffer requirements.
This commit is contained in:
parent
b3d8651db9
commit
b5a2175269
4 changed files with 10 additions and 37 deletions
|
|
@ -31,5 +31,15 @@ struct ShadowPush {
|
|||
glm::mat4 model;
|
||||
};
|
||||
|
||||
// Uniform buffer for shadow rendering parameters (matches shader std140 layout)
|
||||
struct ShadowParamsUBO {
|
||||
int32_t useBones;
|
||||
int32_t useTexture;
|
||||
int32_t alphaTest;
|
||||
int32_t foliageSway;
|
||||
float windTime;
|
||||
float foliageMotionDamp;
|
||||
};
|
||||
|
||||
} // namespace rendering
|
||||
} // namespace wowee
|
||||
|
|
|
|||
|
|
@ -2865,16 +2865,6 @@ bool M2Renderer::initializeShadow(VkRenderPass shadowRenderPass) {
|
|||
if (!vkCtx_ || shadowRenderPass == VK_NULL_HANDLE) return false;
|
||||
VkDevice device = vkCtx_->getDevice();
|
||||
|
||||
// ShadowParams UBO: useBones, useTexture, alphaTest, foliageSway, windTime, foliageMotionDamp
|
||||
struct ShadowParamsUBO {
|
||||
int32_t useBones = 0;
|
||||
int32_t useTexture = 0;
|
||||
int32_t alphaTest = 0;
|
||||
int32_t foliageSway = 0;
|
||||
float windTime = 0.0f;
|
||||
float foliageMotionDamp = 1.0f;
|
||||
};
|
||||
|
||||
// Create ShadowParams UBO
|
||||
VkBufferCreateInfo bufCI{};
|
||||
bufCI.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
|
||||
|
|
@ -3052,14 +3042,6 @@ void M2Renderer::renderShadow(VkCommandBuffer cmd, const glm::mat4& lightSpaceMa
|
|||
if (!shadowPipeline_ || !shadowParamsSet_) return;
|
||||
if (instances.empty() || models.empty()) return;
|
||||
|
||||
struct ShadowParamsUBO {
|
||||
int32_t useBones = 0;
|
||||
int32_t useTexture = 0;
|
||||
int32_t alphaTest = 0;
|
||||
int32_t foliageSway = 0;
|
||||
float windTime = 0.0f;
|
||||
float foliageMotionDamp = 1.0f;
|
||||
};
|
||||
const float shadowRadiusSq = shadowRadius * shadowRadius;
|
||||
|
||||
// Reset per-frame texture descriptor pool for foliage alpha-test sets
|
||||
|
|
|
|||
|
|
@ -788,15 +788,6 @@ bool TerrainRenderer::initializeShadow(VkRenderPass shadowRenderPass) {
|
|||
VmaAllocator allocator = vkCtx->getAllocator();
|
||||
|
||||
// ShadowParams UBO — terrain uses no bones, no texture, no alpha test
|
||||
struct ShadowParamsUBO {
|
||||
int32_t useBones = 0;
|
||||
int32_t useTexture = 0;
|
||||
int32_t alphaTest = 0;
|
||||
int32_t foliageSway = 0;
|
||||
float windTime = 0.0f;
|
||||
float foliageMotionDamp = 1.0f;
|
||||
};
|
||||
|
||||
VkBufferCreateInfo bufCI{};
|
||||
bufCI.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
|
||||
bufCI.size = sizeof(ShadowParamsUBO);
|
||||
|
|
|
|||
|
|
@ -1528,16 +1528,6 @@ bool WMORenderer::initializeShadow(VkRenderPass shadowRenderPass) {
|
|||
if (!vkCtx_ || shadowRenderPass == VK_NULL_HANDLE) return false;
|
||||
VkDevice device = vkCtx_->getDevice();
|
||||
|
||||
// ShadowParams UBO: useBones, useTexture, alphaTest, foliageSway, windTime, foliageMotionDamp
|
||||
struct ShadowParamsUBO {
|
||||
int32_t useBones = 0;
|
||||
int32_t useTexture = 0;
|
||||
int32_t alphaTest = 0;
|
||||
int32_t foliageSway = 0;
|
||||
float windTime = 0.0f;
|
||||
float foliageMotionDamp = 1.0f;
|
||||
};
|
||||
|
||||
// Create ShadowParams UBO
|
||||
VkBufferCreateInfo bufCI{};
|
||||
bufCI.sType = VK_STRUCTURE_TYPE_BUFFER_CREATE_INFO;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue