API Documentation
Loading...
Searching...
No Matches
VulkanShaderManager Class Reference

Manages all active shaders in a VulkanSession. More...

#include <VulkanShader.h>

Collaboration diagram for VulkanShaderManager:
[legend]

Public Types

enum  ShaderType {
  e_simple_points , e_points , e_linework , e_solid ,
  e_solid_grid , e_solid_texture , e_shader_type_size , e_all
}
 

Public Member Functions

void addShader (const String &name, ShaderType type, const Buffer< char > &data)
 
void addShader (const String &name, ShaderType type, File &file)
 
void ensureCreated (const String &name)
 
ConstPointer< VulkanShadergetShader (const String &file, ShaderType type)
 
void setInstance (const ConstPointer< VulkanDevice > &device)
 
 VulkanShaderManager (const ConstPointer< VulkanDevice > &device)
 

Static Public Attributes

static const String formats [6] = { "points_s", "points", "linework", "solid", "solid_grid", "solid_texture" }
 

Protected Attributes

Dictionary< uint08, Buffer< char >[ShaderType::e_shader_type_size]> m_data
 
ConstPointer< VulkanDevicem_device
 
Dictionary< uint08, DynamicPointer< VulkanShader >[ShaderType::e_shader_type_size]> m_shader_map
 

Detailed Description

Manages all active shaders in a VulkanSession.


Member Enumeration Documentation

◆ ShaderType

enum ShaderType
Enumerator
e_simple_points 
e_points 
e_linework 
e_solid 
e_solid_grid 
e_solid_texture 
e_shader_type_size 
e_all 

Constructor & Destructor Documentation

◆ VulkanShaderManager()

Member Function Documentation

◆ addShader() [1/2]

void addShader ( const String & name,
ShaderType type,
const Buffer< char > & data )

◆ addShader() [2/2]

void addShader ( const String & name,
ShaderType type,
File & file )

◆ ensureCreated()

void ensureCreated ( const String & name)

◆ getShader()

ConstPointer< VulkanShader > getShader ( const String & file,
ShaderType type )

◆ setInstance()

void setInstance ( const ConstPointer< VulkanDevice > & device)

Member Data Documentation

◆ formats

const String formats[6] = { "points_s", "points", "linework", "solid", "solid_grid", "solid_texture" }
inlinestatic

◆ m_data

◆ m_device

ConstPointer<VulkanDevice> m_device
protected

◆ m_shader_map


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