Creates a new RegisterPool object.
The base name of the register type ("ft" for fragment temporaries, "vc" for vertex constants, etc)
The amount of available registers of this type.
Whether or not registers, once reserved, can be freed again. For example, temporaries are not persistent, but constants are.
Marks a register as used, so it cannot be retrieved. The register won't be able to be used until removeUsage has been called usageCount times again.
The register to mark as used.
The amount of usages to add.
Disposes any resources used by the current RegisterPool object.
Indicates whether or not any registers are in use.
Removes a usage from a register. When usages reach 0, the register is freed again.
The register for which to remove a usage.
Retrieve a single vector component that's still available.
Retrieve an entire vector register that's still available.
Generated using TypeDoc
RegisterPool is used by the shader compilers process to keep track of which registers of a certain type are currently used and should not be allowed to be written to. Either entire registers can be requested and locked, or single components (x, y, z, w) of a single register. It is used by ShaderRegisterCache to track usages of individual register types.
away.materials.ShaderRegisterCache