mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-07-13 15:44:36 +00:00
Merge pull request #761 from J0linar/PostFx_Vignette
Added Vignette PostFx
This commit is contained in:
commit
ed820f2dd4
10 changed files with 380 additions and 2 deletions
|
|
@ -2199,6 +2199,55 @@
|
||||||
canSaveDynamicFields = "0";
|
canSaveDynamicFields = "0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
new GuiTabPageCtrl(ppOptionsVignetteTab) {
|
||||||
|
fitBook = "0";
|
||||||
|
text = "Vignette";
|
||||||
|
maxLength = "1024";
|
||||||
|
docking = "Client";
|
||||||
|
margin = "0 0 0 0";
|
||||||
|
padding = "0 0 0 0";
|
||||||
|
anchorTop = "1";
|
||||||
|
anchorBottom = "1";
|
||||||
|
anchorLeft = "1";
|
||||||
|
anchorRight = "1";
|
||||||
|
position = "0 40";
|
||||||
|
extent = "394 193";
|
||||||
|
minExtent = "8 2";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
profile = "GuiTabPageProfile";
|
||||||
|
visible = "1";
|
||||||
|
active = "1";
|
||||||
|
tooltipProfile = "GuiToolTipProfile";
|
||||||
|
tooltip = "Options for the Vignette postFX";
|
||||||
|
hovertime = "1000";
|
||||||
|
isContainer = "1";
|
||||||
|
canSave = "1";
|
||||||
|
canSaveDynamicFields = "0";
|
||||||
|
Enabled = "1";
|
||||||
|
|
||||||
|
new GuiCheckBoxCtrl(ppOptionsEnableVignette) {
|
||||||
|
text = "Enable";
|
||||||
|
groupNum = "-1";
|
||||||
|
buttonType = "ToggleButton";
|
||||||
|
useMouseEvents = "0";
|
||||||
|
position = "329 7";
|
||||||
|
extent = "53 20";
|
||||||
|
minExtent = "8 2";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
profile = "GuiCheckBoxProfile";
|
||||||
|
visible = "1";
|
||||||
|
active = "1";
|
||||||
|
tooltipProfile = "GuiToolTipProfile";
|
||||||
|
tooltip = "Enable/Disable the vignette postFX";
|
||||||
|
hovertime = "1000";
|
||||||
|
isContainer = "0";
|
||||||
|
canSave = "1";
|
||||||
|
canSaveDynamicFields = "0";
|
||||||
|
Enabled = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
new GuiTabPageCtrl() {
|
new GuiTabPageCtrl() {
|
||||||
fitBook = "0";
|
fitBook = "0";
|
||||||
text = "Color Correction";
|
text = "Color Correction";
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,12 @@ function ppOptionsEnableDOF::onAction(%this)
|
||||||
PostFXManager.settingsEffectSetEnabled("DOF", %toEnable);
|
PostFXManager.settingsEffectSetEnabled("DOF", %toEnable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ppOptionsEnableVignette::onAction(%this)
|
||||||
|
{
|
||||||
|
%toEnable = PostFXManager.getEnableResultFromControl(%this);
|
||||||
|
PostFXManager.settingsEffectSetEnabled("Vignette", %toEnable);
|
||||||
|
}
|
||||||
|
|
||||||
function ppOptionsSavePreset::onClick(%this)
|
function ppOptionsSavePreset::onClick(%this)
|
||||||
{
|
{
|
||||||
//Stores the current settings into a preset file for loading and use later on
|
//Stores the current settings into a preset file for loading and use later on
|
||||||
|
|
@ -379,6 +385,24 @@ function ppOptionsEnableHDRDebug::onAction(%this)
|
||||||
LuminanceVisPostFX.disable();
|
LuminanceVisPostFX.disable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ppOptionsUpdateVignetteSettings()
|
||||||
|
{
|
||||||
|
if($PostFXManager::PostFX::EnableVignette)
|
||||||
|
{
|
||||||
|
VignettePostEffect.enable();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
VignettePostEffect.disable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function ppOptionsVignetteEnableVignette::onAction(%this)
|
||||||
|
{
|
||||||
|
$PostFXManager::PostFX::EnableVignette = %this.getValue();
|
||||||
|
ppOptionsUpdateVignetteSettings();
|
||||||
|
}
|
||||||
|
|
||||||
function ppColorCorrection_selectFile()
|
function ppColorCorrection_selectFile()
|
||||||
{
|
{
|
||||||
%filter = "Image Files (*.png, *.jpg, *.dds, *.bmp, *.gif, *.jng. *.tga)|*.png;*.jpg;*.dds;*.bmp;*.gif;*.jng;*.tga|All Files (*.*)|*.*|";
|
%filter = "Image Files (*.png, *.jpg, *.dds, *.bmp, *.gif, *.jng. *.tga)|*.png;*.jpg;*.dds;*.bmp;*.gif;*.jng;*.tga|All Files (*.*)|*.*|";
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,11 @@ function PostFXManager::settingsSetEnabled(%this, %bEnablePostFX)
|
||||||
else
|
else
|
||||||
DOFPostEffect.disable();
|
DOFPostEffect.disable();
|
||||||
|
|
||||||
|
if ( $PostFXManager::PostFX::EnableVignette )
|
||||||
|
VignettePostEffect.enable();
|
||||||
|
else
|
||||||
|
VignettePostEffect.disable();
|
||||||
|
|
||||||
postVerbose("% - PostFX Manager - PostFX enabled");
|
postVerbose("% - PostFX Manager - PostFX enabled");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -61,6 +66,7 @@ function PostFXManager::settingsSetEnabled(%this, %bEnablePostFX)
|
||||||
HDRPostFX.disable();
|
HDRPostFX.disable();
|
||||||
LightRayPostFX.disable();
|
LightRayPostFX.disable();
|
||||||
DOFPostEffect.disable();
|
DOFPostEffect.disable();
|
||||||
|
VignettePostEffect.disable();
|
||||||
|
|
||||||
postVerbose("% - PostFX Manager - PostFX disabled");
|
postVerbose("% - PostFX Manager - PostFX disabled");
|
||||||
}
|
}
|
||||||
|
|
@ -95,6 +101,12 @@ function PostFXManager::settingsEffectSetEnabled(%this, %sName, %bEnable)
|
||||||
$PostFXManager::PostFX::EnableDOF = %bEnable;
|
$PostFXManager::PostFX::EnableDOF = %bEnable;
|
||||||
//$pref::PostFX::DOF::Enabled = %bEnable;
|
//$pref::PostFX::DOF::Enabled = %bEnable;
|
||||||
}
|
}
|
||||||
|
else if(%sName $= "Vignette")
|
||||||
|
{
|
||||||
|
%postEffect = VignettePostEffect;
|
||||||
|
$PostFXManager::PostFX::EnableVignette = %bEnable;
|
||||||
|
//$pref::PostFX::Vignette::Enabled = %bEnable;
|
||||||
|
}
|
||||||
|
|
||||||
// Apply the change
|
// Apply the change
|
||||||
if ( %bEnable == true )
|
if ( %bEnable == true )
|
||||||
|
|
@ -196,6 +208,13 @@ function PostFXManager::settingsRefreshDOF(%this)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function PostFXManager::settingsRefreshVignette(%this)
|
||||||
|
{
|
||||||
|
//Apply the enabled flag
|
||||||
|
ppOptionsEnableVignette.setValue($PostFXManager::PostFX::EnableVignette);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function PostFXManager::settingsRefreshAll(%this)
|
function PostFXManager::settingsRefreshAll(%this)
|
||||||
{
|
{
|
||||||
$PostFXManager::PostFX::Enabled = $pref::enablePostEffects;
|
$PostFXManager::PostFX::Enabled = $pref::enablePostEffects;
|
||||||
|
|
@ -203,6 +222,7 @@ function PostFXManager::settingsRefreshAll(%this)
|
||||||
$PostFXManager::PostFX::EnableHDR = HDRPostFX.isEnabled();
|
$PostFXManager::PostFX::EnableHDR = HDRPostFX.isEnabled();
|
||||||
$PostFXManager::PostFX::EnableLightRays = LightRayPostFX.isEnabled();
|
$PostFXManager::PostFX::EnableLightRays = LightRayPostFX.isEnabled();
|
||||||
$PostFXManager::PostFX::EnableDOF = DOFPostEffect.isEnabled();
|
$PostFXManager::PostFX::EnableDOF = DOFPostEffect.isEnabled();
|
||||||
|
$PostFXManager::PostFX::EnableVignette = VignettePostEffect.isEnabled();
|
||||||
|
|
||||||
//For all the postFX here, apply the active settings in the system
|
//For all the postFX here, apply the active settings in the system
|
||||||
//to the gui controls.
|
//to the gui controls.
|
||||||
|
|
@ -211,6 +231,7 @@ function PostFXManager::settingsRefreshAll(%this)
|
||||||
%this.settingsRefreshHDR();
|
%this.settingsRefreshHDR();
|
||||||
%this.settingsRefreshLightrays();
|
%this.settingsRefreshLightrays();
|
||||||
%this.settingsRefreshDOF();
|
%this.settingsRefreshDOF();
|
||||||
|
%this.settingsRefreshVignette();
|
||||||
|
|
||||||
ppOptionsEnable.setValue($PostFXManager::PostFX::Enabled);
|
ppOptionsEnable.setValue($PostFXManager::PostFX::Enabled);
|
||||||
|
|
||||||
|
|
@ -272,6 +293,7 @@ function PostFXManager::settingsApplyFromPreset(%this)
|
||||||
{
|
{
|
||||||
$PostFXManager::PostFX::Enabled = $PostFXManager::Settings::EnablePostFX;
|
$PostFXManager::PostFX::Enabled = $PostFXManager::Settings::EnablePostFX;
|
||||||
$PostFXManager::PostFX::EnableDOF = $PostFXManager::Settings::EnableDOF;
|
$PostFXManager::PostFX::EnableDOF = $PostFXManager::Settings::EnableDOF;
|
||||||
|
$PostFXManager::PostFX::EnableVignette = $PostFXManager::Settings::EnableVignette;
|
||||||
$PostFXManager::PostFX::EnableLightRays = $PostFXManager::Settings::EnableLightRays;
|
$PostFXManager::PostFX::EnableLightRays = $PostFXManager::Settings::EnableLightRays;
|
||||||
$PostFXManager::PostFX::EnableHDR = $PostFXManager::Settings::EnableHDR;
|
$PostFXManager::PostFX::EnableHDR = $PostFXManager::Settings::EnableHDR;
|
||||||
$PostFXManager::PostFX::EnableSSAO = $PostFXManager::Settings::EnabledSSAO;
|
$PostFXManager::PostFX::EnableSSAO = $PostFXManager::Settings::EnabledSSAO;
|
||||||
|
|
@ -353,11 +375,18 @@ function PostFXManager::settingsApplyDOF(%this)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function PostFXManager::settingsApplyVignette(%this)
|
||||||
|
{
|
||||||
|
postVerbose("% - PostFX Manager - Settings Saved - Vignette");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function PostFXManager::settingsApplyAll(%this, %sFrom)
|
function PostFXManager::settingsApplyAll(%this, %sFrom)
|
||||||
{
|
{
|
||||||
// Apply settings which control if effects are on/off altogether.
|
// Apply settings which control if effects are on/off altogether.
|
||||||
$PostFXManager::Settings::EnablePostFX = $PostFXManager::PostFX::Enabled;
|
$PostFXManager::Settings::EnablePostFX = $PostFXManager::PostFX::Enabled;
|
||||||
$PostFXManager::Settings::EnableDOF = $PostFXManager::PostFX::EnableDOF;
|
$PostFXManager::Settings::EnableDOF = $PostFXManager::PostFX::EnableDOF;
|
||||||
|
$PostFXManager::Settings::EnableVignette = $PostFXManager::PostFX::EnableVignette;
|
||||||
$PostFXManager::Settings::EnableLightRays = $PostFXManager::PostFX::EnableLightRays;
|
$PostFXManager::Settings::EnableLightRays = $PostFXManager::PostFX::EnableLightRays;
|
||||||
$PostFXManager::Settings::EnableHDR = $PostFXManager::PostFX::EnableHDR;
|
$PostFXManager::Settings::EnableHDR = $PostFXManager::PostFX::EnableHDR;
|
||||||
$PostFXManager::Settings::EnabledSSAO = $PostFXManager::PostFX::EnableSSAO;
|
$PostFXManager::Settings::EnabledSSAO = $PostFXManager::PostFX::EnableSSAO;
|
||||||
|
|
@ -373,6 +402,8 @@ function PostFXManager::settingsApplyAll(%this, %sFrom)
|
||||||
%this.settingsApplyLightRays();
|
%this.settingsApplyLightRays();
|
||||||
// DOF
|
// DOF
|
||||||
%this.settingsApplyDOF();
|
%this.settingsApplyDOF();
|
||||||
|
// Vignette
|
||||||
|
%this.settingsApplyVignette();
|
||||||
|
|
||||||
postVerbose("% - PostFX Manager - All Settings applied to $PostFXManager::Settings");
|
postVerbose("% - PostFX Manager - All Settings applied to $PostFXManager::Settings");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
49
Templates/Empty/game/core/scripts/client/postFx/vignette.cs
Normal file
49
Templates/Empty/game/core/scripts/client/postFx/vignette.cs
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2012 GarageGames, LLC
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to
|
||||||
|
// deal in the Software without restriction, including without limitation the
|
||||||
|
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
// sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
// IN THE SOFTWARE.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
$VignettePostEffect::RadiusX = 0.6;
|
||||||
|
$VignettePostEffect::RadiusY = 0.2;
|
||||||
|
|
||||||
|
singleton ShaderData( VignetteShader )
|
||||||
|
{
|
||||||
|
DXVertexShaderFile = "shaders/common/postFx/postFxV.hlsl";
|
||||||
|
DXPixelShaderFile = "shaders/common/postFx/vignette/VignetteP.hlsl";
|
||||||
|
pixVersion = 2.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
singleton PostEffect( VignettePostEffect )
|
||||||
|
{
|
||||||
|
isEnabled = false;
|
||||||
|
allowReflectPass = false;
|
||||||
|
renderTime = "PFXAfterBin";
|
||||||
|
renderBin = "GlowBin";
|
||||||
|
shader = VignetteShader;
|
||||||
|
stateBlock = PFX_DefaultStateBlock;
|
||||||
|
texture[0] = "$backBuffer";
|
||||||
|
renderPriority = 10;
|
||||||
|
};
|
||||||
|
|
||||||
|
function VignettePostEffect::setShaderConsts(%this)
|
||||||
|
{
|
||||||
|
%this.setShaderConst("$radiusX", $VignettePostEffect::RadiusX);
|
||||||
|
%this.setShaderConst("$radiusY", $VignettePostEffect::RadiusY);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2012 GarageGames, LLC
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to
|
||||||
|
// deal in the Software without restriction, including without limitation the
|
||||||
|
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
// sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
// IN THE SOFTWARE.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include "../postFx.hlsl"
|
||||||
|
#include "shadergen:/autogenConditioners.h"
|
||||||
|
|
||||||
|
uniform sampler2D backBuffer : register(S0);
|
||||||
|
uniform float radiusX;
|
||||||
|
uniform float radiusY;
|
||||||
|
|
||||||
|
float4 main(PFXVertToPix IN) : COLOR0
|
||||||
|
{
|
||||||
|
float4 base = tex2D(backBuffer, IN.uv0);
|
||||||
|
float dist = distance(IN.uv0, float2(0.5,0.5)) * 0.7 ;
|
||||||
|
base.rgb *= smoothstep(radiusX, radiusY, dist);
|
||||||
|
return base;
|
||||||
|
}
|
||||||
|
|
@ -2199,6 +2199,55 @@
|
||||||
canSaveDynamicFields = "0";
|
canSaveDynamicFields = "0";
|
||||||
};
|
};
|
||||||
};
|
};
|
||||||
|
new GuiTabPageCtrl(ppOptionsVignetteTab) {
|
||||||
|
fitBook = "0";
|
||||||
|
text = "Vignette";
|
||||||
|
maxLength = "1024";
|
||||||
|
docking = "Client";
|
||||||
|
margin = "0 0 0 0";
|
||||||
|
padding = "0 0 0 0";
|
||||||
|
anchorTop = "1";
|
||||||
|
anchorBottom = "1";
|
||||||
|
anchorLeft = "1";
|
||||||
|
anchorRight = "1";
|
||||||
|
position = "0 40";
|
||||||
|
extent = "394 193";
|
||||||
|
minExtent = "8 2";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
profile = "GuiTabPageProfile";
|
||||||
|
visible = "1";
|
||||||
|
active = "1";
|
||||||
|
tooltipProfile = "GuiToolTipProfile";
|
||||||
|
tooltip = "Options for the Vignette postFX";
|
||||||
|
hovertime = "1000";
|
||||||
|
isContainer = "1";
|
||||||
|
canSave = "1";
|
||||||
|
canSaveDynamicFields = "0";
|
||||||
|
Enabled = "1";
|
||||||
|
|
||||||
|
new GuiCheckBoxCtrl(ppOptionsEnableVignette) {
|
||||||
|
text = "Enable";
|
||||||
|
groupNum = "-1";
|
||||||
|
buttonType = "ToggleButton";
|
||||||
|
useMouseEvents = "0";
|
||||||
|
position = "329 7";
|
||||||
|
extent = "53 20";
|
||||||
|
minExtent = "8 2";
|
||||||
|
horizSizing = "right";
|
||||||
|
vertSizing = "bottom";
|
||||||
|
profile = "GuiCheckBoxProfile";
|
||||||
|
visible = "1";
|
||||||
|
active = "1";
|
||||||
|
tooltipProfile = "GuiToolTipProfile";
|
||||||
|
tooltip = "Enable/Disable the vignette postFX";
|
||||||
|
hovertime = "1000";
|
||||||
|
isContainer = "0";
|
||||||
|
canSave = "1";
|
||||||
|
canSaveDynamicFields = "0";
|
||||||
|
Enabled = "1";
|
||||||
|
};
|
||||||
|
};
|
||||||
new GuiTabPageCtrl() {
|
new GuiTabPageCtrl() {
|
||||||
fitBook = "0";
|
fitBook = "0";
|
||||||
text = "Color Correction";
|
text = "Color Correction";
|
||||||
|
|
|
||||||
|
|
@ -95,6 +95,12 @@ function ppOptionsEnableDOF::onAction(%this)
|
||||||
PostFXManager.settingsEffectSetEnabled("DOF", %toEnable);
|
PostFXManager.settingsEffectSetEnabled("DOF", %toEnable);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ppOptionsEnableVignette::onAction(%this)
|
||||||
|
{
|
||||||
|
%toEnable = PostFXManager.getEnableResultFromControl(%this);
|
||||||
|
PostFXManager.settingsEffectSetEnabled("Vignette", %toEnable);
|
||||||
|
}
|
||||||
|
|
||||||
function ppOptionsSavePreset::onClick(%this)
|
function ppOptionsSavePreset::onClick(%this)
|
||||||
{
|
{
|
||||||
//Stores the current settings into a preset file for loading and use later on
|
//Stores the current settings into a preset file for loading and use later on
|
||||||
|
|
@ -379,6 +385,24 @@ function ppOptionsEnableHDRDebug::onAction(%this)
|
||||||
LuminanceVisPostFX.disable();
|
LuminanceVisPostFX.disable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function ppOptionsUpdateVignetteSettings()
|
||||||
|
{
|
||||||
|
if($PostFXManager::PostFX::EnableVignette)
|
||||||
|
{
|
||||||
|
VignettePostEffect.enable();
|
||||||
|
}
|
||||||
|
else
|
||||||
|
{
|
||||||
|
VignettePostEffect.disable();
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
function ppOptionsVignetteEnableVignette::onAction(%this)
|
||||||
|
{
|
||||||
|
$PostFXManager::PostFX::EnableVignette = %this.getValue();
|
||||||
|
ppOptionsUpdateVignetteSettings();
|
||||||
|
}
|
||||||
|
|
||||||
function ppColorCorrection_selectFile()
|
function ppColorCorrection_selectFile()
|
||||||
{
|
{
|
||||||
%filter = "Image Files (*.png, *.jpg, *.dds, *.bmp, *.gif, *.jng. *.tga)|*.png;*.jpg;*.dds;*.bmp;*.gif;*.jng;*.tga|All Files (*.*)|*.*|";
|
%filter = "Image Files (*.png, *.jpg, *.dds, *.bmp, *.gif, *.jng. *.tga)|*.png;*.jpg;*.dds;*.bmp;*.gif;*.jng;*.tga|All Files (*.*)|*.*|";
|
||||||
|
|
|
||||||
|
|
@ -51,6 +51,11 @@ function PostFXManager::settingsSetEnabled(%this, %bEnablePostFX)
|
||||||
else
|
else
|
||||||
DOFPostEffect.disable();
|
DOFPostEffect.disable();
|
||||||
|
|
||||||
|
if ( $PostFXManager::PostFX::EnableVignette )
|
||||||
|
VignettePostEffect.enable();
|
||||||
|
else
|
||||||
|
VignettePostEffect.disable();
|
||||||
|
|
||||||
postVerbose("% - PostFX Manager - PostFX enabled");
|
postVerbose("% - PostFX Manager - PostFX enabled");
|
||||||
}
|
}
|
||||||
else
|
else
|
||||||
|
|
@ -61,6 +66,7 @@ function PostFXManager::settingsSetEnabled(%this, %bEnablePostFX)
|
||||||
HDRPostFX.disable();
|
HDRPostFX.disable();
|
||||||
LightRayPostFX.disable();
|
LightRayPostFX.disable();
|
||||||
DOFPostEffect.disable();
|
DOFPostEffect.disable();
|
||||||
|
VignettePostEffect.disable();
|
||||||
|
|
||||||
postVerbose("% - PostFX Manager - PostFX disabled");
|
postVerbose("% - PostFX Manager - PostFX disabled");
|
||||||
}
|
}
|
||||||
|
|
@ -95,6 +101,12 @@ function PostFXManager::settingsEffectSetEnabled(%this, %sName, %bEnable)
|
||||||
$PostFXManager::PostFX::EnableDOF = %bEnable;
|
$PostFXManager::PostFX::EnableDOF = %bEnable;
|
||||||
//$pref::PostFX::DOF::Enabled = %bEnable;
|
//$pref::PostFX::DOF::Enabled = %bEnable;
|
||||||
}
|
}
|
||||||
|
else if(%sName $= "Vignette")
|
||||||
|
{
|
||||||
|
%postEffect = VignettePostEffect;
|
||||||
|
$PostFXManager::PostFX::EnableVignette = %bEnable;
|
||||||
|
//$pref::PostFX::Vignette::Enabled = %bEnable;
|
||||||
|
}
|
||||||
|
|
||||||
// Apply the change
|
// Apply the change
|
||||||
if ( %bEnable == true )
|
if ( %bEnable == true )
|
||||||
|
|
@ -196,6 +208,13 @@ function PostFXManager::settingsRefreshDOF(%this)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function PostFXManager::settingsRefreshVignette(%this)
|
||||||
|
{
|
||||||
|
//Apply the enabled flag
|
||||||
|
ppOptionsEnableVignette.setValue($PostFXManager::PostFX::EnableVignette);
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function PostFXManager::settingsRefreshAll(%this)
|
function PostFXManager::settingsRefreshAll(%this)
|
||||||
{
|
{
|
||||||
$PostFXManager::PostFX::Enabled = $pref::enablePostEffects;
|
$PostFXManager::PostFX::Enabled = $pref::enablePostEffects;
|
||||||
|
|
@ -203,6 +222,7 @@ function PostFXManager::settingsRefreshAll(%this)
|
||||||
$PostFXManager::PostFX::EnableHDR = HDRPostFX.isEnabled();
|
$PostFXManager::PostFX::EnableHDR = HDRPostFX.isEnabled();
|
||||||
$PostFXManager::PostFX::EnableLightRays = LightRayPostFX.isEnabled();
|
$PostFXManager::PostFX::EnableLightRays = LightRayPostFX.isEnabled();
|
||||||
$PostFXManager::PostFX::EnableDOF = DOFPostEffect.isEnabled();
|
$PostFXManager::PostFX::EnableDOF = DOFPostEffect.isEnabled();
|
||||||
|
$PostFXManager::PostFX::EnableVignette = VignettePostEffect.isEnabled();
|
||||||
|
|
||||||
//For all the postFX here, apply the active settings in the system
|
//For all the postFX here, apply the active settings in the system
|
||||||
//to the gui controls.
|
//to the gui controls.
|
||||||
|
|
@ -211,6 +231,7 @@ function PostFXManager::settingsRefreshAll(%this)
|
||||||
%this.settingsRefreshHDR();
|
%this.settingsRefreshHDR();
|
||||||
%this.settingsRefreshLightrays();
|
%this.settingsRefreshLightrays();
|
||||||
%this.settingsRefreshDOF();
|
%this.settingsRefreshDOF();
|
||||||
|
%this.settingsRefreshVignette();
|
||||||
|
|
||||||
ppOptionsEnable.setValue($PostFXManager::PostFX::Enabled);
|
ppOptionsEnable.setValue($PostFXManager::PostFX::Enabled);
|
||||||
|
|
||||||
|
|
@ -272,6 +293,7 @@ function PostFXManager::settingsApplyFromPreset(%this)
|
||||||
{
|
{
|
||||||
$PostFXManager::PostFX::Enabled = $PostFXManager::Settings::EnablePostFX;
|
$PostFXManager::PostFX::Enabled = $PostFXManager::Settings::EnablePostFX;
|
||||||
$PostFXManager::PostFX::EnableDOF = $PostFXManager::Settings::EnableDOF;
|
$PostFXManager::PostFX::EnableDOF = $PostFXManager::Settings::EnableDOF;
|
||||||
|
$PostFXManager::PostFX::EnableVignette = $PostFXManager::Settings::EnableVignette;
|
||||||
$PostFXManager::PostFX::EnableLightRays = $PostFXManager::Settings::EnableLightRays;
|
$PostFXManager::PostFX::EnableLightRays = $PostFXManager::Settings::EnableLightRays;
|
||||||
$PostFXManager::PostFX::EnableHDR = $PostFXManager::Settings::EnableHDR;
|
$PostFXManager::PostFX::EnableHDR = $PostFXManager::Settings::EnableHDR;
|
||||||
$PostFXManager::PostFX::EnableSSAO = $PostFXManager::Settings::EnabledSSAO;
|
$PostFXManager::PostFX::EnableSSAO = $PostFXManager::Settings::EnabledSSAO;
|
||||||
|
|
@ -353,11 +375,18 @@ function PostFXManager::settingsApplyDOF(%this)
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
|
function PostFXManager::settingsApplyVignette(%this)
|
||||||
|
{
|
||||||
|
postVerbose("% - PostFX Manager - Settings Saved - Vignette");
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
function PostFXManager::settingsApplyAll(%this, %sFrom)
|
function PostFXManager::settingsApplyAll(%this, %sFrom)
|
||||||
{
|
{
|
||||||
// Apply settings which control if effects are on/off altogether.
|
// Apply settings which control if effects are on/off altogether.
|
||||||
$PostFXManager::Settings::EnablePostFX = $PostFXManager::PostFX::Enabled;
|
$PostFXManager::Settings::EnablePostFX = $PostFXManager::PostFX::Enabled;
|
||||||
$PostFXManager::Settings::EnableDOF = $PostFXManager::PostFX::EnableDOF;
|
$PostFXManager::Settings::EnableDOF = $PostFXManager::PostFX::EnableDOF;
|
||||||
|
$PostFXManager::Settings::EnableVignette = $PostFXManager::PostFX::EnableVignette;
|
||||||
$PostFXManager::Settings::EnableLightRays = $PostFXManager::PostFX::EnableLightRays;
|
$PostFXManager::Settings::EnableLightRays = $PostFXManager::PostFX::EnableLightRays;
|
||||||
$PostFXManager::Settings::EnableHDR = $PostFXManager::PostFX::EnableHDR;
|
$PostFXManager::Settings::EnableHDR = $PostFXManager::PostFX::EnableHDR;
|
||||||
$PostFXManager::Settings::EnabledSSAO = $PostFXManager::PostFX::EnableSSAO;
|
$PostFXManager::Settings::EnabledSSAO = $PostFXManager::PostFX::EnableSSAO;
|
||||||
|
|
@ -373,6 +402,8 @@ function PostFXManager::settingsApplyAll(%this, %sFrom)
|
||||||
%this.settingsApplyLightRays();
|
%this.settingsApplyLightRays();
|
||||||
// DOF
|
// DOF
|
||||||
%this.settingsApplyDOF();
|
%this.settingsApplyDOF();
|
||||||
|
// Vignette
|
||||||
|
%this.settingsApplyVignette();
|
||||||
|
|
||||||
postVerbose("% - PostFX Manager - All Settings applied to $PostFXManager::Settings");
|
postVerbose("% - PostFX Manager - All Settings applied to $PostFXManager::Settings");
|
||||||
}
|
}
|
||||||
|
|
|
||||||
49
Templates/Full/game/core/scripts/client/postFx/vignette.cs
Normal file
49
Templates/Full/game/core/scripts/client/postFx/vignette.cs
Normal file
|
|
@ -0,0 +1,49 @@
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2012 GarageGames, LLC
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to
|
||||||
|
// deal in the Software without restriction, including without limitation the
|
||||||
|
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
// sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
// IN THE SOFTWARE.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
$VignettePostEffect::RadiusX = 0.6;
|
||||||
|
$VignettePostEffect::RadiusY = 0.2;
|
||||||
|
|
||||||
|
singleton ShaderData( VignetteShader )
|
||||||
|
{
|
||||||
|
DXVertexShaderFile = "shaders/common/postFx/postFxV.hlsl";
|
||||||
|
DXPixelShaderFile = "shaders/common/postFx/vignette/VignetteP.hlsl";
|
||||||
|
pixVersion = 2.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
singleton PostEffect( VignettePostEffect )
|
||||||
|
{
|
||||||
|
isEnabled = false;
|
||||||
|
allowReflectPass = false;
|
||||||
|
renderTime = "PFXAfterBin";
|
||||||
|
renderBin = "GlowBin";
|
||||||
|
shader = VignetteShader;
|
||||||
|
stateBlock = PFX_DefaultStateBlock;
|
||||||
|
texture[0] = "$backBuffer";
|
||||||
|
renderPriority = 10;
|
||||||
|
};
|
||||||
|
|
||||||
|
function VignettePostEffect::setShaderConsts(%this)
|
||||||
|
{
|
||||||
|
%this.setShaderConst("$radiusX", $VignettePostEffect::RadiusX);
|
||||||
|
%this.setShaderConst("$radiusY", $VignettePostEffect::RadiusY);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,36 @@
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// Copyright (c) 2012 GarageGames, LLC
|
||||||
|
//
|
||||||
|
// Permission is hereby granted, free of charge, to any person obtaining a copy
|
||||||
|
// of this software and associated documentation files (the "Software"), to
|
||||||
|
// deal in the Software without restriction, including without limitation the
|
||||||
|
// rights to use, copy, modify, merge, publish, distribute, sublicense, and/or
|
||||||
|
// sell copies of the Software, and to permit persons to whom the Software is
|
||||||
|
// furnished to do so, subject to the following conditions:
|
||||||
|
//
|
||||||
|
// The above copyright notice and this permission notice shall be included in
|
||||||
|
// all copies or substantial portions of the Software.
|
||||||
|
//
|
||||||
|
// THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
|
||||||
|
// IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
|
||||||
|
// FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
|
||||||
|
// AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
|
||||||
|
// LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING
|
||||||
|
// FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS
|
||||||
|
// IN THE SOFTWARE.
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
|
||||||
|
#include "../postFx.hlsl"
|
||||||
|
#include "shadergen:/autogenConditioners.h"
|
||||||
|
|
||||||
|
uniform sampler2D backBuffer : register(S0);
|
||||||
|
uniform float radiusX;
|
||||||
|
uniform float radiusY;
|
||||||
|
|
||||||
|
float4 main(PFXVertToPix IN) : COLOR0
|
||||||
|
{
|
||||||
|
float4 base = tex2D(backBuffer, IN.uv0);
|
||||||
|
float dist = distance(IN.uv0, float2(0.5,0.5)) * 0.7 ;
|
||||||
|
base.rgb *= smoothstep(radiusX, radiusY, dist);
|
||||||
|
return base;
|
||||||
|
}
|
||||||
Loading…
Add table
Add a link
Reference in a new issue