Kanzi  3.9.5
Kanzi Engine API
kanzi::ShaderProgram::CreateInfoProgramBinary Struct Reference

ShaderProgram creation parameters for initialized from vendor specific GL program binary. More...

#include <kanzi/core.ui/platform/graphics_backend/gl/shader_create_info.hpp>

Inheritance diagram for kanzi::ShaderProgram::CreateInfoProgramBinary:
[legend]

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 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...
 

Detailed Description

ShaderProgram creation parameters for initialized from vendor specific GL program binary.

Constructor & Destructor Documentation

◆ CreateInfoProgramBinary()

kanzi::ShaderProgram::CreateInfoProgramBinary::CreateInfoProgramBinary ( unsigned int  programBinaryFormat,
unsigned int  dataSize,
void *  data 
)
explicit

Construct a create info structure for shader program creation from precompiled program binary.

Note
After constructing the create info, you must insert used attributes to createInfo.vertexFormat.
Parameters
programBinaryFormatGL program binary format.
dataSizeSize of shader binary data in bytes.
dataPointer to shader binary data.

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