Character renderer is fully Vulkan.

This commit is contained in:
Kelsi 2026-02-21 19:49:50 -08:00
parent 83b576e8d9
commit dea52744a4
3 changed files with 282 additions and 7 deletions

View file

@ -3321,7 +3321,7 @@ bool Renderer::loadTestTerrain(pipeline::AssetManager* assetManager, const std::
wmoRenderer->initialize(vkCtx, perFrameSetLayout, assetManager);
}
// Initialize shadow pipelines (Phase 7)
// Initialize shadow pipelines (Phase 7/8)
if (wmoRenderer && shadowRenderPass != VK_NULL_HANDLE) {
wmoRenderer->initializeShadow(shadowRenderPass);
}
@ -3332,6 +3332,9 @@ bool Renderer::loadTestTerrain(pipeline::AssetManager* assetManager, const std::
characterRenderer = std::make_unique<CharacterRenderer>();
characterRenderer->initialize(vkCtx, perFrameSetLayout, assetManager);
}
if (characterRenderer && shadowRenderPass != VK_NULL_HANDLE) {
characterRenderer->initializeShadow(shadowRenderPass);
}
// Create and initialize terrain manager
if (!terrainManager) {
@ -3774,13 +3777,16 @@ void Renderer::renderShadowPass() {
VkRect2D sc{{0, 0}, {SHADOW_MAP_SIZE, SHADOW_MAP_SIZE}};
vkCmdSetScissor(currentCmd, 0, 1, &sc);
// Phase 7: render shadow casters
// Phase 7/8: render shadow casters
if (wmoRenderer) {
wmoRenderer->renderShadow(currentCmd, lightSpaceMatrix);
}
if (m2Renderer) {
m2Renderer->renderShadow(currentCmd, lightSpaceMatrix);
}
if (characterRenderer) {
characterRenderer->renderShadow(currentCmd, lightSpaceMatrix);
}
vkCmdEndRenderPass(currentCmd);