The shader_transparent_generic tag is a powerful transparent shader used for jackal shields, teleporters, control panels, Cortana, and more.
Instances of this tag were replaced with shader_transparent_chicago and shader_transparent_chicago_extended when the game was ported to PC, but these shader types cannot fully replicate original appearances. Only the original Xbox version of the game and H1A in MCC support this shader; it is invisible in the Gearbox PC port.
For H1CE and H1PC, most of these shaders can be accurately recreated using extra layers and/or 4x4 "tint" bitmaps for recoloring the output of the shader.
Some other shaders will need small 256x4 gradient tint bitmaps that are animated to slide back and forth to tint the shaders output a blend of two different colors.
The most complex of the shaders can only be recreated using very large animated bitmaps that have had all their output pre-computed for each frame of the animation, however these can't be timed properly and are inefficient.
The Refined project attempts to recreate classic Xbox visuals by improving transparent shaders using these techniques.
| Function/global | Type |
---|
| (rasterizer_active_camouflage_multipass )
Toggles whether or not transparent shaders are shown through active camouflage. If disabled, shaders like glass or lights will not be visible through a camouflaged unit. | Global |
| (rasterizer_model_transparents )
Toggles the rendering of transparent shaders in models. For example, the Warthog's windshield. | Global |
Field | Type | Comments |
---|
| uint8 |
| bitfield |
Flag | Mask | Comments |
---|
| 0x1 | | | 0x2 | | | 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 | | | 0x1 | | | 0x2 | |
|
| 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 | |
| | 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 |
Field | Type | Comments |
---|
| bitfield | Flag | Mask | Comments |
---|
| 0x1 | | | 0x2 | | | 0x4 | |
| Option | Value | Comments |
---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | |
| | enum ? | | float | | ColorARGB | Field | Type | Comments |
---|
| float | | float | | float | | float |
| | ColorARGB ? | | ColorARGB ? | | enum | Option | Value | Comments |
---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | | | 0x5 | | | 0x6 | | | 0x7 | | | 0x8 | | | 0x9 | | | 0xA | | | 0xB | | | 0xC | | | 0xD | | | 0xE | | | 0xF | | | 0x10 | | | 0x11 | | | 0x12 | | | 0x13 | | | 0x14 | | | 0x15 | | | 0x16 | | | 0x17 | | | 0x18 | |
| | enum | Option | Value | Comments |
---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | | | 0x5 | | | 0x6 | | | 0x7 | |
| | enum ? | | enum ? | | enum ? | | enum ? | | enum ? | | enum ? | | enum | Option | Value | Comments |
---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | | | 0x5 | | | 0x6 | | | 0x7 | | | 0x8 | |
| | enum | Option | Value | Comments |
---|
| 0x0 | | | 0x1 | |
| | enum ? | | enum ? | | enum ? | | enum | Option | Value | Comments |
---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | | | 0x5 | |
| | enum | Option | Value | Comments |
---|
| 0x0 | | | 0x1 | | | 0x2 | | | 0x3 | | | 0x4 | | | 0x5 | | | 0x6 | | | 0x7 | | | 0x8 | | | 0x9 | | | 0xA | | | 0xB | | | 0xC | | | 0xD | | | 0xE | | | 0xF | | | 0x10 | | | 0x11 | | | 0x12 | | | 0x13 | | | 0x14 | | | 0x15 | | | 0x16 | | | 0x17 | | | 0x18 | |
| | enum ? | | enum ? | | enum ? | | enum ? | | enum ? | | enum ? | | enum ? | | enum ? | | enum ? | | enum ? | | enum ? |
|
Thanks to the following individuals for their research or contributions to this topic:
- Kavawuvi (Invader tag definitions)
- MosesOfEgypt (Tag structure research)