mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-11 14:44:36 +00:00
Squashed commit of the following:
commit 678d0ea2357915c6502af90083f1d34b6b21b7b4
Author: AtomicWalrus <headlesschickens.inc@gmail.com>
Date: Mon Feb 20 20:46:15 2023 -0700
Removed some commented-out code
commit 4a149157f7a7b781e2246b1417b144625ff559cd
Author: AtomicWalrus <headlesschickens.inc@gmail.com>
Date: Mon Feb 20 20:42:03 2023 -0700
Remove un-used instance of the blendHardness var
commit e5dc42adef00ed371cbc89b731ae16889ba68d9a
Author: AtomicWalrus <headlesschickens.inc@gmail.com>
Date: Mon Feb 20 18:57:51 2023 -0700
Cleanup un-needed conditionals and other leftover code
commit dccd10010e058f00cd41f5c5c111443f9cb71721
Author: AtomicWalrus <headlesschickens.inc@gmail.com>
Date: Mon Feb 20 18:05:31 2023 -0700
Use validator instead of protected field (2)
commit 4cc7f1d32fcc6ab788de54bb38763283fbd5533e
Author: AtomicWalrus <headlesschickens.inc@gmail.com>
Date: Mon Feb 20 18:03:40 2023 -0700
Use validator instead of protected field
commit e8d7e1731e383a99e8a0539d23a3b04f9c252491
Author: AtomicWalrus <headlesschickens.inc@gmail.com>
Date: Mon Feb 20 15:34:48 2023 -0700
Terrain macro textures and blending hardness
This commit is contained in:
parent
2d946f693a
commit
13fec9bb80
10 changed files with 333 additions and 89 deletions
|
|
@ -548,7 +548,7 @@ bool TerrainCellMaterial::_initShader(bool deferredMat,
|
|||
|
||||
mDetailInfoVArrayConst = mShader->getShaderConstHandle("$detailScaleAndFade");
|
||||
mDetailInfoPArrayConst = mShader->getShaderConstHandle("$detailIdStrengthParallax");
|
||||
mMacroInfoVArrayConst = mShader->getShaderConstHandle("$macroIdStrengthParallax");
|
||||
mMacroInfoVArrayConst = mShader->getShaderConstHandle("$macroScaleAndFade");
|
||||
mMacroInfoPArrayConst = mShader->getShaderConstHandle("$macroIdStrengthParallax");
|
||||
|
||||
mDetailTexArrayConst = mShader->getShaderConstHandle("$detailMapSampler");
|
||||
|
|
@ -637,6 +637,7 @@ bool TerrainCellMaterial::_initShader(bool deferredMat,
|
|||
|
||||
mMaterialInfos[i]->mBlendDepthConst = mShader->getShaderConstHandle(avar("$blendDepth%d", i));
|
||||
mMaterialInfos[i]->mBlendContrastConst = mShader->getShaderConstHandle(avar("$blendContrast%d", i));
|
||||
mMaterialInfos[i]->mBlendHardnessConst = mShader->getShaderConstHandle(avar("$blendHardness%d", i));
|
||||
}
|
||||
|
||||
// If we're doing deferred it requires some
|
||||
|
|
@ -689,6 +690,9 @@ void TerrainCellMaterial::_updateMaterialConsts( )
|
|||
AlignedArray<Point4F> detailInfoArray(detailMatCount, sizeof(Point4F));
|
||||
AlignedArray<Point4F> detailScaleAndFadeArray(detailMatCount, sizeof(Point4F));
|
||||
|
||||
AlignedArray<Point4F> macroInfoArray(detailMatCount, sizeof(Point4F));
|
||||
AlignedArray<Point4F> macroScaleAndFadeArray(detailMatCount, sizeof(Point4F));
|
||||
|
||||
int detailIndex = 0;
|
||||
for (MaterialInfo* matInfo : mMaterialInfos)
|
||||
{
|
||||
|
|
@ -745,12 +749,45 @@ void TerrainCellMaterial::_updateMaterialConsts( )
|
|||
{
|
||||
mConsts->setSafe(matInfo->mBlendContrastConst, matInfo->mat->getBlendContrast());
|
||||
}
|
||||
|
||||
if (matInfo->mBlendHardnessConst != NULL)
|
||||
{
|
||||
mConsts->setSafe(matInfo->mBlendHardnessConst, matInfo->mat->getBlendHardness());
|
||||
}
|
||||
|
||||
// macro texture info
|
||||
|
||||
F32 macroSize = matInfo->mat->getMacroSize();
|
||||
F32 macroScale = 1.0f;
|
||||
if (!mIsZero(macroSize))
|
||||
macroScale = mTerrain->getWorldBlockSize() / macroSize;
|
||||
|
||||
// Scale the distance by the global scalar.
|
||||
const F32 macroDistance = mTerrain->smDetailScale * matInfo->mat->getMacroDistance();
|
||||
|
||||
Point4F macroScaleAndFade(macroScale,
|
||||
-macroScale,
|
||||
macroDistance,
|
||||
0);
|
||||
|
||||
if (!mIsZero(macroDistance))
|
||||
macroScaleAndFade.w = 1.0f / macroDistance;
|
||||
|
||||
Point4F macroIdStrengthParallax(matInfo->layerId,
|
||||
matInfo->mat->getMacroStrength(),
|
||||
0, 0);
|
||||
|
||||
macroScaleAndFadeArray[detailIndex] = macroScaleAndFade;
|
||||
macroInfoArray[detailIndex] = macroIdStrengthParallax;
|
||||
|
||||
detailIndex++;
|
||||
}
|
||||
|
||||
mConsts->setSafe(mDetailInfoVArrayConst, detailScaleAndFadeArray);
|
||||
mConsts->setSafe(mDetailInfoPArrayConst, detailInfoArray);
|
||||
|
||||
mConsts->setSafe(mMacroInfoVArrayConst, macroScaleAndFadeArray);
|
||||
mConsts->setSafe(mMacroInfoPArrayConst, macroInfoArray);
|
||||
}
|
||||
|
||||
bool TerrainCellMaterial::setupPass( const SceneRenderState *state,
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue