OGLProgramParamValues.kl¶
Types¶
OGLProgramParamValues_param (struct)¶
Members¶
UInt32 | programParamKey | |
UInt8 | paramType | |
UInt8 | storageState | |
UInt8 | searchedSharedValue | |
UInt32 | dataOffsetOrInlineValue | |
UInt32 | storedSize | |
UInt32 | prevBufferVersion | |
OGLTexture | texture | |
UInt32 | textureType | |
Boolean | shadowTexture | |
UInt32 | textureUnit |
Methods¶
OGLProgramParamValues_param ( in OGLProgramParamValues_param other ) | |
OGLProgramParamValues_param () | |
OGLProgramParamValues_param | clone ? () |
OGLProgramParamValues (object)¶
The OGLProgramParamValues stores values required for drawing an OpenGL primitive, for a specific OGLProgram.
The stored values include uniform, textures, attributes and element arrays (contained in the OGLVertexArray “vertexAttribs” member).
Additionally, it supports chaining of shared OGLProgramParamValues. If a value is not stored in this object, it will use the source shared values if it exists (“sharedValues” member). The shared values can even have a distinct OGLProgram, in which case these will be matched by name.
See RTRDrawInstance and material parameters for an example of chained OGLProgramParamValues parameters.
Note: value version = any parameter value change, structure version = different set of stored parameters
Members¶
Versions | version | |
OGLProgram | program | |
OGLProgramParamValues | sharedValues | |
Ref<OGLProgram> | sharedValuesMaterial | |
Boolean | sharedValuesHasSameProgram | |
UInt32 | sharedValuesLastVersion | |
UInt32 | sharedValuesLastStructureVersion | |
UInt32 | sharedValuesLastSelfStructureVersion | |
Boolean | usesSharedValues | |
OGLVertexArray | vertexAttribs | |
Boolean | vertexAttribsAreShared | |
UInt32 | sharedVertexAttribsLastVersion | |
Boolean | usesSharedAttribs | |
UInt32[] | packedUniformValueData | |
UInt32 | packedUniformValueDataEnd | |
OGLProgramParamValues_param[] | paramsData | |
UInt32 | paramsDataEnd | |
StatisticsAutoRegisterMember | autoStats | |
Boolean | tracingParamValues |
Methods¶
OGLProgramParamValues ( in OGLProgramParamValues other ) | |
OGLProgramParamValues () | |
activate ! ( io Ref<OGLContext> context ) | |
OGLProgramParamValues | clone ? () |
completeValuesWithSharedOnes ! () | |
Color | getColorUniform ? ( in Size programParamKey ) |
Color | getColorUniform ? ( in Size programParamKey, in Size arrayIndex ) |
Mat22 | getMat22Uniform ? ( in Size programParamKey ) |
Mat22 | getMat22Uniform ? ( in Size programParamKey, in Size arrayIndex ) |
Mat33 | getMat33Uniform ? ( in Size programParamKey ) |
Mat33 | getMat33Uniform ? ( in Size programParamKey, in Size arrayIndex ) |
Mat44 | getMat44Uniform ? ( in Size programParamKey ) |
Mat44 | getMat44Uniform ? ( in Size programParamKey, in Size arrayIndex ) |
Ref<Object> | getObjectParamValue ? ( in Size programParamKey ) |
UInt8 | getParamStorage ? ( in Size programParamKey ) |
UInt8 | getParamType ? ( in Size programParamKey ) |
getParameterData ? ( in Size programParamKey, in Data outStructData, in UInt64 outStructSize, in UInt32 subIndex ) | |
Ref<OGLProgram> | getProgram ? () |
SInt32 | getSInt32Uniform ? ( in Size programParamKey ) |
SInt32 | getSInt32Uniform ? ( in Size programParamKey, in Size arrayIndex ) |
Scalar | getScalarUniform ? ( in Size programParamKey ) |
Scalar | getScalarUniform ? ( in Size programParamKey, in Size arrayIndex ) |
getStoredParameterData ? ( in Size programParamKey, io Data structData, io UInt64 structSizeOrBufferStride, io Object objectValue ) | |
Vec2 | getVec2Uniform ? ( in Size programParamKey ) |
Vec2 | getVec2Uniform ? ( in Size programParamKey, in Size arrayIndex ) |
Vec3 | getVec3Uniform ? ( in Size programParamKey ) |
Vec3 | getVec3Uniform ? ( in Size programParamKey, in Size arrayIndex ) |
Vec4 | getVec4Uniform ? ( in Size programParamKey ) |
Vec4 | getVec4Uniform ? ( in Size programParamKey, in Size arrayIndex ) |
initialize ! ( in Ref<OGLProgram> program, in Ref<OGLProgramParamValues> sharedValues ) | |
reset ! () | |
resetToProgramDefault ! ( in Size programParamKey ) | |
setSharedValues ! ( in Ref<OGLProgramParamValues> sharedValues ) | |
setTexture ! ( in Size programParamKey, in Ref<OGLTexture> texture ) | |
setUniform ! ( in Size programParamKey, in Color value ) | |
setUniform ! ( in Size programParamKey, in Color value, in Size arrayIndex ) | |
setUniform ! ( in Size programParamKey, in Color values<> ) | |
setUniform ! ( in Size programParamKey, in Data valueData, in UInt64 valueDataSize ) | |
setUniform ! ( in Size programParamKey, in Data valueData, in UInt64 valueDataSize, in Boolean transposeIfRequired ) | |
setUniform ! ( in Size programParamKey, in Mat22 value ) | |
setUniform ! ( in Size programParamKey, in Mat22 value, in Size arrayIndex ) | |
setUniform ! ( in Size programParamKey, in Mat22 values<> ) | |
setUniform ! ( in Size programParamKey, in Mat33 value ) | |
setUniform ! ( in Size programParamKey, in Mat33 value, in Size arrayIndex ) | |
setUniform ! ( in Size programParamKey, in Mat33 values<> ) | |
setUniform ! ( in Size programParamKey, in Mat44 value ) | |
setUniform ! ( in Size programParamKey, in Mat44 value, in Size arrayIndex ) | |
setUniform ! ( in Size programParamKey, in Mat44 values<> ) | |
setUniform ! ( in Size programParamKey, in SInt32 value ) | |
setUniform ! ( in Size programParamKey, in SInt32 value, in Size arrayIndex ) | |
setUniform ! ( in Size programParamKey, in SInt32 values<> ) | |
setUniform ! ( in Size programParamKey, in Scalar value ) | |
setUniform ! ( in Size programParamKey, in Scalar value, in Size arrayIndex ) | |
setUniform ! ( in Size programParamKey, in Scalar values<> ) | |
setUniform ! ( in Size programParamKey, in Vec2 value ) | |
setUniform ! ( in Size programParamKey, in Vec2 value, in Size arrayIndex ) | |
setUniform ! ( in Size programParamKey, in Vec2 values<> ) | |
setUniform ! ( in Size programParamKey, in Vec3 value ) | |
setUniform ! ( in Size programParamKey, in Vec3 value, in Size arrayIndex ) | |
setUniform ! ( in Size programParamKey, in Vec3 values<> ) | |
setUniform ! ( in Size programParamKey, in Vec4 value ) | |
setUniform ! ( in Size programParamKey, in Vec4 value, in Size arrayIndex ) | |
setUniform ! ( in Size programParamKey, in Vec4 values<> ) | |
setUniformToProgramCurrentValue ! ( in Size programParamKey ) | |
setVertexAttrib ! ( in Size programParamKey, in Ref<OGLBuffer_> buffer ) | |
setVertexAttrib ! ( in Size programParamKey, in Ref<OGLBuffer_> buffer, in UInt32 stride ) | |
synchronizeWithBufferVersions ! () |