ShaderProgram creation parameters for initialized from vendor specific GL program binary. More...
#include <kanzi/core.ui/platform/graphics_backend/gl/shader_create_info.hpp>
Public Member Functions | |
CreateInfoProgramBinary (unsigned int programBinaryFormat, unsigned int dataSize, void *data) | |
Construct a create info structure for shader program creation from precompiled program binary. More... | |
Public Member Functions inherited from kanzi::ShaderProgram::CreateInfo | |
void | addBinaryShader (ShaderType type, ConstByteSpan binary) |
Adds a binary shader to the program. More... | |
void | addFixedUniform (string_view name) |
Adds a fixed uniform to a shader. More... | |
void | addFixedUniform (string_view name, ShaderProgram::UniformTransformation transformation) |
Adds a fixed uniform to a shader. More... | |
void | addFixedUniform (string_view name, ShaderProgram::FixedUniform uniform) |
Adds a fixed uniform to a shader. More... | |
void | addFixedUniform (string_view name, ShaderProgram::FixedUniform uniform, ShaderProgram::UniformTransformation transformation) |
Adds a fixed uniform to a shader. More... | |
void | addSourceShader (ShaderType type, string_view source) |
Adds a source shader to the program. More... | |
void | addSourceShader (ShaderType type, const char *source) |
Adds a source shader to the program. More... | |
void | addUniform (string_view name, PropertyDataType dataType, unsigned int elementCount, optional< AbstractPropertyType > propertyType, UniformBindingType bindingType, optional< FixedUniform > fixedOperation, FixedUniformFunction func, UniformTransformation transform) |
Adds an uniform to shader. More... | |
void | addUniform (AbstractPropertyType propertyType, PropertyDataType dataType, unsigned int elementCount, ShaderProgram::UniformTransformation transformation) |
Adds a property type uniform to shader. More... | |
void | addUniform (AbstractPropertyType propertyType, PropertyDataType dataType, unsigned int elementCount) |
Adds a property type uniform to shader. More... | |
void | addUniform (AbstractPropertyType propertyType, ShaderProgram::UniformTransformation transformation) |
Adds a property type uniform to shader. More... | |
void | addUniform (AbstractPropertyType propertyType) |
Adds a property type uniform to shader. More... | |
void | addUniformAndBinding (AbstractPropertyType propertyType, ShaderProgram::UniformTransformation transformation) |
Adds a property type uniform to a shader with a given uniform transformation and creates for that uniform a default render value binding. More... | |
void | addUniformAndBinding (AbstractPropertyType propertyType) |
Adds a property type uniform to a shader and creates for that uniform a default render value binding. More... | |
CreateInfo () | |
Constructs empty create info structure for shader program creation. More... | |
Status | validate (const Renderer &renderer) const |
Perform validation of shader creation parameters. More... | |
Additional Inherited Members | |
Public Types inherited from kanzi::ShaderProgram::CreateInfo | |
using | BindingContainer = ShaderProgram::BindingContainer |
Binding container type. More... | |
using | BindingInfo = ShaderProgram::BindingInfo |
Binding info. More... | |
enum | Status { StatusUnsupportedFormat, StatusCompileError, StatusLinkError, StatusInvalidAttributeLocation, StatusMissingShaderStage, StatusValid } |
Status tells if shader creation parameters can be used to create a shader. More... | |
Public Attributes inherited from kanzi::ShaderProgram::CreateInfo | |
BindingContainer | bindings |
Bindings. More... | |
bool | blendingControl |
Indicates whether ShaderProgram created from this createInfo should be able to change blending mode. More... | |
vector< byte > | combinedShaderBinaryData |
Combined shader binary data. More... | |
unsigned int | combinedShaderBinaryFormat |
Format for combined shader binary. More... | |
vector< byte > | programBinaryData |
Program binary data. More... | |
unsigned int | programBinaryFormat |
Format for program binary. More... | |
unsigned int | separateShaderBinaryFormat |
Format for separate shader binaries. More... | |
vector< BinaryShaderStage > | shaderBinaries |
All shader stages in binary format. More... | |
vector< ShaderStage > | shaderSources |
All shader stages in source code format. More... | |
UniformContainer | uniforms |
Uniforms. More... | |
ShaderAttributeCollection | vertexFormat |
Shader vertex attributes. More... | |
ShaderProgram creation parameters for initialized from vendor specific GL program binary.
|
explicit |
Construct a create info structure for shader program creation from precompiled program binary.
programBinaryFormat | GL program binary format. |
dataSize | Size of shader binary data in bytes. |
data | Pointer to shader binary data. |