RavEngine
Loading...
Searching...
No Matches
RavEngine::Material Class Reference

#include <Material.hpp>

Inheritance diagram for RavEngine::Material:
[legend]
Collaboration diagram for RavEngine::Material:
[legend]

Classes

class  Manager
 

Public Member Functions

virtual ~Material ()
 
auto GetMainRenderPipeline () const
 
auto GetShadowRenderPipeline () const
 
auto GetDepthPrepassPipeline () const
 
MeshAttributes GetAttributes () const
 

Protected Member Functions

bool IsTransparent () const
 
 Material (const std::string_view name, const MaterialConfig &config)
 
 Material (const std::string_view vsh_name, const std::string_view fsh_name, const MaterialConfig &config)
 

Protected Attributes

RGLRenderPipelinePtr renderPipeline
 
RGLRenderPipelinePtr shadowRenderPipeline
 
RGLRenderPipelinePtr depthPrepassPipeline
 
RGLPipelineLayoutPtr pipelineLayout
 
OpacityMode opacityMode
 
const MeshAttributes requiredAttributes
 

Friends

class MaterialInstance
 
class RenderEngine
 

Detailed Description

Represents the interface to a shader. Subclass to create more types of material and expose more abilities.

Constructor & Destructor Documentation

◆ ~Material()

RavEngine::Material::~Material ( )
virtual

Create the default material. Override this constructor in subclasses, and from that, invoke the protected constructor.

◆ Material()

RavEngine::Material::Material ( const std::string_view  name,
const MaterialConfig &  config 
)
protected

Create a material given a shader. Also registers it in the material manager

Parameters
shaderthe path to the shader

The documentation for this class was generated from the following files: