Kanzi  3.9.6
Kanzi Engine API
kanzi::ShaderProgram::CreateInfoShaderSources Struct Reference

ShaderProgram creation parameters for initialized from shader source code strings. More...

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

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

Public Member Functions

 CreateInfoShaderSources (const char *vertexShaderSourceCode, const char *fragmentShaderSourceCode)
 Construct a create info structure for shader program creation from vertex and fragment shader source code. 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< bytecombinedShaderBinaryData
 Combined shader binary data. More...
 
unsigned int combinedShaderBinaryFormat
 Format for combined shader binary. More...
 
vector< byteprogramBinaryData
 Program binary data. More...
 
unsigned int programBinaryFormat
 Format for program binary. More...
 
unsigned int separateShaderBinaryFormat
 Format for separate shader binaries. More...
 
vector< BinaryShaderStageshaderBinaries
 All shader stages in binary format. More...
 
vector< ShaderStageshaderSources
 All shader stages in source code format. More...
 
UniformContainer uniforms
 Uniforms. More...
 
ShaderAttributeCollection vertexFormat
 Shader vertex attributes. More...
 

Detailed Description

ShaderProgram creation parameters for initialized from shader source code strings.

Constructor & Destructor Documentation

◆ CreateInfoShaderSources()

kanzi::ShaderProgram::CreateInfoShaderSources::CreateInfoShaderSources ( const char *  vertexShaderSourceCode,
const char *  fragmentShaderSourceCode 
)
explicit

Construct a create info structure for shader program creation from vertex and fragment shader source code.

Note
After constructing the create info, you must insert used attributes to the createInfo.vertexFormat.
Parameters
vertexShaderSourceCodeSource code for vertex shader.
fragmentShaderSourceCodeSource code for fragment shader.

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