Uniform or Attribute of a GamnitProgram

Introduced properties

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

gamnit :: ShaderVariable :: defaultinit

fun is_active: Bool

gamnit :: ShaderVariable :: is_active

Is self an active uniform or attribute in the program?
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
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 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)

Redefined properties

redef type SELF: ShaderVariable

gamnit $ ShaderVariable :: SELF

Type of this instance, automatically specialized in every class
redef fun to_s: String

gamnit $ ShaderVariable :: to_s

User readable representation of self.

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 :: 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::ShaderVariable ShaderVariable core::Object Object gamnit::ShaderVariable->core::Object gamnit::InactiveVariable InactiveVariable gamnit::InactiveVariable->gamnit::ShaderVariable gamnit::Attribute Attribute gamnit::Attribute->gamnit::ShaderVariable gamnit::Uniform Uniform gamnit::Uniform->gamnit::ShaderVariable gamnit::InactiveAttribute InactiveAttribute gamnit::InactiveAttribute->gamnit::InactiveVariable gamnit::InactiveUniform InactiveUniform gamnit::InactiveUniform->gamnit::InactiveVariable gamnit::InactiveAttribute... ... gamnit::InactiveAttribute...->gamnit::InactiveAttribute gamnit::InactiveUniform... ... gamnit::InactiveUniform...->gamnit::InactiveUniform gamnit::AttributeFloat AttributeFloat gamnit::AttributeFloat->gamnit::Attribute gamnit::AttributeVec2 AttributeVec2 gamnit::AttributeVec2->gamnit::Attribute gamnit::AttributeVec3 AttributeVec3 gamnit::AttributeVec3->gamnit::Attribute gamnit::AttributeVec4 AttributeVec4 gamnit::AttributeVec4->gamnit::Attribute gamnit::AttributeFloat... ... gamnit::AttributeFloat...->gamnit::AttributeFloat gamnit::AttributeVec2... ... gamnit::AttributeVec2...->gamnit::AttributeVec2 gamnit::AttributeVec3... ... gamnit::AttributeVec3...->gamnit::AttributeVec3 gamnit::AttributeVec4... ... gamnit::AttributeVec4...->gamnit::AttributeVec4 gamnit::UniformBool UniformBool gamnit::UniformBool->gamnit::Uniform gamnit::UniformInt UniformInt gamnit::UniformInt->gamnit::Uniform gamnit::UniformFloat UniformFloat gamnit::UniformFloat->gamnit::Uniform gamnit::UniformVec2 UniformVec2 gamnit::UniformVec2->gamnit::Uniform gamnit::UniformVec3 UniformVec3 gamnit::UniformVec3->gamnit::Uniform gamnit::UniformVec4 UniformVec4 gamnit::UniformVec4->gamnit::Uniform gamnit::UniformSampler2D UniformSampler2D gamnit::UniformSampler2D->gamnit::Uniform gamnit::UniformMat4 UniformMat4 gamnit::UniformMat4->gamnit::Uniform gamnit::UniformBool... ... gamnit::UniformBool...->gamnit::UniformBool gamnit::UniformInt... ... gamnit::UniformInt...->gamnit::UniformInt gamnit::UniformFloat... ... gamnit::UniformFloat...->gamnit::UniformFloat gamnit::UniformVec2... ... gamnit::UniformVec2...->gamnit::UniformVec2 gamnit::UniformVec3... ... gamnit::UniformVec3...->gamnit::UniformVec3 gamnit::UniformVec4... ... gamnit::UniformVec4...->gamnit::UniformVec4 gamnit::UniformSampler2D... ... gamnit::UniformSampler2D...->gamnit::UniformSampler2D gamnit::UniformMat4... ... gamnit::UniformMat4...->gamnit::UniformMat4

Parents

interface Object

core :: Object

The root of the class hierarchy.

Children

class Attribute

gamnit :: Attribute

Shader attribute
abstract class InactiveVariable

gamnit :: InactiveVariable

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

gamnit :: Uniform

Shader uniform

Descendants

class AttributeFloat

gamnit :: AttributeFloat

Shader attribute of GLSL type float
class AttributeVec2

gamnit :: AttributeVec2

Shader attribute of GLSL type vec2
class AttributeVec3

gamnit :: AttributeVec3

Shader attribute of GLSL type vec3
class AttributeVec4

gamnit :: AttributeVec4

Shader attribute of GLSL type vec4
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 UniformBool

gamnit :: UniformBool

Shader uniform of GLSL type bool
class UniformFloat

gamnit :: UniformFloat

Shader uniform of GLSL type vec4
class UniformInt

gamnit :: UniformInt

Shader uniform of GLSL type int
class UniformMat4

gamnit :: UniformMat4

Shader uniform of GLSL type mat4
class UniformSampler2D

gamnit :: UniformSampler2D

Shader uniform of GLSL type sampler2D
class UniformVec2

gamnit :: UniformVec2

Shader uniform of GLSL type vec4
class UniformVec3

gamnit :: UniformVec3

Shader uniform of GLSL type vec4
class UniformVec4

gamnit :: UniformVec4

Shader uniform of GLSL type vec4

Class definitions

gamnit $ ShaderVariable
# `Uniform` or `Attribute` of a `GamnitProgram`
class ShaderVariable

	# The `GamnitProgram` to which `self` belongs
	var program: GLProgram

	# Name of `self` in the `program` source
	var name: String

	# Location of `self` in the compiled `program`
	var location: Int

	# Number of elements in this array (1 for scalars and more for vectors)
	var size: Int

	# Is `self` an active uniform or attribute in the `program`?
	#
	# If `false`, the variable may have been optimized out by the compiler.
	fun is_active: Bool do return true

	redef fun to_s do return "<{class_name} name:{name} location:{location} size:{size}"
end
lib/gamnit/programs.nit:23,1--44,3