-
Notifications
You must be signed in to change notification settings - Fork 280
Description
User Problem
The material editor is designed to only show properties that are relevant for the material given its current feature set. In a similar fashion, the material will only serialize properties that are relevant given its current feature set.
This leads to settings that are pass-specific (such as u_ShadowClippingThreshold for the SHADOW_PASS feature), to not be displayed in the material editor, although they should be exposed to the user somehow.
Feature Description
The multi-compile/variant system should be decoupled to support 2 similar yet different systems:
- features
- passes
The SHADOW_PASS, which is currently a feature, should be known and recognized on the engine side as a "pass", this way, pass-related settings could still be displayed in the material editor, potentially under a different category, and still serialized. Passes should not be displayed in the feature list.
Features & passes could be declared as follows:
#pass SHADOW_PASS
#feature PARALLAX_MAPPING
#feature ALPHA_CLIPPING
#feature ALPHA_DITHERING
#feature NORMAL_MAPPING
#feature DISTANCE_FADE
#feature SPECULAR_WORKFLOW
#feature GAMMA_CORRECTIONThe rest of the code would remain unchanged.
