Loading...
Searching...
No Matches
hellfire::ShaderRegistry Class Reference

#include <ShaderRegistry.h>

Collaboration diagram for hellfire::ShaderRegistry:

Public Member Functions

 ShaderRegistry (ShaderManager *manager)
 
Shaderget_shader (const std::string &name)
 
Shaderget_shader_from_id (uint32_t program_id)
 
Shaderload_and_get_shader (const ShaderManager::ShaderVariant &variant)
 
Shaderload_and_get_shader (const std::string &vertex_path, const std::string &fragment_path)
 
void clear ()
 

Private Attributes

ShaderManagershader_manager_
 
std::unordered_map< std::string, std::unique_ptr< Shader > > shader_wrappers_
 
std::unordered_map< uint32_t, Shader * > id_to_shader_map_
 

Detailed Description

Definition at line 10 of file ShaderRegistry.h.

Constructor & Destructor Documentation

◆ ShaderRegistry()

hellfire::ShaderRegistry::ShaderRegistry ( ShaderManager manager)
inline

Definition at line 12 of file ShaderRegistry.h.

Member Function Documentation

◆ clear()

void hellfire::ShaderRegistry::clear ( )
inline

Definition at line 79 of file ShaderRegistry.h.

◆ get_shader()

Shader * hellfire::ShaderRegistry::get_shader ( const std::string &  name)
inline

Definition at line 15 of file ShaderRegistry.h.

◆ get_shader_from_id()

Shader * hellfire::ShaderRegistry::get_shader_from_id ( uint32_t  program_id)
inline

Definition at line 35 of file ShaderRegistry.h.

◆ load_and_get_shader() [1/2]

Shader * hellfire::ShaderRegistry::load_and_get_shader ( const ShaderManager::ShaderVariant variant)
inline

Definition at line 57 of file ShaderRegistry.h.

◆ load_and_get_shader() [2/2]

Shader * hellfire::ShaderRegistry::load_and_get_shader ( const std::string &  vertex_path,
const std::string &  fragment_path 
)
inline

Definition at line 72 of file ShaderRegistry.h.

Member Data Documentation

◆ id_to_shader_map_

std::unordered_map<uint32_t, Shader*> hellfire::ShaderRegistry::id_to_shader_map_
private

Definition at line 87 of file ShaderRegistry.h.

◆ shader_manager_

ShaderManager* hellfire::ShaderRegistry::shader_manager_
private

Definition at line 85 of file ShaderRegistry.h.

◆ shader_wrappers_

std::unordered_map<std::string, std::unique_ptr<Shader> > hellfire::ShaderRegistry::shader_wrappers_
private

Definition at line 86 of file ShaderRegistry.h.


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