mirror of
https://github.com/TorqueGameEngines/Torque3D.git
synced 2026-04-28 15:55:39 +00:00
glow buffer debug visualiser
pure script, there will be several of these using identical methodology for deferred. displays a given buffer via the texture[0] = "#glowbuffer"; entry, passed along to a given shader via the samplerNames[0] = "glowBuffer";entry which corresponds to an expected variable name and register. as much documentation for later as tool
This commit is contained in:
parent
376db9e097
commit
f18dd9e438
4 changed files with 100 additions and 0 deletions
|
|
@ -84,6 +84,26 @@ function AL_DepthVisualize::onEnabled( %this )
|
||||||
return true;
|
return true;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
new ShaderData( AL_GlowVisualizeShader )
|
||||||
|
{
|
||||||
|
DXVertexShaderFile = "shaders/common/postFx/postFxV.hlsl";
|
||||||
|
DXPixelShaderFile = "shaders/common/lighting/advanced/dbgGlowVisualizeP.hlsl";
|
||||||
|
|
||||||
|
OGLVertexShaderFile = "shaders/common/postFx/gl/postFxV.glsl";
|
||||||
|
OGLPixelShaderFile = "shaders/common/lighting/advanced/gl/dbgGlowVisualizeP.glsl";
|
||||||
|
|
||||||
|
samplerNames[0] = "glowBuffer";
|
||||||
|
pixVersion = 2.0;
|
||||||
|
};
|
||||||
|
|
||||||
|
singleton PostEffect( AL_GlowVisualize )
|
||||||
|
{
|
||||||
|
shader = AL_GlowVisualizeShader;
|
||||||
|
stateBlock = AL_DefaultVisualizeState;
|
||||||
|
texture[0] = "#glowbuffer";
|
||||||
|
target = "$backBuffer";
|
||||||
|
renderPriority = 9999;
|
||||||
|
};
|
||||||
|
|
||||||
new ShaderData( AL_NormalsVisualizeShader )
|
new ShaderData( AL_NormalsVisualizeShader )
|
||||||
{
|
{
|
||||||
|
|
@ -204,6 +224,20 @@ function toggleDepthViz( %enable )
|
||||||
AL_DepthVisualize.disable();
|
AL_DepthVisualize.disable();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
/// Toggles the visualization of the AL depth buffer.
|
||||||
|
function toggleGlowViz( %enable )
|
||||||
|
{
|
||||||
|
if ( %enable $= "" )
|
||||||
|
{
|
||||||
|
$AL_GlowVisualizeVar = AL_GlowVisualize.isEnabled() ? false : true;
|
||||||
|
AL_GlowVisualize.toggle();
|
||||||
|
}
|
||||||
|
else if ( %enable )
|
||||||
|
AL_GlowVisualize.enable();
|
||||||
|
else if ( !%enable )
|
||||||
|
AL_GlowVisualize.disable();
|
||||||
|
}
|
||||||
|
|
||||||
/// Toggles the visualization of the AL normals buffer.
|
/// Toggles the visualization of the AL normals buffer.
|
||||||
function toggleNormalsViz( %enable )
|
function toggleNormalsViz( %enable )
|
||||||
{
|
{
|
||||||
|
|
|
||||||
|
|
@ -0,0 +1,31 @@
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// 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 "shadergen:/autogenConditioners.h"
|
||||||
|
#include "../../postfx/postFx.hlsl"
|
||||||
|
|
||||||
|
|
||||||
|
float4 main( PFXVertToPix IN,
|
||||||
|
uniform sampler2D glowBuffer : register(S0) ) : COLOR0
|
||||||
|
{
|
||||||
|
return tex2D(glowBuffer, IN.uv0);
|
||||||
|
}
|
||||||
|
|
@ -0,0 +1,34 @@
|
||||||
|
//-----------------------------------------------------------------------------
|
||||||
|
// 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 "../../../gl/hlslCompat.glsl"
|
||||||
|
#include "shadergen:/autogenConditioners.h"
|
||||||
|
#include "../../../postfx/gl/postFx.glsl"
|
||||||
|
|
||||||
|
uniform sampler2D glowBuffer;
|
||||||
|
|
||||||
|
out vec4 OUT_FragColor0;
|
||||||
|
|
||||||
|
void main()
|
||||||
|
{
|
||||||
|
OUT_FragColor0 = texture(glowBuffer, uv0);
|
||||||
|
}
|
||||||
|
|
@ -119,6 +119,7 @@ function initializeWorldEditor()
|
||||||
EVisibility.addOption( "AL: Light Specular Viz", "$AL_LightSpecularVisualizeVar", "toggleLightSpecularViz" );
|
EVisibility.addOption( "AL: Light Specular Viz", "$AL_LightSpecularVisualizeVar", "toggleLightSpecularViz" );
|
||||||
EVisibility.addOption( "AL: Normals Viz", "$AL_NormalsVisualizeVar", "toggleNormalsViz" );
|
EVisibility.addOption( "AL: Normals Viz", "$AL_NormalsVisualizeVar", "toggleNormalsViz" );
|
||||||
EVisibility.addOption( "AL: Depth Viz", "$AL_DepthVisualizeVar", "toggleDepthViz" );
|
EVisibility.addOption( "AL: Depth Viz", "$AL_DepthVisualizeVar", "toggleDepthViz" );
|
||||||
|
EVisibility.addOption( "AL: Glow Buffer", "$AL_GlowVisualizeVar", "toggleGlowViz" );
|
||||||
EVisibility.addOption( "Frustum Lock", "$Scene::lockCull", "" );
|
EVisibility.addOption( "Frustum Lock", "$Scene::lockCull", "" );
|
||||||
EVisibility.addOption( "Disable Zone Culling", "$Scene::disableZoneCulling", "" );
|
EVisibility.addOption( "Disable Zone Culling", "$Scene::disableZoneCulling", "" );
|
||||||
EVisibility.addOption( "Disable Terrain Occlusion", "$Scene::disableTerrainOcclusion", "" );
|
EVisibility.addOption( "Disable Terrain Occlusion", "$Scene::disableTerrainOcclusion", "" );
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue