OpenClonk
StdMeshMaterialPass::ProgramInstance Class Reference

#include <StdMeshMaterial.h>

Collaboration diagram for StdMeshMaterialPass::ProgramInstance:
[legend]

Classes

struct  ParameterRef
 

Public Member Functions

 ProgramInstance (const StdMeshMaterialProgram *program, const ShaderInstance *fragment_instance, const ShaderInstance *vertex_instance, const ShaderInstance *geometry_instance)
 

Public Attributes

const StdMeshMaterialProgram *const Program
 
std::vector< ParameterRefParameters
 

Detailed Description

Definition at line 437 of file StdMeshMaterial.h.


Class Documentation

◆ StdMeshMaterialPass::ProgramInstance::ParameterRef

struct StdMeshMaterialPass::ProgramInstance::ParameterRef

Definition at line 446 of file StdMeshMaterial.h.

Collaboration diagram for StdMeshMaterialPass::ProgramInstance::ParameterRef:
[legend]
Class Members
const
StdMeshMaterialShaderParameter *
Parameter
int UniformIndex

Constructor & Destructor Documentation

◆ ProgramInstance()

StdMeshMaterialPass::ProgramInstance::ProgramInstance ( const StdMeshMaterialProgram program,
const ShaderInstance fragment_instance,
const ShaderInstance vertex_instance,
const ShaderInstance geometry_instance 
)

Definition at line 1187 of file StdMeshMaterial.cpp.

References StdMeshMaterialProgram::GetFragmentShader(), StdMeshMaterialProgram::GetGeometryShader(), StdMeshMaterialProgram::GetParameterIndex(), StdMeshMaterialProgram::GetVertexShader(), StdMeshMaterialShaderParameters::NamedParameters, StdMeshMaterialPass::ProgramInstance::ParameterRef::Parameter, StdMeshMaterialPass::ShaderInstance::Parameters, Parameters, Program, StdMeshMaterialPass::ShaderInstance::Shader, and StdMeshMaterialPass::ProgramInstance::ParameterRef::UniformIndex.

1187  :
1188  Program(program)
1189 {
1190  // Consistency check
1191  assert(Program->GetFragmentShader() == fragment_instance->Shader);
1192  assert(Program->GetVertexShader() == vertex_instance->Shader);
1193  assert(Program->GetGeometryShader() == geometry_instance->Shader);
1194 
1195  // Load instance parameters, i.e. connect parameter values with uniform index
1196  LoadParameterRefs(fragment_instance);
1197  LoadParameterRefs(vertex_instance);
1198  LoadParameterRefs(geometry_instance);
1199 }
const StdMeshMaterialShader * GetGeometryShader() const
const StdMeshMaterialShader * GetVertexShader() const
const StdMeshMaterialShader * GetFragmentShader() const
const StdMeshMaterialProgram *const Program
Here is the call graph for this function:

Member Data Documentation

◆ Parameters

std::vector<ParameterRef> StdMeshMaterialPass::ProgramInstance::Parameters

Definition at line 451 of file StdMeshMaterial.h.

Referenced by ProgramInstance().

◆ Program

const StdMeshMaterialProgram* const StdMeshMaterialPass::ProgramInstance::Program

Definition at line 443 of file StdMeshMaterial.h.

Referenced by ProgramInstance().


The documentation for this class was generated from the following files: