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

Abstract base interface for renderable materials in Raven. More...

#include <string>
#include "Renderer/RenderCommandBuffer.h"
#include "Renderer/Texture.h"
#include "Renderer/Shader.h"

Classes

class  Raven::Material
 Abstract interface for material resource binding. More...

Namespaces

namespace  Raven

Detailed Description

Abstract base interface for renderable materials in Raven.

Author
PhilikusHD

A Material in Raven represents a collection of shader-bound parameters, such as textures and uniform values (scalars and vectors). It provides a backend-agnostic interface for setting these parameters and binding them to the GPU pipeline. Concrete implementations (e.g., VulkanMaterial) manage the platform-specific details of descriptor sets and resource updates.

Materials are tightly coupled with Shaders — the shader defines the bindings, while the material supplies values for those bindings.