Raven Engine v0.1
Loading...
Searching...
No Matches
VulkanMaterial.h File Reference

Vulkan backend implementation of Raven's Material abstraction. More...

Classes

class  Raven::VulkanMaterial
 Vulkan-specific material resource binder. More...

Namespaces

namespace  Raven

Detailed Description

Vulkan backend implementation of Raven's Material abstraction.

Author
PhilikusHD

The VulkanMaterial class manages shader-bound resources for materials in Raven's Vulkan renderer. It encapsulates descriptor set allocation, texture binding, and push of uniform values (scalars, vectors) to shaders. Unlike CPU-side only materials, this implementation ensures that GPU descriptor sets are updated and synchronized when material properties are changed.

Design notes:

  • Each VulkanMaterial owns a descriptor set (set = 2) allocated from Raven's global pool.
  • All texture bindings are resolved dynamically from the associated VulkanShader.
  • A dedicated "sampler" binding is updated from the material's albedo map.