#include <ShaderGenerator.h>
|
| ShaderGenerator ()=default |
void | ResourceLayoutToElements (ResourceLayout &resourceLayout, std::vector< TextureElement > &textureElements, std::vector< SamplerElement > &samplerElements) |
std::string | generateVertexShader (const std::map< uint32_t, VertexLayout > &vertexLayouts, const PixelLayout &pixelLayout, const std::vector< ConstLayout > &uniformLayouts, RHI::ShaderBinary &binary, ResourceLayout &resourceLayout, const std::string &userCode) |
std::string | generatePixelShader (const PixelLayout &layout, const std::vector< ConstLayout > &uniformLayouts, RHI::ShaderBinary &binary, ResourceLayout &resourceLayout, const std::string &userCode) |
std::string | generateDefaultVertexMain (const std::map< uint32_t, VertexLayout > &vertexLayouts, const PixelLayout &pixelLayout) |
std::string | generateDefaultPixelMain (const PixelLayout &pixelLayout) |
std::pair< uint32_t, uint32_t > | getLayoutBinding (ConstLayout layout) |
std::pair< uint32_t, uint32_t > | getTextureBinding (TextureElement texture) |
std::pair< uint32_t, uint32_t > | getSamplerBinding (SamplerElement sampler) |
TextureElement | findTextureElementByName (std::string name) |
std::pair< uint32_t, uint32_t > | allocateTextureBinding (const TextureElement &texture) |
std::pair< uint32_t, uint32_t > | allocateSamplerBinding (const SamplerElement &sampler) |
◆ ShaderGenerator()
FCT::ShaderGenerator::ShaderGenerator |
( |
| ) |
|
|
default |
◆ allocateSamplerBinding()
std::pair< uint32_t, uint32_t > FCT::ShaderGenerator::allocateSamplerBinding |
( |
const SamplerElement & | sampler | ) |
|
◆ allocateTextureBinding()
std::pair< uint32_t, uint32_t > FCT::ShaderGenerator::allocateTextureBinding |
( |
const TextureElement & | texture | ) |
|
◆ findTextureElementByName()
TextureElement FCT::ShaderGenerator::findTextureElementByName |
( |
std::string | name | ) |
|
|
inline |
◆ generateConstBuffer()
◆ generateDefaultPixelMain()
std::string FCT::ShaderGenerator::generateDefaultPixelMain |
( |
const PixelLayout & | pixelLayout | ) |
|
◆ generateDefaultVertexMain()
std::string FCT::ShaderGenerator::generateDefaultVertexMain |
( |
const std::map< uint32_t, VertexLayout > & | vertexLayouts, |
|
|
const PixelLayout & | pixelLayout ) |
◆ generateFromPixelLayout()
std::string FCT::ShaderGenerator::generateFromPixelLayout |
( |
const PixelLayout & | layout | ) |
|
|
protected |
◆ generatePixelMain()
std::string FCT::ShaderGenerator::generatePixelMain |
( |
const PixelLayout & | pixelLayout | ) |
|
|
protected |
◆ generatePixelShader()
◆ generateShaderIn() [1/2]
std::string FCT::ShaderGenerator::generateShaderIn |
( |
const PixelLayout & | layout | ) |
|
|
protected |
◆ generateShaderIn() [2/2]
std::string FCT::ShaderGenerator::generateShaderIn |
( |
const std::map< uint32_t, VertexLayout > & | layouts, |
|
|
std::map< std::string, uint32_t > & | locationMap ) |
|
protected |
◆ generateShaderOut() [1/2]
std::string FCT::ShaderGenerator::generateShaderOut |
( |
| ) |
|
|
protected |
◆ generateShaderOut() [2/2]
std::string FCT::ShaderGenerator::generateShaderOut |
( |
const PixelLayout & | layout | ) |
|
|
protected |
◆ generateTexturesAndSamplers()
◆ generateVertexMain()
std::string FCT::ShaderGenerator::generateVertexMain |
( |
const std::map< uint32_t, VertexLayout > & | vertexLayouts, |
|
|
const PixelLayout & | pixelLayout ) |
|
protected |
◆ generateVertexShader()
◆ getLayoutBinding()
std::pair< uint32_t, uint32_t > FCT::ShaderGenerator::getLayoutBinding |
( |
ConstLayout | layout | ) |
|
|
inline |
◆ getSamplerBinding()
std::pair< uint32_t, uint32_t > FCT::ShaderGenerator::getSamplerBinding |
( |
SamplerElement | sampler | ) |
|
|
inline |
◆ getTextureBinding()
std::pair< uint32_t, uint32_t > FCT::ShaderGenerator::getTextureBinding |
( |
TextureElement | texture | ) |
|
|
inline |
◆ ResourceLayoutToElements()
◆ uniformTypeToShaderType()
std::string FCT::ShaderGenerator::uniformTypeToShaderType |
( |
ConstType | type | ) |
|
|
protected |
◆ m_frequencyBindingCount
std::unordered_map<UpdateFrequency, uint32_t> FCT::ShaderGenerator::m_frequencyBindingCount |
|
protected |
◆ m_layoutSetBindings
std::vector<std::pair<ConstLayout, std::pair<uint32_t, uint32_t> > > FCT::ShaderGenerator::m_layoutSetBindings |
|
protected |
◆ m_samplerSetBindings
std::vector<std::pair<SamplerElement, std::pair<uint32_t, uint32_t> > > FCT::ShaderGenerator::m_samplerSetBindings |
|
protected |
◆ m_textureSetBindings
std::vector<std::pair<TextureElement, std::pair<uint32_t, uint32_t> > > FCT::ShaderGenerator::m_textureSetBindings |
|
protected |
该类的文档由以下文件生成: