DarkRadiant: materialeditor2 d24d64f2
Author | Committer | Branch | Timestamp | Parent |
---|---|---|---|---|
greebo | greebo | materialeditor2 | 13.03.2021 05:08 | materialeditor2 c9d942b5 |
Affected Issues | 0005532: Material Editor: Ground Work | |||
Changeset | 0005532: Introduce an extended IEditableShaderLayer interface. Just returning a const IShaderLayer reference for non-edit scenarios turns out to be impractical, since the render passes need to evaluate time-dependent expressions and update the stage's registers, requiring non-const access to the stages. The Material itself needs to know when it's being modified, so I went for intruducing a separate Material::getEditableLayer() method that is taking care of the backup clone as soon as it's called. This way it's possible to inspect and render a material without implicitly marking it as modified. |
|||
mod - include/ishaderlayer.h | Diff File | |||
mod - include/ishaders.h | Diff File | |||
mod - radiantcore/shaders/CShader.cpp | Diff File | |||
mod - radiantcore/shaders/CShader.h | Diff File | |||
mod - radiantcore/shaders/Doom3ShaderLayer.h | Diff File |