OGLProgram (object)¶
A OGLProgram wraps a GLSL program object.
See Simple material for an overview of and OGLProgram and its extended GLSL preprocessor syntax.
Members¶
Versions | version | |
String | name | |
UInt32 | bufferID | |
UInt32 | unactiveBufferID | |
Boolean | externallyOwned | |
OGLWrapperGlobals | wrapperGlobals | |
StatisticsAutoRegisterMember | autoStats | |
OGLShader_[] | shaders | |
Integer | linkStatus | |
String | linkLog | |
Boolean | tracingParamValues | |
OGLProgram_param[] | params | |
UInt32[4] | paramCategoryLimits | |
UInt32[String] | paramToKey | |
OGLProgram_outFragment[] | outFragments | |
UInt32[String] | outFragmentToIndex | |
UInt32[] | paramValueCache | |
UInt32[] | textureUnitToParamKey | |
UInt32 | maxAttributeLocation | |
Boolean | defaultsChanged |
Methods¶
OGLProgram ( in OGLProgram other ) | |
OGLProgram ( in String name ) | |
OGLProgram () | |
activate ! ( io Ref<OGLContext> context ) | |
addShader ! ( in OGLShader_ shader ) | |
addShader ! ( in String code, in Integer glShaderType ) | |
addShader ! ( in String filePath, in String code, in Integer glShaderType, in String preprocessorIncludePaths<> ) | |
Size | addUserParameter ! ( in String name, in UInt32 glType, in UInt32 size, in UInt32 paramCategory ) |
OGLProgram | clone ? () |
Boolean | create ! ( io Ref<OGLContext> context ) |
Boolean | createParameters ! ( io Ref<OGLContext> context, in Boolean drawSharedContext ) |
declareOutputFragmentName ! ( in String name ) | |
String | describe ? () |
extractParameterInfo ! ( io Ref<OGLContext> context ) | |
getCurrentParamValue ? ( in Size paramKey, io Data structData, io UInt64 structSize, in UInt32 subIndex ) | |
getDefaultParamValue ? ( in Size paramKey, io Data structData, io UInt64 structSize, in UInt32 subIndex ) | |
Size | getInputParameterCount ? () |
UInt32 | getOutputFragmentCount ? () |
UInt32 | getOutputFragmentIndex ? ( in String name ) |
UInt32 | getOutputFragmentLocation ? ( in UInt32 index ) |
String | getOutputFragmentName ? ( in UInt32 index ) |
Size | getParamKeyForTextureUnit ? ( in Size unit ) |
Size | getParameterArrayCount ? ( in Size paramKey ) |
UInt32 | getParameterCategory ? ( in Size paramKey ) |
getParameterCategoryAndIndex ? ( in Size paramKey, io UInt32 paramCategory, io UInt32 index ) | |
Size | getParameterCount ? ( in UInt32 paramCategory ) |
String | getParameterDesc ? ( in UInt32 paramCategory, in UInt32 index ) |
UInt32 | getParameterExpectedTextureType ? ( in Size paramKey, io Boolean shadow ) |
Integer | getParameterGLType ? ( in Size paramKey ) |
Type | getParameterKLType ? ( in Size paramKey ) |
Size | getParameterKey ? ( in String name ) |
Size | getParameterKey ? ( in UInt32 paramCategory, in UInt32 index ) |
Size | getParameterKeyEnd ? () |
Integer | getParameterLocation ? ( in Size paramKey ) |
String | getParameterName ? ( in Size paramKey ) |
Size | getParameterTotalWordCount ? ( in Size paramKey ) |
Size | getParameterWordCountPerItem ? ( in Size paramKey ) |
Size | getTextureUnit ? ( in Size paramKey ) |
Size | getTextureUnitCount ? () |
Boolean | isUserParameter ? ( in Size paramKey ) |
link ! ( in Boolean force, io Ref<OGLContext> context ) | |
link ! ( io Ref<OGLContext> context ) | |
loadUniform ! ( in Size paramKey, in Boolean value ) | |
loadUniform ! ( in Size paramKey, in Color value ) | |
loadUniform ! ( in Size paramKey, in Color values<> ) | |
loadUniform ! ( in Size paramKey, in Mat22 value ) | |
loadUniform ! ( in Size paramKey, in Mat22 values<> ) | |
loadUniform ! ( in Size paramKey, in Mat33 value ) | |
loadUniform ! ( in Size paramKey, in Mat33 values<> ) | |
loadUniform ! ( in Size paramKey, in Mat44 value ) | |
loadUniform ! ( in Size paramKey, in Mat44 values<> ) | |
loadUniform ! ( in Size paramKey, in SInt32 value ) | |
loadUniform ! ( in Size paramKey, in SInt32 values<> ) | |
loadUniform ! ( in Size paramKey, in Scalar value ) | |
loadUniform ! ( in Size paramKey, in Scalar values<> ) | |
loadUniform ! ( in Size paramKey, in UInt32 values<> ) | |
loadUniform ! ( in Size paramKey, in Vec2 value ) | |
loadUniform ! ( in Size paramKey, in Vec2 values<> ) | |
loadUniform ! ( in Size paramKey, in Vec3 value ) | |
loadUniform ! ( in Size paramKey, in Vec3 values<> ) | |
loadUniform ! ( in Size paramKey, in Vec4 value ) | |
loadUniform ! ( in Size paramKey, in Vec4 values<> ) | |
Boolean | populateFromGLSLFileGroup ! ( in String directory, in String namePrefix, in String preprocessorIncludePaths<> ) |
reportCodeAndMappings ? () | |
resetToDefault ! ( in Size paramKey ) | |
setDefault ! ( in Size paramKey, in Boolean value ) | |
setDefault ! ( in Size paramKey, in Color value ) | |
setDefault ! ( in Size paramKey, in Mat22 value ) | |
setDefault ! ( in Size paramKey, in Mat33 value ) | |
setDefault ! ( in Size paramKey, in Mat44 value ) | |
setDefault ! ( in Size paramKey, in SInt32 value ) | |
setDefault ! ( in Size paramKey, in Scalar value ) | |
setDefault ! ( in Size paramKey, in Vec2 value ) | |
setDefault ! ( in Size paramKey, in Vec3 value ) | |
setDefault ! ( in Size paramKey, in Vec4 value ) | |
~OGLProgram () |
Methods in detail¶
OGLProgram ( in OGLProgram other )
copy constructor
OGLProgram ( in String name )
OGLProgram ()
default constructor
OGLProgram.activate! ( io Ref<OGLContext> context )
OGLProgram.addShader! ( in OGLShader_ shader )
OGLProgram.addShader! ( in String code, in Integer glShaderType )
OGLProgram.addShader! ( in String filePath, in String code, in Integer glShaderType, in String preprocessorIncludePaths<> )
Size OGLProgram.addUserParameter! ( in String name, in UInt32 glType, in UInt32 size, in UInt32 paramCategory )
Adds a parameter that was not created by program’s compilation (optimized out). This can be useful for propagating value to other program variation which might have it.
paramCategory | One of the following: OGLProgram_uniformParam, OGLProgram_attribParam, OGLProgram_fragDataParam |
OGLProgram OGLProgram.clone? ()
clone method
Boolean OGLProgram.create! ( io Ref<OGLContext> context )
Returns true if it succeeded. Some Objects can only be created with specialized methods, in which case this will return false.
Boolean OGLProgram.createParameters! ( io Ref<OGLContext> context, in Boolean drawSharedContext )
OGLProgram.declareOutputFragmentName! ( in String name )
String OGLProgram.describe? ()
OGLProgram.extractParameterInfo! ( io Ref<OGLContext> context )
OGLProgram.getCurrentParamValue? ( in Size paramKey, io Data structData, io UInt64 structSize, in UInt32 subIndex )
OGLProgram.getDefaultParamValue? ( in Size paramKey, io Data structData, io UInt64 structSize, in UInt32 subIndex )
Size OGLProgram.getInputParameterCount? ()
UInt32 OGLProgram.getOutputFragmentCount? ()
UInt32 OGLProgram.getOutputFragmentIndex? ( in String name )
UInt32 OGLProgram.getOutputFragmentLocation? ( in UInt32 index )
String OGLProgram.getOutputFragmentName? ( in UInt32 index )
Size OGLProgram.getParamKeyForTextureUnit? ( in Size unit )
Size OGLProgram.getParameterArrayCount? ( in Size paramKey )
UInt32 OGLProgram.getParameterCategory? ( in Size paramKey )
OGLProgram.getParameterCategoryAndIndex? ( in Size paramKey, io UInt32 paramCategory, io UInt32 index )
paramCategory | One of the following: OGLProgram_uniformParam, OGLProgram_attribParam, OGLProgram_fragDataParam |
index | Index within that parameter category. |
Size OGLProgram.getParameterCount? ( in UInt32 paramCategory )
paramCategory | OGLProgram[x]:ref:Param <param> constant |
String OGLProgram.getParameterDesc? ( in UInt32 paramCategory, in UInt32 index )
paramCategory | OGLProgram[x]:ref:Param <param> constant |
UInt32 OGLProgram.getParameterExpectedTextureType? ( in Size paramKey, io Boolean shadow )
Integer OGLProgram.getParameterGLType? ( in Size paramKey )
Type OGLProgram.getParameterKLType? ( in Size paramKey )
Will return None if no direct match (use OGLProgram.getParameterGLType)
Size OGLProgram.getParameterKey? ( in String name )
Gets a parameter key from a parameter name. Returns ‘InvalidIndex’ if not found.
Size OGLProgram.getParameterKey? ( in UInt32 paramCategory, in UInt32 index )
Size OGLProgram.getParameterKeyEnd? ()
Integer OGLProgram.getParameterLocation? ( in Size paramKey )
String OGLProgram.getParameterName? ( in Size paramKey )
Size OGLProgram.getParameterTotalWordCount? ( in Size paramKey )
Size OGLProgram.getParameterWordCountPerItem? ( in Size paramKey )
Size OGLProgram.getTextureUnit? ( in Size paramKey )
Size OGLProgram.getTextureUnitCount? ()
Boolean OGLProgram.isUserParameter? ( in Size paramKey )
OGLProgram.link! ( in Boolean force, io Ref<OGLContext> context )
OGLProgram.link! ( io Ref<OGLContext> context )
OGLProgram.loadUniform! ( in Size paramKey, in Boolean value )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Color value )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Color values<> )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Mat22 value )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Mat22 values<> )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Mat33 value )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Mat33 values<> )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Mat44 value )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Mat44 values<> )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in SInt32 value )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in SInt32 values<> )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Scalar value )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Scalar values<> )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in UInt32 values<> )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Vec2 value )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Vec2 values<> )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Vec3 value )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Vec3 values<> )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Vec4 value )
注釈
We assume that OGLProgram.activate() was previously called
OGLProgram.loadUniform! ( in Size paramKey, in Vec4 values<> )
注釈
We assume that OGLProgram.activate() was previously called
Boolean OGLProgram.populateFromGLSLFileGroup! ( in String directory, in String namePrefix, in String preprocessorIncludePaths<> )
Open a group of files following this name convention: directory/[namePrefix]_[shaderType].glsl
OGLProgram.reportCodeAndMappings? ()
OGLProgram.resetToDefault! ( in Size paramKey )
OGLProgram.setDefault! ( in Size paramKey, in Boolean value )
OGLProgram.setDefault! ( in Size paramKey, in Color value )
OGLProgram.setDefault! ( in Size paramKey, in Mat22 value )
OGLProgram.setDefault! ( in Size paramKey, in Mat33 value )
OGLProgram.setDefault! ( in Size paramKey, in Mat44 value )
OGLProgram.setDefault! ( in Size paramKey, in SInt32 value )
OGLProgram.setDefault! ( in Size paramKey, in Scalar value )
OGLProgram.setDefault! ( in Size paramKey, in Vec2 value )
OGLProgram.setDefault! ( in Size paramKey, in Vec3 value )
OGLProgram.setDefault! ( in Size paramKey, in Vec4 value )
~ OGLProgram ()