mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-15 08:34:40 +00:00
commit
afef3268a7
11 changed files with 56 additions and 43 deletions
|
|
@ -291,21 +291,21 @@ bool AABBTreeNode::Subdivide(AABBTreeBuilder* builder)
|
||||||
// Set last bit to tell it shouldn't be freed ### pretty ugly, find a better way. Maybe one bit in mNbPrimitives
|
// Set last bit to tell it shouldn't be freed ### pretty ugly, find a better way. Maybe one bit in mNbPrimitives
|
||||||
ASSERT(!(udword(&Pool[Count+0])&1));
|
ASSERT(!(udword(&Pool[Count+0])&1));
|
||||||
ASSERT(!(udword(&Pool[Count+1])&1));
|
ASSERT(!(udword(&Pool[Count+1])&1));
|
||||||
mPos = udword(&Pool[Count+0])|1;
|
mPos = size_t(&Pool[Count+0])|1;
|
||||||
#ifndef OPC_NO_NEG_VANILLA_TREE
|
#ifndef OPC_NO_NEG_VANILLA_TREE
|
||||||
mNeg = udword(&Pool[Count+1])|1;
|
mNeg = size_t(&Pool[Count+1])|1;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
{
|
{
|
||||||
// Non-complete trees and/or Opcode 1.2 allocate nodes on-the-fly
|
// Non-complete trees and/or Opcode 1.2 allocate nodes on-the-fly
|
||||||
#ifndef OPC_NO_NEG_VANILLA_TREE
|
#ifndef OPC_NO_NEG_VANILLA_TREE
|
||||||
mPos = (udword)new AABBTreeNode; CHECKALLOC(mPos);
|
mPos = (size_t)new AABBTreeNode; CHECKALLOC(mPos);
|
||||||
mNeg = (udword)new AABBTreeNode; CHECKALLOC(mNeg);
|
mNeg = (size_t)new AABBTreeNode; CHECKALLOC(mNeg);
|
||||||
#else
|
#else
|
||||||
AABBTreeNode* PosNeg = new AABBTreeNode[2];
|
AABBTreeNode* PosNeg = new AABBTreeNode[2];
|
||||||
CHECKALLOC(PosNeg);
|
CHECKALLOC(PosNeg);
|
||||||
mPos = (udword)PosNeg;
|
mPos = (size_t)PosNeg;
|
||||||
#endif
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
||||||
|
|
@ -43,7 +43,7 @@
|
||||||
/* Following data always belong to the BV-tree, regardless of what the tree actually contains.*/ \
|
/* Following data always belong to the BV-tree, regardless of what the tree actually contains.*/ \
|
||||||
/* Whatever happens we need the two children and the enclosing volume.*/ \
|
/* Whatever happens we need the two children and the enclosing volume.*/ \
|
||||||
volume mBV; /* Global bounding-volume enclosing all the node-related primitives */ \
|
volume mBV; /* Global bounding-volume enclosing all the node-related primitives */ \
|
||||||
udword mPos; /* "Positive" & "Negative" children */
|
size_t mPos; /* "Positive" & "Negative" children */
|
||||||
#else
|
#else
|
||||||
//! TO BE DOCUMENTED
|
//! TO BE DOCUMENTED
|
||||||
#define IMPLEMENT_TREE(base_class, volume) \
|
#define IMPLEMENT_TREE(base_class, volume) \
|
||||||
|
|
@ -68,8 +68,8 @@
|
||||||
/* Following data always belong to the BV-tree, regardless of what the tree actually contains.*/ \
|
/* Following data always belong to the BV-tree, regardless of what the tree actually contains.*/ \
|
||||||
/* Whatever happens we need the two children and the enclosing volume.*/ \
|
/* Whatever happens we need the two children and the enclosing volume.*/ \
|
||||||
volume mBV; /* Global bounding-volume enclosing all the node-related primitives */ \
|
volume mBV; /* Global bounding-volume enclosing all the node-related primitives */ \
|
||||||
udword mPos; /* "Positive" child */ \
|
size_t mPos; /* "Positive" child */ \
|
||||||
udword mNeg; /* "Negative" child */
|
size_t mNeg; /* "Negative" child */
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
typedef void (*CullingCallback) (udword nb_primitives, udword* node_primitives, BOOL need_clipping, void* user_data);
|
typedef void (*CullingCallback) (udword nb_primitives, udword* node_primitives, BOOL need_clipping, void* user_data);
|
||||||
|
|
|
||||||
|
|
@ -118,7 +118,7 @@ static void _BuildCollisionTree(AABBCollisionNode* linear, const udword box_id,
|
||||||
udword PosID = current_id++; // Get a new id for positive child
|
udword PosID = current_id++; // Get a new id for positive child
|
||||||
udword NegID = current_id++; // Get a new id for negative child
|
udword NegID = current_id++; // Get a new id for negative child
|
||||||
// Setup box data as the forthcoming new P pointer
|
// Setup box data as the forthcoming new P pointer
|
||||||
linear[box_id].mData = (udword)&linear[PosID];
|
linear[box_id].mData = (size_t)&linear[PosID];
|
||||||
// Make sure it's not marked as leaf
|
// Make sure it's not marked as leaf
|
||||||
ASSERT(!(linear[box_id].mData&1));
|
ASSERT(!(linear[box_id].mData&1));
|
||||||
// Recurse with new IDs
|
// Recurse with new IDs
|
||||||
|
|
@ -171,7 +171,7 @@ static void _BuildNoLeafTree(AABBNoLeafNode* linear, const udword box_id, udword
|
||||||
// Get a new id for positive child
|
// Get a new id for positive child
|
||||||
udword PosID = current_id++;
|
udword PosID = current_id++;
|
||||||
// Setup box data
|
// Setup box data
|
||||||
linear[box_id].mPosData = (udword)&linear[PosID];
|
linear[box_id].mPosData = (size_t)&linear[PosID];
|
||||||
// Make sure it's not marked as leaf
|
// Make sure it's not marked as leaf
|
||||||
ASSERT(!(linear[box_id].mPosData&1));
|
ASSERT(!(linear[box_id].mPosData&1));
|
||||||
// Recurse
|
// Recurse
|
||||||
|
|
@ -192,7 +192,7 @@ static void _BuildNoLeafTree(AABBNoLeafNode* linear, const udword box_id, udword
|
||||||
// Get a new id for negative child
|
// Get a new id for negative child
|
||||||
udword NegID = current_id++;
|
udword NegID = current_id++;
|
||||||
// Setup box data
|
// Setup box data
|
||||||
linear[box_id].mNegData = (udword)&linear[NegID];
|
linear[box_id].mNegData = (size_t)&linear[NegID];
|
||||||
// Make sure it's not marked as leaf
|
// Make sure it's not marked as leaf
|
||||||
ASSERT(!(linear[box_id].mNegData&1));
|
ASSERT(!(linear[box_id].mNegData&1));
|
||||||
// Recurse
|
// Recurse
|
||||||
|
|
@ -549,8 +549,8 @@ bool AABBNoLeafTree::Walk(GenericWalkingCallback callback, void* user_data) cons
|
||||||
if(!(Data&1)) \
|
if(!(Data&1)) \
|
||||||
{ \
|
{ \
|
||||||
/* Compute box number */ \
|
/* Compute box number */ \
|
||||||
udword Nb = (Data - udword(Nodes))/Nodes[i].GetNodeSize(); \
|
udword Nb = (Data - size_t(Nodes))/Nodes[i].GetNodeSize(); \
|
||||||
Data = udword(&mNodes[Nb]); \
|
Data = (size_t) &mNodes[Nb] ; \
|
||||||
} \
|
} \
|
||||||
/* ...remapped */ \
|
/* ...remapped */ \
|
||||||
mNodes[i].member = Data;
|
mNodes[i].member = Data;
|
||||||
|
|
@ -612,7 +612,7 @@ bool AABBQuantizedTree::Build(AABBTree* tree)
|
||||||
INIT_QUANTIZATION
|
INIT_QUANTIZATION
|
||||||
|
|
||||||
// Quantize
|
// Quantize
|
||||||
udword Data;
|
size_t Data;
|
||||||
for(udword i=0;i<mNbNodes;i++)
|
for(udword i=0;i<mNbNodes;i++)
|
||||||
{
|
{
|
||||||
PERFORM_QUANTIZATION
|
PERFORM_QUANTIZATION
|
||||||
|
|
@ -727,7 +727,7 @@ bool AABBQuantizedNoLeafTree::Build(AABBTree* tree)
|
||||||
INIT_QUANTIZATION
|
INIT_QUANTIZATION
|
||||||
|
|
||||||
// Quantize
|
// Quantize
|
||||||
udword Data;
|
size_t Data;
|
||||||
for(udword i=0;i<mNbNodes;i++)
|
for(udword i=0;i<mNbNodes;i++)
|
||||||
{
|
{
|
||||||
PERFORM_QUANTIZATION
|
PERFORM_QUANTIZATION
|
||||||
|
|
|
||||||
|
|
@ -36,7 +36,7 @@
|
||||||
inline_ udword GetNodeSize() const { return SIZEOFOBJECT; } \
|
inline_ udword GetNodeSize() const { return SIZEOFOBJECT; } \
|
||||||
\
|
\
|
||||||
volume mAABB; \
|
volume mAABB; \
|
||||||
udword mData;
|
size_t mData;
|
||||||
|
|
||||||
//! Common interface for a node of a no-leaf tree
|
//! Common interface for a node of a no-leaf tree
|
||||||
#define IMPLEMENT_NOLEAF_NODE(base_class, volume) \
|
#define IMPLEMENT_NOLEAF_NODE(base_class, volume) \
|
||||||
|
|
@ -56,8 +56,8 @@
|
||||||
inline_ udword GetNodeSize() const { return SIZEOFOBJECT; } \
|
inline_ udword GetNodeSize() const { return SIZEOFOBJECT; } \
|
||||||
\
|
\
|
||||||
volume mAABB; \
|
volume mAABB; \
|
||||||
udword mPosData; \
|
size_t mPosData; \
|
||||||
udword mNegData;
|
size_t mNegData;
|
||||||
|
|
||||||
class OPCODE_API AABBCollisionNode
|
class OPCODE_API AABBCollisionNode
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -41,10 +41,10 @@
|
||||||
/// code version, the game name, and which type of game it is (TGB, TGE, TGEA, etc.).
|
/// code version, the game name, and which type of game it is (TGB, TGE, TGEA, etc.).
|
||||||
///
|
///
|
||||||
/// Version number is major * 1000 + minor * 100 + revision * 10.
|
/// Version number is major * 1000 + minor * 100 + revision * 10.
|
||||||
#define TORQUE_GAME_ENGINE 3600
|
#define TORQUE_GAME_ENGINE 3610
|
||||||
|
|
||||||
/// Human readable engine version string.
|
/// Human readable engine version string.
|
||||||
#define TORQUE_GAME_ENGINE_VERSION_STRING "3.6"
|
#define TORQUE_GAME_ENGINE_VERSION_STRING "3.6.1"
|
||||||
|
|
||||||
/// Gets the engine version number. The version number is specified as a global in version.cc
|
/// Gets the engine version number. The version number is specified as a global in version.cc
|
||||||
U32 getVersionNumber();
|
U32 getVersionNumber();
|
||||||
|
|
|
||||||
|
|
@ -1,4 +1,4 @@
|
||||||
Torque 3D v3.6
|
Torque 3D v3.6.1
|
||||||
================
|
================
|
||||||
|
|
||||||
MIT Licensed Open Source version of [Torque 3D](http://www.garagegames.com/products/torque-3d) from [GarageGames](http://www.garagegames.com)
|
MIT Licensed Open Source version of [Torque 3D](http://www.garagegames.com/products/torque-3d) from [GarageGames](http://www.garagegames.com)
|
||||||
|
|
@ -21,7 +21,7 @@ Pre-compiled Version
|
||||||
|
|
||||||
In addition to GitHub we also have a couple of pre-packaged files for you to download if you would prefer to not compile the code yourself:
|
In addition to GitHub we also have a couple of pre-packaged files for you to download if you would prefer to not compile the code yourself:
|
||||||
|
|
||||||
* [Complete Torque 3D 3.6 zip package](http://mit.garagegames.com/Torque3D-3-6.zip) with updated TorqueScript documentation, the *Project Manager*, and compiled versions of the templates.
|
* [Complete Torque 3D 3.6.1 zip package](http://mit.garagegames.com/Torque3D-3-6-1.zip) with updated TorqueScript documentation, the *Project Manager*, and compiled versions of the templates.
|
||||||
* [Torque 3D Project Manager v2.1](http://mit.garagegames.com/T3DProjectManager-2-1.zip) on its own for use in your T3D forks.
|
* [Torque 3D Project Manager v2.1](http://mit.garagegames.com/T3DProjectManager-2-1.zip) on its own for use in your T3D forks.
|
||||||
|
|
||||||
If you're looking for an older release see the [Torque 3D Archive](https://github.com/GarageGames/Torque3D/wiki/Torque-3D-Archive)
|
If you're looking for an older release see the [Torque 3D Archive](https://github.com/GarageGames/Torque3D/wiki/Torque-3D-Archive)
|
||||||
|
|
|
||||||
|
|
@ -544,6 +544,7 @@ datablock PlayerData(DefaultPlayerData)
|
||||||
maxCrouchBackwardSpeed = 2.0;
|
maxCrouchBackwardSpeed = 2.0;
|
||||||
maxCrouchSideSpeed = 2.0;
|
maxCrouchSideSpeed = 2.0;
|
||||||
|
|
||||||
|
swimForce = 4320;
|
||||||
maxUnderwaterForwardSpeed = 8.4;
|
maxUnderwaterForwardSpeed = 8.4;
|
||||||
maxUnderwaterBackwardSpeed = 7.8;
|
maxUnderwaterBackwardSpeed = 7.8;
|
||||||
maxUnderwaterSideSpeed = 4.0;
|
maxUnderwaterSideSpeed = 4.0;
|
||||||
|
|
|
||||||
|
Before Width: | Height: | Size: 429 KiB After Width: | Height: | Size: 429 KiB |
|
Before Width: | Height: | Size: 220 KiB After Width: | Height: | Size: 220 KiB |
|
|
@ -20,6 +20,7 @@ new SimGroup(MissionGroup) {
|
||||||
soundDistanceModel = "Linear";
|
soundDistanceModel = "Linear";
|
||||||
canSave = "1";
|
canSave = "1";
|
||||||
canSaveDynamicFields = "1";
|
canSaveDynamicFields = "1";
|
||||||
|
desc = "A \'one of everything\' test level that demonstrates lots of stock classes.";
|
||||||
levelName = "Outpost";
|
levelName = "Outpost";
|
||||||
};
|
};
|
||||||
new ScatterSky() {
|
new ScatterSky() {
|
||||||
|
|
@ -28,7 +29,7 @@ new SimGroup(MissionGroup) {
|
||||||
colorizeAmount = "0";
|
colorizeAmount = "0";
|
||||||
colorize = "0 0 0 1";
|
colorize = "0 0 0 1";
|
||||||
rayleighScattering = "0.0035";
|
rayleighScattering = "0.0035";
|
||||||
sunScale = "1 1 1 1";
|
sunScale = "0.972549 0.996078 0.788235 1";
|
||||||
ambientScale = "1 1 1 1";
|
ambientScale = "1 1 1 1";
|
||||||
fogScale = "1 1 1 1";
|
fogScale = "1 1 1 1";
|
||||||
exposure = "1";
|
exposure = "1";
|
||||||
|
|
@ -50,7 +51,7 @@ new SimGroup(MissionGroup) {
|
||||||
nightCubemap = "nightCubemap";
|
nightCubemap = "nightCubemap";
|
||||||
attenuationRatio = "0 1 1";
|
attenuationRatio = "0 1 1";
|
||||||
shadowType = "PSSM";
|
shadowType = "PSSM";
|
||||||
texSize = "512";
|
texSize = "1024";
|
||||||
overDarkFactor = "2000 1000 500 100";
|
overDarkFactor = "2000 1000 500 100";
|
||||||
shadowDistance = "400";
|
shadowDistance = "400";
|
||||||
shadowSoftness = "0.15";
|
shadowSoftness = "0.15";
|
||||||
|
|
@ -72,11 +73,11 @@ new SimGroup(MissionGroup) {
|
||||||
axisTilt = "23.44";
|
axisTilt = "23.44";
|
||||||
dayLength = "120";
|
dayLength = "120";
|
||||||
startTime = "0.1";
|
startTime = "0.1";
|
||||||
time = "0.153243";
|
time = "0.756599";
|
||||||
play = "1";
|
play = "1";
|
||||||
azimuthOverride = "1";
|
azimuthOverride = "1";
|
||||||
dayScale = "1";
|
dayScale = "1";
|
||||||
nightScale = "2";
|
nightScale = "3";
|
||||||
position = "-182.594 54.5451 536.878";
|
position = "-182.594 54.5451 536.878";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "1 1 1";
|
scale = "1 1 1";
|
||||||
|
|
@ -1228,9 +1229,9 @@ new SimGroup(MissionGroup) {
|
||||||
gravityMod = "-1";
|
gravityMod = "-1";
|
||||||
appliedForce = "0 0 0";
|
appliedForce = "0 0 0";
|
||||||
polyhedron = "-0.5000000 0.5000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000";
|
polyhedron = "-0.5000000 0.5000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000";
|
||||||
position = "-75.81 34.2165 245.724";
|
position = "-75.81 34.2165 245.552";
|
||||||
rotation = "1 0 0 0";
|
rotation = "1 0 0 0";
|
||||||
scale = "4.70489 4.32539 20.7358";
|
scale = "4.70489 4.32539 16.1481";
|
||||||
canSave = "1";
|
canSave = "1";
|
||||||
canSaveDynamicFields = "1";
|
canSaveDynamicFields = "1";
|
||||||
};
|
};
|
||||||
|
|
@ -1291,5 +1292,16 @@ new SimGroup(MissionGroup) {
|
||||||
canSave = "1";
|
canSave = "1";
|
||||||
canSaveDynamicFields = "1";
|
canSaveDynamicFields = "1";
|
||||||
};
|
};
|
||||||
|
new PhysicalZone() {
|
||||||
|
velocityMod = "1";
|
||||||
|
gravityMod = "0.5";
|
||||||
|
appliedForce = "-2500 0 0";
|
||||||
|
polyhedron = "-0.5000000 0.5000000 0.0000000 1.0000000 0.0000000 0.0000000 0.0000000 -1.0000000 0.0000000 0.0000000 0.0000000 1.0000000";
|
||||||
|
position = "-79.5161 34.0702 259.951";
|
||||||
|
rotation = "1 0 0 0";
|
||||||
|
scale = "11.8676 3.54503 7.79052";
|
||||||
|
canSave = "1";
|
||||||
|
canSaveDynamicFields = "1";
|
||||||
|
};
|
||||||
};
|
};
|
||||||
//--- OBJECT WRITE END ---
|
//--- OBJECT WRITE END ---
|
||||||
|
|
|
||||||
|
|
@ -12,34 +12,34 @@ $PostFXManager::Settings::EnabledSSAO = "1";
|
||||||
$PostFXManager::Settings::EnableHDR = "1";
|
$PostFXManager::Settings::EnableHDR = "1";
|
||||||
$PostFXManager::Settings::EnableLightRays = "1";
|
$PostFXManager::Settings::EnableLightRays = "1";
|
||||||
$PostFXManager::Settings::EnablePostFX = "1";
|
$PostFXManager::Settings::EnablePostFX = "1";
|
||||||
$PostFXManager::Settings::HDR::adaptRate = "2";
|
$PostFXManager::Settings::HDR::adaptRate = "1.31846";
|
||||||
$PostFXManager::Settings::HDR::blueShiftColor = "1.05 0.97 1.27";
|
$PostFXManager::Settings::HDR::blueShiftColor = "1.05 0.97 1.27";
|
||||||
$PostFXManager::Settings::HDR::brightPassThreshold = "1";
|
$PostFXManager::Settings::HDR::brightPassThreshold = "0.631579";
|
||||||
$PostFXManager::Settings::HDR::enableBloom = "1";
|
$PostFXManager::Settings::HDR::enableBloom = "1";
|
||||||
$PostFXManager::Settings::HDR::enableBlueShift = "0";
|
$PostFXManager::Settings::HDR::enableBlueShift = "0";
|
||||||
$PostFXManager::Settings::HDR::enableToneMapping = "1";
|
$PostFXManager::Settings::HDR::enableToneMapping = "1";
|
||||||
$PostFXManager::Settings::HDR::gaussMean = "0";
|
$PostFXManager::Settings::HDR::gaussMean = "0.0526316";
|
||||||
$PostFXManager::Settings::HDR::gaussMultiplier = "0.3";
|
$PostFXManager::Settings::HDR::gaussMultiplier = "0.31746";
|
||||||
$PostFXManager::Settings::HDR::gaussStdDev = "0.8";
|
$PostFXManager::Settings::HDR::gaussStdDev = "0.8";
|
||||||
$PostFXManager::Settings::HDR::keyValue = "0.18";
|
$PostFXManager::Settings::HDR::keyValue = "0.321429";
|
||||||
$PostFXManager::Settings::HDR::minLuminace = "0.001";
|
$PostFXManager::Settings::HDR::minLuminace = "0.001";
|
||||||
$PostFXManager::Settings::HDR::whiteCutoff = "1";
|
$PostFXManager::Settings::HDR::whiteCutoff = "1";
|
||||||
$PostFXManager::Settings::LightRays::brightScalar = "0.75";
|
$PostFXManager::Settings::LightRays::brightScalar = "0.75";
|
||||||
$PostFXManager::Settings::SSAO::blurDepthTol = "0.001";
|
$PostFXManager::Settings::SSAO::blurDepthTol = "0.00149254";
|
||||||
$PostFXManager::Settings::SSAO::blurNormalTol = "0.95";
|
$PostFXManager::Settings::SSAO::blurNormalTol = "0.886139";
|
||||||
$PostFXManager::Settings::SSAO::lDepthMax = "2";
|
$PostFXManager::Settings::SSAO::lDepthMax = "1.82464";
|
||||||
$PostFXManager::Settings::SSAO::lDepthMin = "0.2";
|
$PostFXManager::Settings::SSAO::lDepthMin = "0.21327";
|
||||||
$PostFXManager::Settings::SSAO::lDepthPow = "0.2";
|
$PostFXManager::Settings::SSAO::lDepthPow = "0.2";
|
||||||
$PostFXManager::Settings::SSAO::lNormalPow = "2";
|
$PostFXManager::Settings::SSAO::lNormalPow = "2";
|
||||||
$PostFXManager::Settings::SSAO::lNormalTol = "-0.5";
|
$PostFXManager::Settings::SSAO::lNormalTol = "-0.5";
|
||||||
$PostFXManager::Settings::SSAO::lRadius = "1";
|
$PostFXManager::Settings::SSAO::lRadius = "1.58836";
|
||||||
$PostFXManager::Settings::SSAO::lStrength = "10";
|
$PostFXManager::Settings::SSAO::lStrength = "7.96209";
|
||||||
$PostFXManager::Settings::SSAO::overallStrength = "2";
|
$PostFXManager::Settings::SSAO::overallStrength = "1.49254";
|
||||||
$PostFXManager::Settings::SSAO::quality = "0";
|
$PostFXManager::Settings::SSAO::quality = "1";
|
||||||
$PostFXManager::Settings::SSAO::sDepthMax = "1";
|
$PostFXManager::Settings::SSAO::sDepthMax = "1";
|
||||||
$PostFXManager::Settings::SSAO::sDepthMin = "0.1";
|
$PostFXManager::Settings::SSAO::sDepthMin = "0.1";
|
||||||
$PostFXManager::Settings::SSAO::sDepthPow = "1";
|
$PostFXManager::Settings::SSAO::sDepthPow = "1";
|
||||||
$PostFXManager::Settings::SSAO::sNormalPow = "1";
|
$PostFXManager::Settings::SSAO::sNormalPow = "1";
|
||||||
$PostFXManager::Settings::SSAO::sNormalTol = "0";
|
$PostFXManager::Settings::SSAO::sNormalTol = "0";
|
||||||
$PostFXManager::Settings::SSAO::sRadius = "0.1";
|
$PostFXManager::Settings::SSAO::sRadius = "1.7542";
|
||||||
$PostFXManager::Settings::SSAO::sStrength = "6";
|
$PostFXManager::Settings::SSAO::sStrength = "6.4455";
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue