This page is incomplete! You can contribute information using GitHub issues or pull requests.
The transparent chicago shader is applied to surfaces that require transparent elements. This shader can contain up to 4 "stages" of bitmaps, where each stage and its alpha can animate and blend to form final accumulated diffuse and alpha channels. The shader can be given a final framebuffer blending function too, like add for holograms.
Alpha-tested BSP surfaces like 2D billboard trees and ladders can use the simpler shader_
If referenced as an extra shader layer, this tag will inherit some fields from its parent regardless of its own flags (e.g. first map type).
Related HaloScript
Function/global | Type | |
---|---|---|
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 | |
Toggles the rendering of transparent shaders in models. For example, the Warthog's windshield. | Global | |
Reloads all shader_ | Function |
Structure and fields
Field | Type | Comments | |||||||||||||||||||||||||||
---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|---|
numeric counter limit | uint8 | ||||||||||||||||||||||||||||
shader transparent chicago flags | bitfield | ||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
first map type | enum | ||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
framebuffer blend function | enum | ||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
framebuffer fade mode | enum | ||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
framebuffer fade source | enum | ||||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
lens flare spacing | float | ||||||||||||||||||||||||||||
lens flare | TagDependency : lens_flare | ||||||||||||||||||||||||||||
extra layers | Block | Specifies additional shaders to render before this parent shader. The same geometry is essentially rendered multiple times with different shaders. Each extra layer shader can have an independent framebuffer blend function, but some settings like first map is reflection cube map from the parent will also override the setting in extra layers. Although any shader type can be referenced here, only the chicago transparent shaders are properly supported; the other types will either not render or render incorrectly. Warning: Using a shader with extra layers on an object with transparent self occlusion enabled causes Sapien to crash. | |||||||||||||||||||||||||||
| |||||||||||||||||||||||||||||
maps | Block | Warning: HEK Sapien will crash if this block is empty. The shader is not rendered in H1A Sapien or in-game in this case. | |||||||||||||||||||||||||||
extra flags | bitfield | ||||||||||||||||||||||||||||
|
Acknowledgements
Thanks to the following individuals for their research or contributions to this topic:
- Kavawuvi (Invader tag definitions)
- MosesOfEgypt (Tag structure research)