mirror of
https://github.com/Kelsidavis/WoWee.git
synced 2026-03-22 23:30:14 +00:00
refactor: consolidate duplicate ShadowPush structure definition
Move ShadowPush from 4 separate rendering modules (character_renderer, m2_renderer, terrain_renderer, wmo_renderer) into shared vk_frame_data.hpp header. This eliminates 4 identical local struct definitions and ensures consistency across all shadow rendering passes. Add vk_frame_data.hpp include to character_renderer.cpp.
This commit is contained in:
parent
3202c1392d
commit
cda703b0f4
5 changed files with 7 additions and 6 deletions
|
|
@ -25,5 +25,11 @@ struct GPUPushConstants {
|
|||
glm::mat4 model;
|
||||
};
|
||||
|
||||
// Push constants for shadow rendering passes
|
||||
struct ShadowPush {
|
||||
glm::mat4 lightSpaceMatrix;
|
||||
glm::mat4 model;
|
||||
};
|
||||
|
||||
} // namespace rendering
|
||||
} // namespace wowee
|
||||
|
|
|
|||
|
|
@ -21,6 +21,7 @@
|
|||
#include "rendering/vk_shader.hpp"
|
||||
#include "rendering/vk_buffer.hpp"
|
||||
#include "rendering/vk_utils.hpp"
|
||||
#include "rendering/vk_frame_data.hpp"
|
||||
#include "rendering/camera.hpp"
|
||||
#include "pipeline/asset_manager.hpp"
|
||||
#include "pipeline/blp_loader.hpp"
|
||||
|
|
@ -2678,8 +2679,6 @@ void CharacterRenderer::renderShadow(VkCommandBuffer cmd, const glm::mat4& light
|
|||
vkCmdBindDescriptorSets(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, shadowPipelineLayout_,
|
||||
1, 1, &shadowParamsSet_, 0, nullptr);
|
||||
|
||||
struct ShadowPush { glm::mat4 lightSpaceMatrix; glm::mat4 model; };
|
||||
|
||||
const float shadowRadiusSq = shadowRadius * shadowRadius;
|
||||
for (auto& pair : instances) {
|
||||
auto& inst = pair.second;
|
||||
|
|
|
|||
|
|
@ -3070,7 +3070,6 @@ void M2Renderer::renderShadow(VkCommandBuffer cmd, const glm::mat4& lightSpaceMa
|
|||
if (!shadowPipeline_ || !shadowParamsSet_) return;
|
||||
if (instances.empty() || models.empty()) return;
|
||||
|
||||
struct ShadowPush { glm::mat4 lightSpaceMatrix; glm::mat4 model; };
|
||||
struct ShadowParamsUBO {
|
||||
int32_t useBones = 0;
|
||||
int32_t useTexture = 0;
|
||||
|
|
|
|||
|
|
@ -965,7 +965,6 @@ void TerrainRenderer::renderShadow(VkCommandBuffer cmd, const glm::mat4& lightSp
|
|||
|
||||
// Identity model matrix — terrain vertices are already in world space
|
||||
static const glm::mat4 identity(1.0f);
|
||||
struct ShadowPush { glm::mat4 lightSpaceMatrix; glm::mat4 model; };
|
||||
ShadowPush push{ lightSpaceMatrix, identity };
|
||||
vkCmdPushConstants(cmd, shadowPipelineLayout_, VK_SHADER_STAGE_VERTEX_BIT,
|
||||
0, 128, &push);
|
||||
|
|
|
|||
|
|
@ -1715,8 +1715,6 @@ void WMORenderer::renderShadow(VkCommandBuffer cmd, const glm::mat4& lightSpaceM
|
|||
vkCmdBindDescriptorSets(cmd, VK_PIPELINE_BIND_POINT_GRAPHICS, shadowPipelineLayout_,
|
||||
0, 1, &shadowParamsSet_, 0, nullptr);
|
||||
|
||||
struct ShadowPush { glm::mat4 lightSpaceMatrix; glm::mat4 model; };
|
||||
|
||||
// WMO shadow cull uses the ortho half-extent (shadow map coverage) rather than
|
||||
// the proximity radius so that distant buildings whose shadows reach the player
|
||||
// are still rendered into the shadow map.
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue