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

@ -58,7 +58,8 @@ public:
void update(float deltaTime, const glm::vec3& cameraPos = glm::vec3(0.0f));
void render(VkCommandBuffer cmd, VkDescriptorSet perFrameSet, const Camera& camera);
void renderShadow(VkCommandBuffer cmd, VkDescriptorSet perFrameSet);
bool initializeShadow(VkRenderPass shadowRenderPass);
void renderShadow(VkCommandBuffer cmd, const glm::mat4& lightSpaceMatrix);
void setInstancePosition(uint32_t instanceId, const glm::vec3& position);
void setInstanceRotation(uint32_t instanceId, const glm::vec3& rotation);
@ -261,6 +262,15 @@ private:
// Maximum bones supported
static constexpr int MAX_BONES = 240;
// Shadow pipeline resources
VkPipeline shadowPipeline_ = VK_NULL_HANDLE;
VkPipelineLayout shadowPipelineLayout_ = VK_NULL_HANDLE;
VkDescriptorSetLayout shadowParamsLayout_ = VK_NULL_HANDLE;
VkDescriptorPool shadowParamsPool_ = VK_NULL_HANDLE;
VkDescriptorSet shadowParamsSet_ = VK_NULL_HANDLE;
VkBuffer shadowParamsUBO_ = VK_NULL_HANDLE;
VmaAllocation shadowParamsAlloc_ = VK_NULL_HANDLE;
};
} // namespace rendering