From c7cc86b357e0a8602adeff91d12ba761159f1c4f Mon Sep 17 00:00:00 2001 From: AzaezelX Date: Fri, 23 Feb 2024 11:52:43 -0600 Subject: [PATCH] clamp spot angle to 179, up custommaterial inputs to 16 add Material::PhotometricMask:handling to processedcustommaterial and for paranoias sake go ahead and be explicit about _getLightMaterial (those *should* be unneeded as they optionally default to that, but it's how they were in the beatup fork during testing) --- Engine/source/T3D/spotLight.cpp | 2 +- Engine/source/lighting/advanced/advancedLightBinManager.cpp | 4 ++-- Engine/source/materials/materialDefinition.h | 2 +- Engine/source/materials/processedCustomMaterial.cpp | 1 + 4 files changed, 5 insertions(+), 4 deletions(-) diff --git a/Engine/source/T3D/spotLight.cpp b/Engine/source/T3D/spotLight.cpp index 3f43305f7..6653a5365 100644 --- a/Engine/source/T3D/spotLight.cpp +++ b/Engine/source/T3D/spotLight.cpp @@ -132,7 +132,7 @@ void SpotLight::_conformLights() mLight->setDynamicRefreshFreq(mDynamicRefreshFreq); mLight->setPriority( mPriority ); - mOuterConeAngle = getMax( 0.01f, mOuterConeAngle ); + mOuterConeAngle = getMin(getMax( 0.01f, mOuterConeAngle ),179.0f); mInnerConeAngle = getMin( mInnerConeAngle, mOuterConeAngle ); mLight->setInnerConeAngle( mInnerConeAngle ); diff --git a/Engine/source/lighting/advanced/advancedLightBinManager.cpp b/Engine/source/lighting/advanced/advancedLightBinManager.cpp index 431ec28ad..24637de6c 100644 --- a/Engine/source/lighting/advanced/advancedLightBinManager.cpp +++ b/Engine/source/lighting/advanced/advancedLightBinManager.cpp @@ -399,9 +399,9 @@ void AdvancedLightBinManager::render( SceneRenderState *state ) sunLight->getCastShadows() && !disableShadows && sunLight->getExtended() ) - vectorMatInfo = _getLightMaterial( LightInfo::Vector, ShadowType_PSSM ); + vectorMatInfo = _getLightMaterial( LightInfo::Vector, ShadowType_PSSM,false,false ); else - vectorMatInfo = _getLightMaterial( LightInfo::Vector, ShadowType_None ); + vectorMatInfo = _getLightMaterial( LightInfo::Vector, ShadowType_None, false, false); // Initialize and set the per-frame parameters after getting // the vector light material as we use lazy creation. diff --git a/Engine/source/materials/materialDefinition.h b/Engine/source/materials/materialDefinition.h index 504fecaa6..29996cf66 100644 --- a/Engine/source/materials/materialDefinition.h +++ b/Engine/source/materials/materialDefinition.h @@ -71,7 +71,7 @@ public: //----------------------------------------------------------------------- enum Constants { - MAX_TEX_PER_PASS = 8, ///< Number of textures per pass + MAX_TEX_PER_PASS = 16, ///< Number of textures per pass MAX_STAGES = 4, NUM_EFFECT_COLOR_STAGES = 2, ///< Number of effect color definitions for transitioning effects. }; diff --git a/Engine/source/materials/processedCustomMaterial.cpp b/Engine/source/materials/processedCustomMaterial.cpp index 15772c078..1610d7ec9 100644 --- a/Engine/source/materials/processedCustomMaterial.cpp +++ b/Engine/source/materials/processedCustomMaterial.cpp @@ -361,6 +361,7 @@ void ProcessedCustomMaterial::setTextureStages( SceneRenderState *state, const S break; case Material::Mask: + case Material::PhotometricMask: case Material::Standard: case Material::Bump: case Material::Detail: