Inactive shader variable, either optimized out or simple absent from the program

Returned by GamnitProgram::uniforms or GamnitProgram::attributes when the uniform has not been identified as active by the driver. Operations on instances of this class have no effects.

Act as a compatibility when a program expect a uniform to exist even in a context where the driver's compiler may have optimized it out. You must be careful when receiving an InactiveVariable as it may also silence real program errors, such type in variable name.

Introduced properties

init defaultinit(program: GLProgram, name: String, location: Int, size: Int)

gamnit :: InactiveVariable :: defaultinit

Redefined properties

redef type SELF: InactiveVariable

gamnit $ InactiveVariable :: SELF

Type of this instance, automatically specialized in every class
redef fun is_active: Bool

gamnit $ InactiveVariable :: is_active

Is self an active uniform or attribute in the program?

All properties

fun !=(other: nullable Object): Bool

core :: Object :: !=

Have self and other different values?
fun ==(other: nullable Object): Bool

core :: Object :: ==

Have self and other the same value?
type CLASS: Class[SELF]

core :: Object :: CLASS

The type of the class of self.
type SELF: Object

core :: Object :: SELF

Type of this instance, automatically specialized in every class
protected fun class_factory(name: String): CLASS

core :: Object :: class_factory

Implementation used by get_class to create the specific class.
fun class_name: String

core :: Object :: class_name

The class name of the object.
init defaultinit(program: GLProgram, name: String, location: Int, size: Int)

gamnit :: InactiveVariable :: defaultinit

init defaultinit(program: GLProgram, name: String, location: Int, size: Int)

gamnit :: ShaderVariable :: defaultinit

fun get_class: CLASS

core :: Object :: get_class

The meta-object representing the dynamic type of self.
fun hash: Int

core :: Object :: hash

The hash code of the object.
init init

core :: Object :: init

fun inspect: String

core :: Object :: inspect

Developer readable representation of self.
protected fun inspect_head: String

core :: Object :: inspect_head

Return "CLASSNAME:#OBJECTID".
fun is_active: Bool

gamnit :: ShaderVariable :: is_active

Is self an active uniform or attribute in the program?
intern fun is_same_instance(other: nullable Object): Bool

core :: Object :: is_same_instance

Return true if self and other are the same instance (i.e. same identity).
fun is_same_serialized(other: nullable Object): Bool

core :: Object :: is_same_serialized

Is self the same as other in a serialization context?
intern fun is_same_type(other: Object): Bool

core :: Object :: is_same_type

Return true if self and other have the same dynamic type.
fun location: Int

gamnit :: ShaderVariable :: location

Location of self in the compiled program
protected fun location=(location: Int)

gamnit :: ShaderVariable :: location=

Location of self in the compiled program
fun name: String

gamnit :: ShaderVariable :: name

Name of self in the program source
protected fun name=(name: String)

gamnit :: ShaderVariable :: name=

Name of self in the program source
intern fun object_id: Int

core :: Object :: object_id

An internal hash code for the object based on its identity.
fun output

core :: Object :: output

Display self on stdout (debug only).
intern fun output_class_name

core :: Object :: output_class_name

Display class name on stdout (debug only).
fun program: GLProgram

gamnit :: ShaderVariable :: program

The GamnitProgram to which self belongs
protected fun program=(program: GLProgram)

gamnit :: ShaderVariable :: program=

The GamnitProgram to which self belongs
fun serialization_hash: Int

core :: Object :: serialization_hash

Hash value use for serialization
fun size: Int

gamnit :: ShaderVariable :: size

Number of elements in this array (1 for scalars and more for vectors)
protected fun size=(size: Int)

gamnit :: ShaderVariable :: size=

Number of elements in this array (1 for scalars and more for vectors)
intern fun sys: Sys

core :: Object :: sys

Return the global sys object, the only instance of the Sys class.
abstract fun to_jvalue(env: JniEnv): JValue

core :: Object :: to_jvalue

fun to_s: String

core :: Object :: to_s

User readable representation of self.
package_diagram gamnit::InactiveVariable InactiveVariable gamnit::ShaderVariable ShaderVariable gamnit::InactiveVariable->gamnit::ShaderVariable core::Object Object gamnit::ShaderVariable->core::Object ...core::Object ... ...core::Object->core::Object gamnit::InactiveAttribute InactiveAttribute gamnit::InactiveAttribute->gamnit::InactiveVariable gamnit::InactiveUniform InactiveUniform gamnit::InactiveUniform->gamnit::InactiveVariable

Ancestors

interface Object

core :: Object

The root of the class hierarchy.

Parents

class ShaderVariable

gamnit :: ShaderVariable

Uniform or Attribute of a GamnitProgram

Children

class InactiveAttribute

gamnit :: InactiveAttribute

Attribute that does not exist or that has been optimized out
class InactiveUniform

gamnit :: InactiveUniform

Uniform that does not exist or that has been optimized out

Class definitions

gamnit $ InactiveVariable
# Inactive shader variable, either optimized out or simple absent from the program
#
# Returned by `GamnitProgram::uniforms` or `GamnitProgram::attributes` when
# the uniform has not been identified as active by the driver.
# Operations on instances of this class have no effects.
#
# Act as a compatibility when a program expect a uniform to exist even in
# a context where the driver's compiler may have optimized it out.
# You must be careful when receiving an `InactiveVariable` as it may also
# silence real program errors, such type in variable name.
abstract class InactiveVariable
	super ShaderVariable

	redef fun is_active do return false
end
lib/gamnit/programs.nit:46,1--60,3