away3d.materials.compilation

..
LightingShaderCompiler

LightingShaderCompiler is a ShaderCompiler that generates code for passes performing shading only (no effect passes)

MethodDependencyCounter

MethodDependencyCounter keeps track of the number of dependencies for "named registers" used across methods. Named registers are that are not necessarily limited to a single method. They are created by the compiler and passed on to methods. The compiler uses the results to reserve usages through RegisterPool, which can be removed each time a method has been compiled into the shader.

RegisterPool

RegisterPool is used by the shader compilation 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.

ShaderCompiler

ShaderCompiler is an abstract base class for shader compilers that use modular shader methods to assemble a material. Concrete subclasses are used by the default materials.

ShaderRegisterCache

ShaderRegister Cache provides the usage management system for all registers during shading compilation.

ShaderRegisterData

A number of commonly-available registers, generated by the compiler and made available to the methods.

ShaderRegisterElement

A single register element (an entire register or a single register's component) used by the RegisterPool.

SuperShaderCompiler

SuperShaderCompiler is a compiler that generates shaders that perform both lighting and "effects" through methods. This is used by the single-pass materials.