shader_transparent_chicago_extended
Transparent chicago extended shaders are essentially identical to shader_transparent_chicago, but have an additional 2-stage block used when video hardware does not support more than 2 maps in a shader (which can be simulated with arguments). There is no reason to use this shader type over shader_transparent_chicago on modern systems.
See shader_transparent_chicago for more documentation.
| Field | Type | Comments |
|---|
| uint8 |
| bitfield |
| Flag | Mask | Comments |
|---|
| 0x1 | | | 0x2 | Makes the shader render with a slight depth bias toward the camera to prevent Z-fighting. Use this flag for light planes that will be placed at very small offsets from the surface behind them. Avoid using shaders with this flag where they're placed behind greates or embedded within geometric details, as it will sometimes sort incorrectly against them when viewed at a distance. | | 0x4 | | | 0x8 | | | 0x10 | | | 0x20 | | | 0x40 | | | 0x80 | |
|
| enum |
| Option | Value | Comments |
|---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | |
|
| enum |
| Option | Value | Comments |
|---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | | | 0x5 | | | 0x6 | | | 0x7 | |
|
| enum |
| Option | Value | Comments |
|---|
| 0x0 | The faces do not fade by viewing angle. | | 0x1 | The faces fade out when viewed edge-on. | | 0x2 | The faces fade out when viewed flat to the camera. |
|
| enum |
| Option | Value | Comments |
|---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | |
|
| float |
| TagDependency: lens_flare |
| Block |
| Field | Type | Comments |
|---|
| TagDependency: shader |
|
| Block |
| Field | Type | Comments |
|---|
| bitfield | | Flag | Mask | Comments |
|---|
| 0x1 | | | 0x2 | | | 0x4 | Texture coordinates outside the U 0-1 range will be clamped to the edges. See u animation function for caveats. | | 0x8 | Texture coordinates outside the V 0-1 range will be clamped to the edges. See u animation function for caveats. |
| | enum | | Option | Value | Comments |
|---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | | | 0x5 | | | 0x6 | | | 0x7 | | | 0x8 | | | 0x9 | | | 0xA | | | 0xB | | | 0xC | |
| | enum? | | float | | float | | float | | float | | float | | float | | TagDependency: bitmap | | enum? | | enum | | Option | Value | Comments |
|---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | | | 0x5 | | | 0x6 | | | 0x7 | | | 0x8 | | | 0x9 | | | 0xA | | | 0xB | |
| | float | | float | | float | | enum? | | enum? | | float | | float | | float | | enum? | | enum? | | float | | float | | float | | Point2D | | Field | Type | Comments |
|---|
| float | | float |
|
|
| Block? |
| Flag | Mask | Comments |
|---|
| 0x1 | | | 0x2 | | | 0x4 | Custom edition originally had an incorrect implementation of the multiply and double multiply framebuffer blend functions for transparent shaders which made fully dark pixels transparent. MCC is fixed but this flag allows modders to use custom edition's blending, which can help when porting legacy tags to the updated engine. |
|
Thanks to the following individuals for their research or contributions to this topic:
- Jakey (Explaining purpose of this tag)
- Kavawuvi (Invader tag definitions)
- MosesOfEgypt (Tag structure research)