Shader uniform of GLSL type mat4

Introduced properties

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

gamnit :: UniformMat4 :: defaultinit

private fun native_matrix_cache=(native_matrix_cache: nullable NativeGLfloatArray)

gamnit :: UniformMat4 :: native_matrix_cache=

fun uniform(matrix: Matrix)

gamnit :: UniformMat4 :: uniform

Set this uniform value
private fun uniform_matrix_4f(index: Int, count: Int, transpose: Bool, data: NativeGLfloatArray)

gamnit :: UniformMat4 :: uniform_matrix_4f

Redefined properties

redef type SELF: UniformMat4

gamnit $ UniformMat4 :: SELF

Type of this instance, automatically specialized in every class

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
private var _location: Int

gamnit :: ShaderVariable :: _location

Location of self in the compiled program
private var _name: String

gamnit :: ShaderVariable :: _name

Name of self in the program source
private var _program: GLProgram

gamnit :: ShaderVariable :: _program

The GamnitProgram to which self belongs
private var _size: Int

gamnit :: ShaderVariable :: _size

Number of elements in this array (1 for scalars and more for vectors)
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 :: Uniform :: defaultinit

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

gamnit :: UniformMat4 :: 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
private intern fun native_class_name: CString

core :: Object :: native_class_name

The class name of the object in CString format.
private fun native_matrix_cache=(native_matrix_cache: nullable NativeGLfloatArray)

gamnit :: UniformMat4 :: native_matrix_cache=

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.
fun uniform(matrix: Matrix)

gamnit :: UniformMat4 :: uniform

Set this uniform value
private fun uniform_1i(index: Int, x: Int)

gamnit :: Uniform :: uniform_1i

private fun uniform_matrix_4f(index: Int, count: Int, transpose: Bool, data: NativeGLfloatArray)

gamnit :: UniformMat4 :: uniform_matrix_4f

package_diagram gamnit::UniformMat4 UniformMat4 gamnit::Uniform Uniform gamnit::UniformMat4->gamnit::Uniform gamnit::ShaderVariable ShaderVariable gamnit::Uniform->gamnit::ShaderVariable ...gamnit::ShaderVariable ... ...gamnit::ShaderVariable->gamnit::ShaderVariable gamnit::InactiveUniform InactiveUniform gamnit::InactiveUniform->gamnit::UniformMat4

Ancestors

interface Object

core :: Object

The root of the class hierarchy.
class ShaderVariable

gamnit :: ShaderVariable

Uniform or Attribute of a GamnitProgram

Parents

class Uniform

gamnit :: Uniform

Shader uniform

Children

class InactiveUniform

gamnit :: InactiveUniform

Uniform that does not exist or that has been optimized out

Class definitions

gamnit $ UniformMat4
# Shader uniform of GLSL type `mat4`
class UniformMat4
	super Uniform

	private var native_matrix_cache: nullable NativeGLfloatArray = null

	# Set this uniform value
	fun uniform(matrix: Matrix)
	do
		var native = native_matrix_cache
		if native == null then
			native = new NativeGLfloatArray.matrix
			self.native_matrix_cache = native
		end

		matrix.fill_native(native)
		uniform_matrix_4f(location, 1, false, native)
	end

	private fun uniform_matrix_4f(index, count: Int, transpose: Bool, data: NativeGLfloatArray) `{
		glUniformMatrix4fv(index, count, transpose, data);
	`}
end
lib/gamnit/programs.nit:213,1--235,3