gamnit :: UniformMap
Uniform instances by their namegamnit :: UniformMap :: defaultinit
gamnit $ UniformMap :: SELF
Type of this instance, automatically specialized in every classgamnit $ UniformMap :: provide_default_value
Called by the underling implementation of[] to provide a default value when a key has no value
			serialization :: Serializable :: accept_json_serializer
Refinable service to customize the serialization of this class to JSONserialization :: Serializable :: accept_msgpack_attribute_counter
Hook to customize the behavior of theAttributeCounter
			serialization :: Serializable :: accept_msgpack_serializer
Hook to customize the serialization of this class to MessagePackserialization :: Serializable :: add_to_bundle
Called by[]= to dynamically choose the appropriate method according
			core :: Object :: class_factory
Implementation used byget_class to create the specific class.
			serialization :: Serializable :: core_serialize_to
Actual serialization ofself to serializer
			core :: HashMap :: defaultinit
core :: Map :: defaultinit
gamnit :: UniformMap :: defaultinit
core :: MapRead :: defaultinit
core :: Object :: defaultinit
core :: MapRead :: filter_keys
Return all elements ofkeys that have a value.
			serialization :: Serializable :: from_deserializer
Create an instance of this class from thedeserializer
			core :: MapRead :: get_or_default
Get the item atkey or return default if not in map
			core :: MapRead :: get_or_null
Get the item atkey or null if key is not in the map.
			core :: Object :: is_same_instance
Return true ifself and other are the same instance (i.e. same identity).
			core :: Object :: is_same_serialized
Isself the same as other in a serialization context?
			core :: Object :: is_same_type
Return true ifself and other have the same dynamic type.
			core :: MapRead :: keys_sorted_by_values
Return an array of all keys sorted with their values usingcomparator.
			core :: MapRead :: lookup_all_values
Search all the values inpe.greaters.
			core :: MapRead :: lookup_values
Combine the values inpe.greaters from the most smaller elements that have a value.
			serialization :: Serializable :: msgpack_extra_array_items
Hook to request a larger than usual metadata arraycore :: Object :: output_class_name
Display class name on stdout (debug only).core :: MapRead :: provide_default_value
Called by the underling implementation of[] to provide a default value when a key has no value
			serialization :: Serializable :: serialize_msgpack
Serializeself to MessagePack bytes
			serialization :: Serializable :: serialize_to
Serializeself to serializer
			serialization :: Serializable :: serialize_to_json
Serializeself to JSON
			core :: MapRead :: to_map_comparator
A comparator that compares things with their values in self.serialization :: Serializable :: to_pretty_json
Serializeself to plain pretty JSON
			core :: MapRead :: values_sorted_by_key
Return an array of all values sorted with their keys usingcomparator.
			ShaderVariable instances by their name
			
# Map to organize `Uniform` instances by their name
class UniformMap
	super ShaderVariableMap[Uniform]
	redef fun provide_default_value(key) do
		return new InactiveUniform(program.gl_program.as(not null), "", -1, 0)
	end
	redef fun max_name_length do return glGetProgramiv(program.gl_program.as(not null), gl_ACTIVE_UNIFORM_MAX_LENGTH)
	redef fun [](key)
	do
		var item = super
		if key isa Text then item.location = program.gl_program.uniform_location(key.to_s)
		return item
	end
end
					lib/gamnit/programs.nit:545,1--561,3