mirror of
https://github.com/OpenMW/openmw.git
synced 2025-03-03 07:09:40 +00:00
settings update and launcher option
This commit is contained in:
parent
40b6bbbdf3
commit
4461366761
6 changed files with 41 additions and 20 deletions
|
@ -78,6 +78,7 @@
|
|||
Feature #6017: Separate persistent and temporary cell references when saving
|
||||
Feature #6032: Reverse-z depth buffer
|
||||
Feature #6078: First person should not clear depth buffer
|
||||
Feature #6128: Soft Particles
|
||||
Feature #6161: Refactor Sky to use shaders and GLES/GL3 friendly
|
||||
Feature #6162: Refactor GUI to use shaders and to be GLES and GL3+ friendly
|
||||
Feature #6199: Support FBO Rendering
|
||||
|
|
|
@ -117,6 +117,7 @@ bool Launcher::AdvancedPage::loadSettings()
|
|||
loadSettingBool(autoUseTerrainSpecularMapsCheckBox, "auto use terrain specular maps", "Shaders");
|
||||
loadSettingBool(bumpMapLocalLightingCheckBox, "apply lighting to environment maps", "Shaders");
|
||||
loadSettingBool(radialFogCheckBox, "radial fog", "Shaders");
|
||||
loadSettingBool(softParticlesCheckBox, "soft particles", "Shaders");
|
||||
loadSettingBool(magicItemAnimationsCheckBox, "use magic item animations", "Game");
|
||||
connect(animSourcesCheckBox, SIGNAL(toggled(bool)), this, SLOT(slotAnimSourcesToggled(bool)));
|
||||
loadSettingBool(animSourcesCheckBox, "use additional anim sources", "Game");
|
||||
|
@ -270,6 +271,7 @@ void Launcher::AdvancedPage::saveSettings()
|
|||
saveSettingBool(autoUseTerrainSpecularMapsCheckBox, "auto use terrain specular maps", "Shaders");
|
||||
saveSettingBool(bumpMapLocalLightingCheckBox, "apply lighting to environment maps", "Shaders");
|
||||
saveSettingBool(radialFogCheckBox, "radial fog", "Shaders");
|
||||
saveSettingBool(softParticlesCheckBox, "soft particles", "Shaders");
|
||||
saveSettingBool(magicItemAnimationsCheckBox, "use magic item animations", "Game");
|
||||
saveSettingBool(animSourcesCheckBox, "use additional anim sources", "Game");
|
||||
saveSettingBool(weaponSheathingCheckBox, "weapon sheathing", "Game");
|
||||
|
|
|
@ -557,19 +557,26 @@ namespace Shader
|
|||
updateAddedState(*writableUserData, addedState);
|
||||
}
|
||||
|
||||
if (auto partsys = dynamic_cast<osgParticle::ParticleSystem*>(&node))
|
||||
{
|
||||
defineMap["softParticles"] = "1";
|
||||
bool softParticles = false;
|
||||
|
||||
auto depth = SceneUtil::createDepth();
|
||||
depth->setWriteMask(false);
|
||||
writableStateSet->setAttributeAndModes(depth, osg::StateAttribute::ON|osg::StateAttribute::OVERRIDE);
|
||||
writableStateSet->addUniform(new osg::Uniform("particleSize", partsys->getDefaultParticleTemplate().getSizeRange().maximum));
|
||||
writableStateSet->addUniform(new osg::Uniform("opaqueDepthTex", 2));
|
||||
writableStateSet->setTextureAttributeAndModes(2, mOpaqueDepthTex, osg::StateAttribute::ON);
|
||||
if (mOpaqueDepthTex)
|
||||
{
|
||||
auto partsys = dynamic_cast<osgParticle::ParticleSystem*>(&node);
|
||||
|
||||
if (partsys)
|
||||
{
|
||||
softParticles = true;
|
||||
|
||||
auto depth = SceneUtil::createDepth();
|
||||
depth->setWriteMask(false);
|
||||
writableStateSet->setAttributeAndModes(depth, osg::StateAttribute::ON|osg::StateAttribute::OVERRIDE);
|
||||
writableStateSet->addUniform(new osg::Uniform("particleSize", partsys->getDefaultParticleTemplate().getSizeRange().maximum));
|
||||
writableStateSet->addUniform(new osg::Uniform("opaqueDepthTex", 2));
|
||||
writableStateSet->setTextureAttributeAndModes(2, mOpaqueDepthTex, osg::StateAttribute::ON);
|
||||
}
|
||||
}
|
||||
else
|
||||
defineMap["softParticles"] = "0";
|
||||
|
||||
defineMap["softParticles"] = softParticles ? "1" : "0";
|
||||
|
||||
std::string shaderPrefix;
|
||||
if (!node.getUserValue("shaderPrefix", shaderPrefix))
|
||||
|
|
|
@ -241,7 +241,7 @@ lighting` is on.
|
|||
This setting has no effect if :ref:`lighting method` is 'legacy'.
|
||||
|
||||
minimum interior brightness
|
||||
------------------------
|
||||
---------------------------
|
||||
|
||||
:Type: float
|
||||
:Range: 0.0-1.0
|
||||
|
@ -260,7 +260,7 @@ aforementioned changes in visuals.
|
|||
This setting has no effect if :ref:`lighting method` is 'legacy'.
|
||||
|
||||
antialias alpha test
|
||||
---------------------------------------
|
||||
--------------------
|
||||
|
||||
:Type: boolean
|
||||
:Range: True/False
|
||||
|
@ -271,14 +271,14 @@ This allows MSAA to work with alpha-tested meshes, producing better-looking edge
|
|||
When MSAA is off, this setting will have no visible effect, but might have a performance cost.
|
||||
|
||||
soft particles
|
||||
------------------------
|
||||
--------------
|
||||
|
||||
:Type: boolean
|
||||
:Range: True/False
|
||||
:Default: False
|
||||
|
||||
Enables soft particles for almost all particle effects, excluding precipitation.
|
||||
This technique softens the intersection between individual particles and other
|
||||
opaque geometry by blending between them. Note, this relies on overriding
|
||||
specific properties of particle systems that potentially differ from the source
|
||||
content, this setting may change the look of some particle systems.
|
||||
Enables soft particles for particle effects. This technique softens the
|
||||
intersection between individual particles and other opaque geometry by blending
|
||||
between them. Note, this relies on overriding specific properties of particle
|
||||
systems that potentially differ from the source content, this setting may change
|
||||
the look of some particle systems.
|
||||
|
|
|
@ -494,7 +494,8 @@ minimum interior brightness = 0.08
|
|||
# When MSAA is off, this setting will have no visible effect, but might have a performance cost.
|
||||
antialias alpha test = false
|
||||
|
||||
soft particles = true
|
||||
# Soften intersection of blended particle systems with opaque geometry
|
||||
soft particles = false
|
||||
|
||||
[Input]
|
||||
|
||||
|
|
|
@ -444,6 +444,16 @@
|
|||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
<item row="3" column="0">
|
||||
<widget class="QCheckBox" name="softParticlesCheckBox">
|
||||
<property name="toolTip">
|
||||
<string><html><head/><body><p>Enables soft particles for particle effects. This technique softens the intersection between individual particles and other opaque geometry by blending between them.</p></body></html></string>
|
||||
</property>
|
||||
<property name="text">
|
||||
<string>Soft Particles</string>
|
||||
</property>
|
||||
</widget>
|
||||
</item>
|
||||
</layout>
|
||||
</widget>
|
||||
</item>
|
||||
|
|
Loading…
Reference in a new issue