浏览代码

Merge pull request #969 from eightyeight/options-for-godrays

Added settings for god-ray PostFX.
Daniel Buckmaster 10 年之前
父节点
当前提交
450a6c6c80

+ 4 - 0
Templates/Empty/game/core/scripts/client/postFx/default.postfxpreset.cs

@@ -46,6 +46,10 @@ $PostFXManager::Settings::HDR::keyValue = "0.18";
 $PostFXManager::Settings::HDR::minLuminace = "0.001";
 $PostFXManager::Settings::HDR::whiteCutoff = "1";
 $PostFXManager::Settings::LightRays::brightScalar = "0.75";
+$PostFXManager::Settings::LightRays::decay = "1.0";
+$PostFXManager::Settings::LightRays::density = "0.94";
+$PostFXManager::Settings::LightRays::numSamples = "40";
+$PostFXManager::Settings::LightRays::weight = "5.65";
 $PostFXManager::Settings::SSAO::blurDepthTol = "0.001";
 $PostFXManager::Settings::SSAO::blurNormalTol = "0.95";
 $PostFXManager::Settings::SSAO::lDepthMax = "2";

+ 185 - 4
Templates/Empty/game/core/scripts/client/postFx/postFXManager.gui

@@ -1689,12 +1689,12 @@
             canSave = "1";
             canSaveDynamicFields = "0";
 
-            new GuiSliderCtrl(ppOptionsLightRaysBrightScalar) {
+           new GuiSliderCtrl(ppOptionsLightRaysBrightScalar) {
                range = "0 5";
                ticks = "1000";
                snap = "0";
                value = "0.75";
-               position = "96 96";
+               position = "96 46";
                extent = "264 17";
                minExtent = "8 2";
                horizSizing = "right";
@@ -1707,7 +1707,7 @@
                isContainer = "0";
                canSave = "1";
                canSaveDynamicFields = "0";
-            };
+            };			
             new GuiTextCtrl(ppOptionsLightRaysBrightnessScalarLabel) {
                text = "Brightness";
                maxLength = "1024";
@@ -1717,7 +1717,7 @@
                anchorBottom = "0";
                anchorLeft = "1";
                anchorRight = "0";
-               position = "26 98";
+               position = "26 48";
                extent = "87 15";
                minExtent = "8 2";
                horizSizing = "right";
@@ -1732,6 +1732,187 @@
                canSave = "1";
                canSaveDynamicFields = "0";
             };
+			
+		    new GuiSliderCtrl(ppOptionsLightRaysSampleScalar) {
+               range = "20 512";
+               ticks = "512";
+               snap = "0";
+               value = "40";
+               position = "96 75";
+               extent = "264 17";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiSliderBoxProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiTextCtrl(ppOptionsLightRaysSampleScalarLabel) {
+               text = "Samples";
+               maxLength = "512";
+               margin = "0 0 0 0";
+               padding = "0 0 0 0";
+               anchorTop = "1";
+               anchorBottom = "0";
+               anchorLeft = "1";
+               anchorRight = "0";
+               position = "26 76";
+               extent = "87 15";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiTextProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               tooltip = "Controls the number of samples for the shader.";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiSliderCtrl(ppOptionsLightRaysDensityScalar) {
+               range = "0.01 1";
+               ticks = "1000";
+               snap = "0";
+               value = "0.94";
+               position = "96 105";
+               extent = "264 17";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiSliderBoxProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiTextCtrl(ppOptionsLightRaysDensityScalarLabel) {
+               text = "Density";
+               maxLength = "1000";
+               margin = "0 0 0 0";
+               padding = "0 0 0 0";
+               anchorTop = "1";
+               anchorBottom = "0";
+               anchorLeft = "1";
+               anchorRight = "0";
+               position = "26 106";
+               extent = "87 15";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiTextProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               tooltip = "Controls the density of the rays.";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiSliderCtrl(ppOptionsLightRaysWeightScalar) {
+               range = "0.1 10";
+               ticks = "1000";
+               snap = "0";
+               value = "5.65";
+               position = "96 135";
+               extent = "264 17";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiSliderBoxProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiTextCtrl(ppOptionsLightRaysWeightScalarLabel) {
+               text = "Weight";
+               maxLength = "1000";
+               margin = "0 0 0 0";
+               padding = "0 0 0 0";
+               anchorTop = "1";
+               anchorBottom = "0";
+               anchorLeft = "1";
+               anchorRight = "0";
+               position = "26 136";
+               extent = "87 15";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiTextProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               tooltip = "Controls the weight of the rays.";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			
+			new GuiSliderCtrl(ppOptionsLightRaysDecayScalar) {
+               range = "0.01 1";
+               ticks = "1000";
+               snap = "0";
+               value = "1.0";
+               position = "96 165";
+               extent = "264 17";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiSliderBoxProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiTextCtrl(ppOptionsLightRaysDecayScalarLabel) {
+               text = "Decay";
+               maxLength = "1000";
+               margin = "0 0 0 0";
+               padding = "0 0 0 0";
+               anchorTop = "1";
+               anchorBottom = "0";
+               anchorLeft = "1";
+               anchorRight = "0";
+               position = "26 166";
+               extent = "87 15";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiTextProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               tooltip = "Controls the decay of the rays.";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
             new GuiCheckBoxCtrl(ppOptionsEnableLightRays) {
                useInactiveState = "0";
                text = "Enable";

+ 26 - 1
Templates/Empty/game/core/scripts/client/postFx/postFxManager.gui.cs

@@ -301,12 +301,37 @@ function ppOptionsHDREffectsBlueShiftColorBaseColor::onAction(%this)
 }
 
 
-//Light rays Slider Controls
+//Light rays Brightness Slider Controls
 function ppOptionsLightRaysBrightScalar::onMouseDragged(%this)
 {
    $LightRayPostFX::brightScalar = %this.value;
    %this.ToolTip = "Value : " @ %this.value;
 }
+//Light rays Number of Samples Slider Control
+function ppOptionsLightRaysSampleScalar::onMouseDragged(%this)
+{
+   $LightRayPostFX::numSamples = %this.value;
+   %this.ToolTip = "Value : " @ %this.value;
+}
+//Light rays Density Slider Control
+function ppOptionsLightRaysDensityScalar::onMouseDragged(%this)
+{
+   $LightRayPostFX::density = %this.value;
+   %this.ToolTip = "Value : " @ %this.value;
+}
+//Light rays Weight Slider Control
+function ppOptionsLightRaysWeightScalar::onMouseDragged(%this)
+{
+   $LightRayPostFX::weight = %this.value;
+   %this.ToolTip = "Value : " @ %this.value;
+}
+//Light rays Decay Slider Control
+function ppOptionsLightRaysDecayScalar::onMouseDragged(%this)
+{
+   $LightRayPostFX::decay = %this.value;
+   %this.ToolTip = "Value : " @ %this.value;
+}
+
 
 function ppOptionsUpdateDOFSettings()
 {

+ 15 - 0
Templates/Empty/game/core/scripts/client/postFx/postFxManager.gui.settings.cs

@@ -186,6 +186,11 @@ function PostFXManager::settingsRefreshLightrays(%this)
    ppOptionsEnableLightRays.setValue($PostFXManager::PostFX::EnableLightRays);   
     
    ppOptionsLightRaysBrightScalar.setValue($LightRayPostFX::brightScalar);
+   
+   ppOptionsLightRaysSampleScalar.setValue($LightRayPostFX::numSamples);
+   ppOptionsLightRaysDensityScalar.setValue($LightRayPostFX::density);
+   ppOptionsLightRaysWeightScalar.setValue($LightRayPostFX::weight);
+   ppOptionsLightRaysDecayScalar.setValue($LightRayPostFX::decay);
 }
 
 function PostFXManager::settingsRefreshDOF(%this)
@@ -280,6 +285,11 @@ function PostFXManager::settingsApplyFromPreset(%this)
    //Light rays settings
    $LightRayPostFX::brightScalar       = $PostFXManager::Settings::LightRays::brightScalar;
    
+   $LightRayPostFX::numSamples         = $PostFXManager::Settings::LightRays::numSamples;
+   $LightRayPostFX::density            = $PostFXManager::Settings::LightRays::density;
+   $LightRayPostFX::weight             = $PostFXManager::Settings::LightRays::weight;
+   $LightRayPostFX::decay              = $PostFXManager::Settings::LightRays::decay;
+   
    //DOF settings   
    $DOFPostFx::EnableAutoFocus         = $PostFXManager::Settings::DOF::EnableAutoFocus;
    $DOFPostFx::BlurMin                 = $PostFXManager::Settings::DOF::BlurMin;
@@ -357,6 +367,11 @@ function PostFXManager::settingsApplyLightRays(%this)
 {   
    $PostFXManager::Settings::LightRays::brightScalar        = $LightRayPostFX::brightScalar;
    
+   $PostFXManager::Settings::LightRays::numSamples          = $LightRayPostFX::numSamples;
+   $PostFXManager::Settings::LightRays::density             = $LightRayPostFX::density;
+   $PostFXManager::Settings::LightRays::weight              = $LightRayPostFX::weight;
+   $PostFXManager::Settings::LightRays::decay               = $LightRayPostFX::decay;
+   
    postVerbose("% - PostFX Manager - Settings Saved - Light Rays");   
    
 }

+ 4 - 0
Templates/Full/game/core/scripts/client/postFx/default.postfxpreset.cs

@@ -46,6 +46,10 @@ $PostFXManager::Settings::HDR::keyValue = "0.18";
 $PostFXManager::Settings::HDR::minLuminace = "0.001";
 $PostFXManager::Settings::HDR::whiteCutoff = "1";
 $PostFXManager::Settings::LightRays::brightScalar = "0.75";
+$PostFXManager::Settings::LightRays::decay = "1.0";
+$PostFXManager::Settings::LightRays::density = "0.94";
+$PostFXManager::Settings::LightRays::numSamples = "40";
+$PostFXManager::Settings::LightRays::weight = "5.65";
 $PostFXManager::Settings::SSAO::blurDepthTol = "0.001";
 $PostFXManager::Settings::SSAO::blurNormalTol = "0.95";
 $PostFXManager::Settings::SSAO::lDepthMax = "2";

+ 185 - 4
Templates/Full/game/core/scripts/client/postFx/postFXManager.gui

@@ -1689,12 +1689,12 @@
             canSave = "1";
             canSaveDynamicFields = "0";
 
-            new GuiSliderCtrl(ppOptionsLightRaysBrightScalar) {
+           new GuiSliderCtrl(ppOptionsLightRaysBrightScalar) {
                range = "0 5";
                ticks = "1000";
                snap = "0";
                value = "0.75";
-               position = "96 96";
+               position = "96 46";
                extent = "264 17";
                minExtent = "8 2";
                horizSizing = "right";
@@ -1707,7 +1707,7 @@
                isContainer = "0";
                canSave = "1";
                canSaveDynamicFields = "0";
-            };
+            };			
             new GuiTextCtrl(ppOptionsLightRaysBrightnessScalarLabel) {
                text = "Brightness";
                maxLength = "1024";
@@ -1717,7 +1717,7 @@
                anchorBottom = "0";
                anchorLeft = "1";
                anchorRight = "0";
-               position = "26 98";
+               position = "26 48";
                extent = "87 15";
                minExtent = "8 2";
                horizSizing = "right";
@@ -1732,6 +1732,187 @@
                canSave = "1";
                canSaveDynamicFields = "0";
             };
+			
+		    new GuiSliderCtrl(ppOptionsLightRaysSampleScalar) {
+               range = "20 512";
+               ticks = "512";
+               snap = "0";
+               value = "40";
+               position = "96 75";
+               extent = "264 17";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiSliderBoxProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiTextCtrl(ppOptionsLightRaysSampleScalarLabel) {
+               text = "Samples";
+               maxLength = "512";
+               margin = "0 0 0 0";
+               padding = "0 0 0 0";
+               anchorTop = "1";
+               anchorBottom = "0";
+               anchorLeft = "1";
+               anchorRight = "0";
+               position = "26 76";
+               extent = "87 15";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiTextProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               tooltip = "Controls the number of samples for the shader.";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiSliderCtrl(ppOptionsLightRaysDensityScalar) {
+               range = "0.01 1";
+               ticks = "1000";
+               snap = "0";
+               value = "0.94";
+               position = "96 105";
+               extent = "264 17";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiSliderBoxProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiTextCtrl(ppOptionsLightRaysDensityScalarLabel) {
+               text = "Density";
+               maxLength = "1000";
+               margin = "0 0 0 0";
+               padding = "0 0 0 0";
+               anchorTop = "1";
+               anchorBottom = "0";
+               anchorLeft = "1";
+               anchorRight = "0";
+               position = "26 106";
+               extent = "87 15";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiTextProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               tooltip = "Controls the density of the rays.";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiSliderCtrl(ppOptionsLightRaysWeightScalar) {
+               range = "0.1 10";
+               ticks = "1000";
+               snap = "0";
+               value = "5.65";
+               position = "96 135";
+               extent = "264 17";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiSliderBoxProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiTextCtrl(ppOptionsLightRaysWeightScalarLabel) {
+               text = "Weight";
+               maxLength = "1000";
+               margin = "0 0 0 0";
+               padding = "0 0 0 0";
+               anchorTop = "1";
+               anchorBottom = "0";
+               anchorLeft = "1";
+               anchorRight = "0";
+               position = "26 136";
+               extent = "87 15";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiTextProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               tooltip = "Controls the weight of the rays.";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			
+			new GuiSliderCtrl(ppOptionsLightRaysDecayScalar) {
+               range = "0.01 1";
+               ticks = "1000";
+               snap = "0";
+               value = "1.0";
+               position = "96 165";
+               extent = "264 17";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiSliderBoxProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
+			
+			new GuiTextCtrl(ppOptionsLightRaysDecayScalarLabel) {
+               text = "Decay";
+               maxLength = "1000";
+               margin = "0 0 0 0";
+               padding = "0 0 0 0";
+               anchorTop = "1";
+               anchorBottom = "0";
+               anchorLeft = "1";
+               anchorRight = "0";
+               position = "26 166";
+               extent = "87 15";
+               minExtent = "8 2";
+               horizSizing = "right";
+               vertSizing = "bottom";
+               profile = "GuiTextProfile";
+               visible = "1";
+               active = "1";
+               tooltipProfile = "GuiToolTipProfile";
+               tooltip = "Controls the decay of the rays.";
+               hovertime = "1000";
+               isContainer = "0";
+               canSave = "1";
+               canSaveDynamicFields = "0";
+            };
             new GuiCheckBoxCtrl(ppOptionsEnableLightRays) {
                useInactiveState = "0";
                text = "Enable";

+ 26 - 1
Templates/Full/game/core/scripts/client/postFx/postFxManager.gui.cs

@@ -301,12 +301,37 @@ function ppOptionsHDREffectsBlueShiftColorBaseColor::onAction(%this)
 }
 
 
-//Light rays Slider Controls
+//Light rays Brightness Slider Controls
 function ppOptionsLightRaysBrightScalar::onMouseDragged(%this)
 {
    $LightRayPostFX::brightScalar = %this.value;
    %this.ToolTip = "Value : " @ %this.value;
 }
+//Light rays Number of Samples Slider Control
+function ppOptionsLightRaysSampleScalar::onMouseDragged(%this)
+{
+   $LightRayPostFX::numSamples = %this.value;
+   %this.ToolTip = "Value : " @ %this.value;
+}
+//Light rays Density Slider Control
+function ppOptionsLightRaysDensityScalar::onMouseDragged(%this)
+{
+   $LightRayPostFX::density = %this.value;
+   %this.ToolTip = "Value : " @ %this.value;
+}
+//Light rays Weight Slider Control
+function ppOptionsLightRaysWeightScalar::onMouseDragged(%this)
+{
+   $LightRayPostFX::weight = %this.value;
+   %this.ToolTip = "Value : " @ %this.value;
+}
+//Light rays Decay Slider Control
+function ppOptionsLightRaysDecayScalar::onMouseDragged(%this)
+{
+   $LightRayPostFX::decay = %this.value;
+   %this.ToolTip = "Value : " @ %this.value;
+}
+
 
 function ppOptionsUpdateDOFSettings()
 {

+ 15 - 0
Templates/Full/game/core/scripts/client/postFx/postFxManager.gui.settings.cs

@@ -186,6 +186,11 @@ function PostFXManager::settingsRefreshLightrays(%this)
    ppOptionsEnableLightRays.setValue($PostFXManager::PostFX::EnableLightRays);   
     
    ppOptionsLightRaysBrightScalar.setValue($LightRayPostFX::brightScalar);
+   
+   ppOptionsLightRaysSampleScalar.setValue($LightRayPostFX::numSamples);
+   ppOptionsLightRaysDensityScalar.setValue($LightRayPostFX::density);
+   ppOptionsLightRaysWeightScalar.setValue($LightRayPostFX::weight);
+   ppOptionsLightRaysDecayScalar.setValue($LightRayPostFX::decay);
 }
 
 function PostFXManager::settingsRefreshDOF(%this)
@@ -280,6 +285,11 @@ function PostFXManager::settingsApplyFromPreset(%this)
    //Light rays settings
    $LightRayPostFX::brightScalar       = $PostFXManager::Settings::LightRays::brightScalar;
    
+   $LightRayPostFX::numSamples         = $PostFXManager::Settings::LightRays::numSamples;
+   $LightRayPostFX::density            = $PostFXManager::Settings::LightRays::density;
+   $LightRayPostFX::weight             = $PostFXManager::Settings::LightRays::weight;
+   $LightRayPostFX::decay              = $PostFXManager::Settings::LightRays::decay;
+   
    //DOF settings   
    $DOFPostFx::EnableAutoFocus         = $PostFXManager::Settings::DOF::EnableAutoFocus;
    $DOFPostFx::BlurMin                 = $PostFXManager::Settings::DOF::BlurMin;
@@ -357,6 +367,11 @@ function PostFXManager::settingsApplyLightRays(%this)
 {   
    $PostFXManager::Settings::LightRays::brightScalar        = $LightRayPostFX::brightScalar;
    
+   $PostFXManager::Settings::LightRays::numSamples          = $LightRayPostFX::numSamples;
+   $PostFXManager::Settings::LightRays::density             = $LightRayPostFX::density;
+   $PostFXManager::Settings::LightRays::weight              = $LightRayPostFX::weight;
+   $PostFXManager::Settings::LightRays::decay               = $LightRayPostFX::decay;
+   
    postVerbose("% - PostFX Manager - Settings Saved - Light Rays");   
    
 }