浏览代码

revert duplicates and globals declarations

revert duplicates and globals declarations
/main
mmikk 8 年前
当前提交
19b1da78
共有 5 个文件被更改,包括 19 次插入39 次删除
  1. 4
      Assets/ScriptableRenderLoop/fptl/Internal-DeferredComputeShading.compute
  2. 11
      Assets/ScriptableRenderLoop/fptl/TiledLightingTemplate.hlsl
  3. 28
      Assets/ScriptableRenderLoop/fptl/TiledLightingUtils.hlsl
  4. 11
      Assets/ScriptableRenderLoop/fptl/TiledReflectionTemplate.hlsl
  5. 4
      Assets/ScriptableRenderLoop/fptl/renderloopfptl.asset

4
Assets/ScriptableRenderLoop/fptl/Internal-DeferredComputeShading.compute


uint2 tileCoord = groupId >> 1;
uint numLightsProcessed = 0;
float3 c = data.emission + ExecuteLightListTile(numLightsProcessed, tileCoord, vP, vPw, Vworld);
float3 c = data.emission + ExecuteLightList(numLightsProcessed, tileCoord, vP, vPw, Vworld);
c += ExecuteReflectionListTile(numReflectionsProcessed, tileCoord, vP, data.normalWorld, Vworld, data.smoothness);
c += ExecuteReflectionList(numReflectionsProcessed, tileCoord, vP, data.normalWorld, Vworld, data.smoothness);
#if ENABLE_DEBUG
c = OverlayHeatMap(pixCoord & 15, numLightsProcessed, c);

11
Assets/ScriptableRenderLoop/fptl/TiledLightingTemplate.hlsl


return ExecuteLightList(start, numLights, vP, vPw, Vworld);
}
float3 ExecuteLightListTile(out uint numLightsProcessed, uint2 tileIDX, float3 vP, float3 vPw, float3 Vworld)
{
uint nrTilesX = (g_widthRT + 15) / 16; uint nrTilesY = (g_heightRT + 15) / 16;
uint start = 0, numLights = 0;
GetCountAndStart(start, numLights, tileIDX, nrTilesX, nrTilesY, vP.z, DIRECT_LIGHT);
numLightsProcessed = numLights; // mainly for debugging/heat maps
return ExecuteLightList(start, numLights, vP, vPw, Vworld);
}
#endif

28
Assets/ScriptableRenderLoop/fptl/TiledLightingUtils.hlsl


StructuredBuffer<SFiniteLightData> g_vLightData;
Buffer<uint> g_vLightListGlobal;
uniform float g_fClustScale;
uniform float g_fClustBase;
uniform float g_fNearPlane;
uniform float g_fFarPlane;
uniform int g_iLog2NumClusters; // We need to always define these to keep constant buffer layouts compatible
#include "ClusteredUtils.h"
Buffer<uint> g_vLayeredOffsetsBuffer;
Buffer<float> g_logBaseBuffer;
uniform uint g_isLogBaseBufferEnabled;
uniform uint g_isOpaquesOnlyEnabled;
void GetCountAndStartOpaque(out uint uStart, out uint uNrLights, uint2 tileIDX, int nrTilesX, int nrTilesY, float linDepth, uint model)
{

}
#else
uniform float g_fClustScale;
uniform float g_fClustBase;
uniform float g_fNearPlane;
uniform float g_fFarPlane;
uniform int g_iLog2NumClusters; // We need to always define these to keep constant buffer layouts compatible
#include "ClusteredUtils.h"
Buffer<uint> g_vLayeredOffsetsBuffer;
Buffer<float> g_logBaseBuffer;
uniform uint g_isLogBaseBufferEnabled;
uniform uint g_isOpaquesOnlyEnabled;
void GetCountAndStart(out uint uStart, out uint uNrLights, uint2 tileIDX, int nrTilesX, int nrTilesY, float linDepth, uint model)
{

11
Assets/ScriptableRenderLoop/fptl/TiledReflectionTemplate.hlsl


return ExecuteReflectionList(start, numReflectionProbes, vP, vNw, Vworld, smoothness);
}
float3 ExecuteReflectionListTile(out uint numReflectionProbesProcessed, uint2 tileIDX, float3 vP, float3 vNw, float3 Vworld, float smoothness)
{
uint nrTilesX = (g_widthRT + 15) / 16; uint nrTilesY = (g_heightRT + 15) / 16;
uint start = 0, numReflectionProbes = 0;
GetCountAndStart(start, numReflectionProbes, tileIDX, nrTilesX, nrTilesY, vP.z, REFLECTION_LIGHT);
numReflectionProbesProcessed = numReflectionProbes; // mainly for debugging/heat maps
return ExecuteReflectionList(start, numReflectionProbes, vP, vNw, Vworld, smoothness);
}
#endif

4
Assets/ScriptableRenderLoop/fptl/renderloopfptl.asset


enableClustered: 1
disableFptlWhenClustered: 1
enableBigTilePrepass: 1
enableDrawLightBoundsDebug: 1
enableDrawLightBoundsDebug: 0
enableComputeLightEvaluation: 1
enableComputeLightEvaluation: 0
正在加载...
取消
保存