Programs
Render programs
Section titled “Render programs”Programs are selected based on the transparency of the Flywheel material.
clrwl_gbuffers is the only required program, other gbuffer programs fallback to it.
clrwl_shadow is optional: if absent, Flywheel instances won’t be rendered in the shadow pass.
| Gbuffer Program | Transparency | Default blending mode |
|---|---|---|
clrwl_gbuffers | opaque | - |
clrwl_gbuffers_additive | additive | ONE ONE ONE ONE |
clrwl_gbuffers_lightning | lightning | SRC_ALPHA ONE ONE ONE |
clrwl_gbuffers_glint | glint | SRC_COLOR ONE ZERO ONE |
clrwl_gbuffers_translucent | translucent, order independant | SRC_ALPHA ONE_MINUS_SRC_ALPHA ONE ONE_MINUS_SRC_ALPHA |
clrwl_gbuffers_damagedblock | crumbling | DST_COLOR SRC_COLOR ONE ZERO |
By default, all shadow programs have their blending disabled.
| Shadow Program | Transparency |
|---|---|
clrwl_shadow | opaque |
clrwl_shadow_additive | additive |
clrwl_shadow_lightning | lightning |
clrwl_shadow_glint | glint |
clrwl_shadow_translucent | translucent, order independant |
Rendering Order
Section titled “Rendering Order”Opaques, additives, lightnings and glint geometries are rendered before the block entities.
Translucents geometries are rendered before the translucent terrain.
Compute programs
Section titled “Compute programs”clrwl_shadow_distort
Section titled “clrwl_shadow_distort”The clrwl_shadow_distort program provides the shadow distort functions used within the shaderpack to Colorwheel.
The functions that must be implemented are clrwl_distortShadowClipXY and clrwl_distortShadowClipZ.