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. |