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 ! () |