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. More... | |
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. More... | |
Public Member Functions inherited from kanzi::ShaderProgram::CreateInfo | |
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... | |
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, 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... | |
string | combinedShaderBinaryData |
Combined shader binary data. More... | |
unsigned int | combinedShaderBinaryFormat |
Format for combined shader binary. More... | |
string | fragmentShaderSource |
Fragment shader source code. More... | |
string | programBinaryData |
Program binary data. More... | |
unsigned int | programBinaryFormat |
Format for program binary. More... | |
unsigned int | separateShaderBinaryFormat |
Format for separate shader binaries. More... | |
string | separateShaderBinaryFragmentData |
Fragment shader binary data when using separate shader binaries. More... | |
string | separateShaderBinaryVertexData |
Vertex shader binary data when using separate shader binaries. More... | |
UniformContainer | uniforms |
Uniforms. More... | |
ShaderAttributeCollection | vertexFormat |
Shader vertex attributes. More... | |
string | vertexShaderSource |
Vertex shader source code. More... | |
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. |