Kanzi  3.9.5
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 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 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: