rendering: formalize legacy material shader pass hints
This commit is contained in:
@@ -323,7 +323,8 @@ void Material::Release() {
|
||||
m_shader.Reset();
|
||||
m_renderQueue = static_cast<Core::int32>(MaterialRenderQueue::Geometry);
|
||||
m_renderState = MaterialRenderState();
|
||||
m_shaderPass.Clear();
|
||||
m_hasRenderStateOverride = false;
|
||||
m_legacyShaderPassHint.Clear();
|
||||
m_tags.Clear();
|
||||
m_keywordSet.enabledKeywords.Clear();
|
||||
m_properties.Clear();
|
||||
@@ -353,12 +354,31 @@ void Material::SetRenderQueue(MaterialRenderQueue renderQueue) {
|
||||
|
||||
void Material::SetRenderState(const MaterialRenderState& renderState) {
|
||||
m_renderState = renderState;
|
||||
m_hasRenderStateOverride = true;
|
||||
MarkChanged(false);
|
||||
}
|
||||
|
||||
void Material::SetRenderStateOverrideEnabled(bool enabled) {
|
||||
m_hasRenderStateOverride = enabled;
|
||||
MarkChanged(false);
|
||||
}
|
||||
|
||||
void Material::SetLegacyShaderPassHint(const Containers::String& shaderPass) {
|
||||
m_legacyShaderPassHint = shaderPass;
|
||||
MarkChanged(false);
|
||||
}
|
||||
|
||||
void Material::ClearLegacyShaderPassHint() {
|
||||
if (m_legacyShaderPassHint.Empty()) {
|
||||
return;
|
||||
}
|
||||
|
||||
m_legacyShaderPassHint.Clear();
|
||||
MarkChanged(false);
|
||||
}
|
||||
|
||||
void Material::SetShaderPass(const Containers::String& shaderPass) {
|
||||
m_shaderPass = shaderPass;
|
||||
MarkChanged(false);
|
||||
SetLegacyShaderPassHint(shaderPass);
|
||||
}
|
||||
|
||||
void Material::SetTag(const Containers::String& name, const Containers::String& value) {
|
||||
@@ -1100,7 +1120,7 @@ void Material::UpdateMemorySize() {
|
||||
m_memorySize = m_constantBufferData.Size() +
|
||||
m_constantLayout.Size() * sizeof(MaterialConstantFieldDesc) +
|
||||
sizeof(MaterialRenderState) +
|
||||
m_shaderPass.Length() +
|
||||
m_legacyShaderPassHint.Length() +
|
||||
m_tags.Size() * sizeof(MaterialTagEntry) +
|
||||
m_keywordSet.enabledKeywords.Size() * sizeof(Containers::String) +
|
||||
m_textureBindings.Size() * sizeof(MaterialTextureBinding) +
|
||||
|
||||
Reference in New Issue
Block a user