ShaderProgram creation parameters for initialized from vendor specific GL shader binary. More...
#include <kanzi/core.ui/platform/graphics_backend/gl/shader_create_info.hpp>
Public Member Functions | |
CreateInfoShaderBinary (unsigned int shaderBinaryFormat, unsigned int dataSize, void *data) | |
Construct a create info structure for shader program creation from precompiled shader binary. | |
CreateInfoShaderBinary (unsigned int shaderBinaryFormat, unsigned int vertexShaderBinaryByteCount, void *vertexShaderBinary, unsigned int fragmentShaderBinaryByteCount, void *fragmentShaderBinary) | |
Construct a create info structure for shader program creation from precompiled shader binary data. | |
Public Member Functions inherited from kanzi::ShaderProgram::CreateInfo | |
void | addBinaryShader (ShaderType type, ConstByteSpan binary) |
Adds a binary shader to the program. | |
void | addFixedUniform (string_view name) |
Adds a fixed uniform to a shader. | |
void | addFixedUniform (string_view name, ShaderProgram::FixedUniform uniform) |
Adds a fixed uniform to a shader. | |
void | addFixedUniform (string_view name, ShaderProgram::FixedUniform uniform, ShaderProgram::UniformTransformation transformation) |
Adds a fixed uniform to a shader. | |
void | addFixedUniform (string_view name, ShaderProgram::UniformTransformation transformation) |
Adds a fixed uniform to a shader. | |
void | addSourceShader (ShaderType type, const char *source) |
Adds a source shader to the program. | |
void | addSourceShader (ShaderType type, string_view source) |
Adds a source shader to the program. | |
void | addUniform (AbstractPropertyType propertyType) |
Adds a property type uniform to shader. | |
void | addUniform (AbstractPropertyType propertyType, PropertyDataType dataType, unsigned int elementCount) |
Adds a property type uniform to shader. | |
void | addUniform (AbstractPropertyType propertyType, PropertyDataType dataType, unsigned int elementCount, ShaderProgram::UniformTransformation transformation) |
Adds a property type uniform to shader. | |
void | addUniform (AbstractPropertyType propertyType, ShaderProgram::UniformTransformation transformation) |
Adds a property type uniform to shader. | |
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. | |
void | addUniformAndBinding (AbstractPropertyType propertyType) |
Adds a property type uniform to a shader and creates for that uniform a default render value binding. | |
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. | |
CreateInfo () | |
Constructs empty create info structure for shader program creation. | |
Status | validate (const Renderer &renderer) const |
Perform validation of shader creation parameters. | |
Additional Inherited Members | |
Public Types inherited from kanzi::ShaderProgram::CreateInfo | |
using | BindingContainer |
Binding container type. | |
using | BindingInfo |
Binding info. | |
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. | |
bool | blendingControl |
Indicates whether ShaderProgram created from this createInfo should be able to change blending mode. | |
vector< byte > | combinedShaderBinaryData |
Combined shader binary data. | |
unsigned int | combinedShaderBinaryFormat |
Format for combined shader binary. | |
vector< byte > | programBinaryData |
Program binary data. | |
unsigned int | programBinaryFormat |
Format for program binary. | |
unsigned int | separateShaderBinaryFormat |
Format for separate shader binaries. | |
vector< BinaryShaderStage > | shaderBinaries |
All shader stages in binary format. | |
vector< ShaderStage > | shaderSources |
All shader stages in source code format. | |
UniformContainer | uniforms |
Uniforms. | |
ShaderAttributeCollection | vertexFormat |
Shader vertex attributes. | |
ShaderProgram creation parameters for initialized from vendor specific GL shader binary.
|
explicit |
Construct a create info structure for shader program creation from precompiled shader binary.
shaderBinaryFormat | GL shader binary format. |
dataSize | Size of shader binary data in bytes. |
data | Pointer to shader binary data. |
|
explicit |
Construct a create info structure for shader program creation from precompiled shader binary data.
This version takes in two data blobs, one for vertex shader and another one for fragment shader.
shaderBinaryFormat | GL shader binary format. |
vertexShaderBinaryByteCount | Size of vertex shader binary data in bytes. |
vertexShaderBinary | Pointer to vertex shader binary data. |
fragmentShaderBinaryByteCount | Size of fragment shader binary data in bytes. |
fragmentShaderBinary | Pointer to fragment shader binary data. |