浏览代码

custom depth buffer does not store instances

/main
etienne cella 4 年前
当前提交
ce540fb3
共有 11 个文件被更改,包括 847 次插入1081 次删除
  1. 66
      Assets/ClusterDisplay/Scripts/CustomDepthBuffer.cs
  2. 8
      Assets/Scenes/Demo/Demo.unity
  3. 814
      Assets/Scenes/Demo/Demo_LI_Sunset.unity
  4. 701
      Assets/Scenes/Demo/Settings/HDRenderPipelineAsset Demo.asset
  5. 25
      Assets/Scripts/LensFlare/HDRPLensFlare.cs
  6. 9
      ProjectSettings/ProjectSettings.asset
  7. 93
      ProjectSettings/TagManager.asset
  8. 2
      ProjectSettings/UnityConnectSettings.asset
  9. 199
      Assets/ClusterDisplay/Scripts/OcclusionRenderer.cs
  10. 11
      Assets/ClusterDisplay/Scripts/OcclusionRenderer.cs.meta

66
Assets/ClusterDisplay/Scripts/CustomDepthBuffer.cs


public class CustomDepthBuffer : MonoBehaviour
{
[SerializeField]
string m_Id;
public string id { get { return m_Id; } }
string m_Tag;
[SerializeField]
Transform[] m_OccludingRoots;
[SerializeField]
Mesh[] m_OccludingMeshes;

RenderTexture m_ColorBuffer;
CommandBuffer m_CmdBuffer;
CustomSampler m_Sampler;
int m_ActiveHandles = 0;
struct InstancedDrawArgs
{

List<InstancedDrawArgs> m_RenderingData = new List<InstancedDrawArgs>();
static List<CustomDepthBuffer> s_Instances = new List<CustomDepthBuffer>();
public class Handle
{
CustomDepthBuffer m_Buffer;
public Handle(CustomDepthBuffer buffer)
{
m_Buffer = buffer;
m_Buffer.m_ActiveHandles++;
}
public void Release()
{
m_Buffer.m_ActiveHandles--;
m_Buffer = null;
}
public RenderTexture target
{
get { return m_Buffer.target; }
}
public Vector4 zBufferParams
{
get { return m_Buffer.zBufferParams; }
}
}
public static Handle GetHandle(string name)
{
// we expect a very limited number of instances, optimize otherwise
foreach (var instance in s_Instances)
{
if (instance.id == name)
return new Handle(instance);
}
throw new InvalidOperationException($"No CustomDepthBuffer named [{name}], Handle could not be instanciated.");
}
class InstancingDataGenerationVisitor
{
Dictionary<int, Mesh> m_Meshes = new Dictionary<int, Mesh>();

m_Material.enableInstancing = true;
m_CmdBuffer = new CommandBuffer();
s_Instances.Add(this);
s_Instances.Remove(this);
DestroyImmediate(m_Material);
m_CmdBuffer.Release();
if (m_DepthBuffer != null)

void Update()
{
// No need to update if there are no handles to this this buffer.
if (m_ActiveHandles == 0)
return;
// TMP DEBUG hack
if (Input.GetKeyDown(KeyCode.G))
m_ShowDebugUI = !m_ShowDebugUI;
m_Sampler.Begin();
var camera = Camera.main;
if (camera != null && camera.cameraType == CameraType.Game)

[ContextMenu("Update Rendering Data")]
void UpdateRenderingData()
{
if (m_OccludingRoots == null)
if (string.IsNullOrEmpty(m_Tag))
foreach (var occluder in m_OccludingRoots)
foreach (var occluder in GameObject.FindGameObjectsWithTag(m_Tag))
{
UpdateRenderingDataRecursive(occluder.transform, m_InstancingDataGenerationVisitor);
}

8
Assets/Scenes/Demo/Demo.unity


m_MeshRenderer: {fileID: 519814091}
m_MeshFilter: {fileID: 519814092}
m_Light: {fileID: 0}
m_CustomDepthBufferId:
OcclusionRadius: 1
NearFadeStartDistance: 1
NearFadeEndDistance: 3

m_Name:
m_EditorClassIdentifier:
m_ClusterRenderer: {fileID: 832040623}
m_Show: 1
m_Show: 0
m_ToggleKey: 104
m_DisplayUpdateRate: 1
--- !u!114 &832040622

m_Name:
m_EditorClassIdentifier:
m_Settings: {fileID: 25927726}
m_Debug: 1
m_Debug: 0
--- !u!4 &832040624
Transform:
m_ObjectHideFlags: 0

m_MeshRenderer: {fileID: 1614826917}
m_MeshFilter: {fileID: 1614826918}
m_Light: {fileID: 0}
m_CustomDepthBufferId:
OcclusionRadius: 1
NearFadeStartDistance: 1
NearFadeEndDistance: 3

m_MeshRenderer: {fileID: 1619976217}
m_MeshFilter: {fileID: 1619976218}
m_Light: {fileID: 0}
m_CustomDepthBufferId:
OcclusionRadius: 12
NearFadeStartDistance: 1
NearFadeEndDistance: 3

m_MeshRenderer: {fileID: 1804604714}
m_MeshFilter: {fileID: 1804604715}
m_Light: {fileID: 0}
m_CustomDepthBufferId:
OcclusionRadius: 1
NearFadeStartDistance: 1
NearFadeEndDistance: 3

814
Assets/Scenes/Demo/Demo_LI_Sunset.unity


debug:
m_Flags: 0
m_NavMeshData: {fileID: 0}
--- !u!86 &106876505
CustomRenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 3
m_Width: 256
m_Height: 256
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 0
m_ColorFormat: 4
m_MipMap: 1
m_GenerateMips: 1
m_SRGB: 1
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 0
m_WrapV: 0
m_WrapW: 0
m_Dimension: 2
m_VolumeDepth: 1
m_Material: {fileID: 969547741}
m_InitSource: 0
m_InitMaterial: {fileID: 0}
m_InitColor: {r: 1, g: 1, b: 1, a: 1}
m_InitTexture: {fileID: 0}
m_UpdateMode: 1
m_InitializationMode: 2
m_UpdateZoneSpace: 0
m_CurrentUpdateZoneSpace: 0
m_UpdateZones: []
m_UpdatePeriod: 0
m_ShaderPass: 0
m_CubemapFaceMask: 4294967295
m_DoubleBuffered: 0
m_WrapUpdateZones: 0
--- !u!1 &212868448
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 212868449}
- component: {fileID: 212868450}
m_Layer: 0
m_Name: Wind
m_TagString: Untagged
m_Icon: {fileID: -5442936267250999957, guid: 0000000000000000d000000000000000, type: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &212868449
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 212868448}
m_LocalRotation: {x: -0.071425214, y: -0.5506556, z: 0.047367845, w: -0.83032113}
m_LocalPosition: {x: -16.405674, y: 8.843042, z: -10.360527}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1003792605}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &212868450
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 212868448}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a952ff0a6afde7c4b95d55801086887e, type: 3}
m_Name:
m_EditorClassIdentifier:
Name: Wind
Category: Animation
DefaultSelected: 0
AlignViewToTransform: 1
ObjectsToToggle: []
Description: 'The Shader Wind used in this project is implemented in C# and Shader
Graph.
All the files for the wind are located in Assets/Scripts/BasicWind.
Here
are the details of the implementation.
'
Priority: 0
Sections:
- SectionName: BasicWind.cs
SectionContent: 'This scipt inherits from the class VolumeComponent.
It
defines the settings that will be available in Volumes for tweaking the wind.
The
volume system will interpolate these settings depending on the camera or player
position and send the resulting values to the BasicWindData.cs script'
Actions:
- Description: Select Wind Zone
Target: {fileID: 1275997076444014}
- Description: Select script
Target: {fileID: 11500000, guid: 3f842e16ed7751249bda2c95e30dd67c, type: 3}
- SectionName: BasicWindData.cs
SectionContent: 'This script gets automatically added to a Wind Zone gameobject
when it''s selected in the editor.
It will gather the wind settings
from the Volume system and set some Global Shader Variables accordingly on
the Update.'
Actions:
- Description: Select script
Target: {fileID: 11500000, guid: ac5bf3fad4433154bb6dc9ce66d6accc, type: 3}
- SectionName: BasicWind_PlayerRepulsion.cs
SectionContent: "This script can be added to your character controller if you
want to set Global Shader Variables for the character's position and radius.
\nThese values can then be used to simulate interaction between the player
and scene objects in the Shader."
Actions:
- Description: Select script
Target: {fileID: 11500000, guid: ad8473dd79162b84ba2db941e6113798, type: 3}
--- !u!114 &490602758
--- !u!114 &153483933
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}

rectLightShadow:
m_OverrideState: 0
m_Value: 0
--- !u!1 &212868448
GameObject:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
serializedVersion: 6
m_Component:
- component: {fileID: 212868449}
- component: {fileID: 212868450}
m_Layer: 0
m_Name: Wind
m_TagString: Untagged
m_Icon: {fileID: -5442936267250999957, guid: 0000000000000000d000000000000000, type: 0}
m_NavMeshLayer: 0
m_StaticEditorFlags: 0
m_IsActive: 1
--- !u!4 &212868449
Transform:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 212868448}
m_LocalRotation: {x: -0.071425214, y: -0.5506556, z: 0.047367845, w: -0.83032113}
m_LocalPosition: {x: -16.405674, y: 8.843042, z: -10.360527}
m_LocalScale: {x: 1, y: 1, z: 1}
m_Children: []
m_Father: {fileID: 1003792605}
m_RootOrder: 1
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!114 &212868450
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 212868448}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: a952ff0a6afde7c4b95d55801086887e, type: 3}
m_Name:
m_EditorClassIdentifier:
Name: Wind
Category: Animation
DefaultSelected: 0
AlignViewToTransform: 1
ObjectsToToggle: []
Description: 'The Shader Wind used in this project is implemented in C# and Shader
Graph.
All the files for the wind are located in Assets/Scripts/BasicWind.
Here
are the details of the implementation.
'
Priority: 0
Sections:
- SectionName: BasicWind.cs
SectionContent: 'This scipt inherits from the class VolumeComponent.
It
defines the settings that will be available in Volumes for tweaking the wind.
The
volume system will interpolate these settings depending on the camera or player
position and send the resulting values to the BasicWindData.cs script'
Actions:
- Description: Select Wind Zone
Target: {fileID: 1275997076444014}
- Description: Select script
Target: {fileID: 11500000, guid: 3f842e16ed7751249bda2c95e30dd67c, type: 3}
- SectionName: BasicWindData.cs
SectionContent: 'This script gets automatically added to a Wind Zone gameobject
when it''s selected in the editor.
It will gather the wind settings
from the Volume system and set some Global Shader Variables accordingly on
the Update.'
Actions:
- Description: Select script
Target: {fileID: 11500000, guid: ac5bf3fad4433154bb6dc9ce66d6accc, type: 3}
- SectionName: BasicWind_PlayerRepulsion.cs
SectionContent: "This script can be added to your character controller if you
want to set Global Shader Variables for the character's position and radius.
\nThese values can then be used to simulate interaction between the player
and scene objects in the Shader."
Actions:
- Description: Select script
Target: {fileID: 11500000, guid: ad8473dd79162b84ba2db941e6113798, type: 3}
--- !u!1 &496188744
GameObject:
m_ObjectHideFlags: 0

m_Father: {fileID: 867483365}
m_RootOrder: 0
m_LocalEulerAnglesHint: {x: 17.384, y: 191.46399, z: -3.765}
--- !u!43 &627940058
Mesh:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: LensFlare (Flare01 (1))
serializedVersion: 10
m_SubMeshes:
- serializedVersion: 2
firstByte: 0
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 0
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 12
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 4
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 24
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 8
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 36
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 12
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 48
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 16
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 60
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 20
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 72
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 24
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
m_Shapes:
vertices: []
shapes: []
channels: []
fullWeights: []
m_BindPose: []
m_BoneNameHashes:
m_RootBoneNameHash: 0
m_BonesAABB: []
m_VariableBoneCountWeights:
m_Data:
m_MeshCompression: 0
m_IsReadable: 1
m_KeepVertices: 1
m_KeepIndices: 1
m_IndexFormat: 0
m_IndexBuffer: 000001000200020003000000040005000600060007000400080009000a000a000b0008000c000d000e000e000f000c00100011001200120013001000140015001600160017001400180019001a001a001b001800
m_VertexData:
serializedVersion: 3
m_VertexCount: 28
m_Channels:
- stream: 0
offset: 0
format: 0
dimension: 3
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 12
format: 0
dimension: 4
- stream: 0
offset: 28
format: 0
dimension: 2
- stream: 0
offset: 36
format: 0
dimension: 4
- stream: 0
offset: 52
format: 0
dimension: 4
- stream: 0
offset: 68
format: 0
dimension: 4
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
m_DataSize: 2352
_typelessdata: 000080bf000080bf000000009998983e9998183ea1a0a03d00000000000000000000803f00000000000000000000003f0000003f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf000000009998983e9998183ea1a0a03d000000000000803f0000803f00000000000000000000003f0000003f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f000000009998983e9998183ea1a0a03d000000000000803f0000000000000000000000000000003f0000003f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f000000009998983e9998183ea1a0a03d00000000000000000000000000000000000000000000003f0000003f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf00000000e6b7ed3e1bcda73e39cf203e00000000000000000000803f0000000000000000000020400000004035f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf00000000e6b7ed3e1bcda73e39cf203e000000000000803f0000803f0000000000000000000020400000004035f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f00000000e6b7ed3e1bcda73e39cf203e000000000000803f000000000000000000000000000020400000004035f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f00000000e6b7ed3e1bcda73e39cf203e0000000000000000000000000000000000000000000020400000004035f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf000000000ad7a33c0ad7233b0ad7233b00000000000000000000803fcdcc4c3f00003442cdcc4c3ecdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf000000000ad7a33c0ad7233b0ad7233b000000000000803f0000803fcdcc4c3f00003442cdcc4c3ecdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f000000000ad7a33c0ad7233b0ad7233b000000000000803f00000000cdcc4c3f00003442cdcc4c3ecdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f000000000ad7a33c0ad7233b0ad7233b000000000000000000000000cdcc4c3f00003442cdcc4c3ecdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf0000000024bc5f3c1bcd273d24bc5f3c00000000000000000000803f0000803f00003442cdcccc3dcdcccc3d35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf0000000024bc5f3c1bcd273d24bc5f3c000000000000803f0000803f0000803f00003442cdcccc3dcdcccc3d35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f0000000024bc5f3c1bcd273d24bc5f3c000000000000803f000000000000803f00003442cdcccc3dcdcccc3d35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f0000000024bc5f3c1bcd273d24bc5f3c0000000000000000000000000000803f00003442cdcccc3dcdcccc3d35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf000000002a9c933d3483b83d2a9c133c00000000000000000000803f6666e63f000080bf0000803f0000803f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf000000002a9c933d3483b83d2a9c133c000000000000803f0000803f6666e63f000080bf0000803f0000803f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f000000002a9c933d3483b83d2a9c133c000000000000803f000000006666e63f000080bf0000803f0000803f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f000000002a9c933d3483b83d2a9c133c0000000000000000000000006666e63f000080bf0000803f0000803f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf00000000793fd93e4c5d943d19c13e3d00000000000000000000803f00000040000080bf9a99993f9a99993f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf00000000793fd93e4c5d943d19c13e3d000000000000803f0000803f00000040000080bf9a99993f9a99993f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f00000000793fd93e4c5d943d19c13e3d000000000000803f0000000000000040000080bf9a99993f9a99993f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f00000000793fd93e4c5d943d19c13e3d00000000000000000000000000000040000080bf9a99993f9a99993f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf00000000f1f0f03dc1c0c03c8180003c00000000000000000000803f000000000000000000009040cdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf00000000f1f0f03dc1c0c03c8180003c000000000000803f0000803f000000000000000000009040cdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f00000000f1f0f03dc1c0c03c8180003c000000000000803f00000000000000000000000000009040cdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f00000000f1f0f03dc1c0c03c8180003c000000000000000000000000000000000000000000009040cdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45
m_CompressedMesh:
m_Vertices:
m_NumItems: 0
m_Range: 0
m_Start: 0
m_Data:
m_BitSize: 0
m_UV:
m_NumItems: 0
m_Range: 0
m_Start: 0
m_Data:
m_BitSize: 0
m_Normals:
m_NumItems: 0
m_Range: 0
m_Start: 0
m_Data:
m_BitSize: 0
m_Tangents:
m_NumItems: 0
m_Range: 0
m_Start: 0
m_Data:
m_BitSize: 0
m_Weights:
m_NumItems: 0
m_Data:
m_BitSize: 0
m_NormalSigns:
m_NumItems: 0
m_Data:
m_BitSize: 0
m_TangentSigns:
m_NumItems: 0
m_Data:
m_BitSize: 0
m_FloatColors:
m_NumItems: 0
m_Range: 0
m_Start: 0
m_Data:
m_BitSize: 0
m_BoneIndices:
m_NumItems: 0
m_Data:
m_BitSize: 0
m_Triangles:
m_NumItems: 0
m_Data:
m_BitSize: 0
m_UVInfo: 0
m_LocalAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 12, y: 12, z: 12}
m_MeshUsageFlags: 0
m_BakedConvexCollisionMesh:
m_BakedTriangleCollisionMesh:
m_MeshMetrics[0]: 1
m_MeshMetrics[1]: 1
m_MeshOptimizationFlags: 1
m_StreamData:
offset: 0
size: 0
path:
--- !u!1 &762729547
GameObject:
m_ObjectHideFlags: 0

e32: 0
e33: 1
m_UseCullingMatrixOverride: 0
m_Cookie: {fileID: 106876505}
m_Cookie: {fileID: 2041828021}
m_DrawHalo: 0
m_Flare: {fileID: 0}
m_RenderMode: 0

m_Father: {fileID: 0}
m_RootOrder: 3
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!21 &969547741
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: CustomRenderTexture/Scrolling_2layers
m_Shader: {fileID: 4800000, guid: e11971c35d6ca404b91aa52ef763e5eb, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _Tex:
m_Texture: {fileID: 2800000, guid: 21efd174e67a1a8408fda6e0d637f109, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Tex2:
m_Texture: {fileID: 2800000, guid: 21efd174e67a1a8408fda6e0d637f109, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats: []
m_Colors:
- _Speed: {r: 0.15, g: 0.02, b: 0.3, a: 0.02}
--- !u!1 &1003792604
GameObject:
m_ObjectHideFlags: 0

- component: {fileID: 1016416913}
- component: {fileID: 1016416912}
- component: {fileID: 1016416911}
- component: {fileID: 1016416914}
m_Layer: 1
m_Name: Flare01 (1)
m_TagString: Untagged

m_MeshRenderer: {fileID: 1016416912}
m_MeshFilter: {fileID: 1016416913}
m_Light: {fileID: 0}
m_CustomDepthBufferId: trees
OcclusionRadius: 12
NearFadeStartDistance: 1
NearFadeEndDistance: 3

m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 1016416909}
m_Mesh: {fileID: 1183922371}
--- !u!43 &1183922371
Mesh:
m_Mesh: {fileID: 627940058}
--- !u!114 &1016416914
MonoBehaviour:
m_Name: LensFlare (Flare01 (1))
serializedVersion: 10
m_SubMeshes:
- serializedVersion: 2
firstByte: 0
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 0
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 12
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 4
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 24
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 8
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 36
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 12
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 48
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 16
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 60
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 20
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
- serializedVersion: 2
firstByte: 72
indexCount: 6
topology: 0
baseVertex: 0
firstVertex: 24
vertexCount: 4
localAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 1, y: 1, z: 0}
m_Shapes:
vertices: []
shapes: []
channels: []
fullWeights: []
m_BindPose: []
m_BoneNameHashes:
m_RootBoneNameHash: 0
m_BonesAABB: []
m_VariableBoneCountWeights:
m_Data:
m_MeshCompression: 0
m_IsReadable: 1
m_KeepVertices: 1
m_KeepIndices: 1
m_IndexFormat: 0
m_IndexBuffer: 000001000200020003000000040005000600060007000400080009000a000a000b0008000c000d000e000e000f000c00100011001200120013001000140015001600160017001400180019001a001a001b001800
m_VertexData:
serializedVersion: 3
m_VertexCount: 28
m_Channels:
- stream: 0
offset: 0
format: 0
dimension: 3
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 12
format: 0
dimension: 4
- stream: 0
offset: 28
format: 0
dimension: 2
- stream: 0
offset: 36
format: 0
dimension: 4
- stream: 0
offset: 52
format: 0
dimension: 4
- stream: 0
offset: 68
format: 0
dimension: 4
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
- stream: 0
offset: 0
format: 0
dimension: 0
m_DataSize: 2352
_typelessdata: 000080bf000080bf000000009998983e9998183ea1a0a03d00000000000000000000803f00000000000000000000003f0000003f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf000000009998983e9998183ea1a0a03d000000000000803f0000803f00000000000000000000003f0000003f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f000000009998983e9998183ea1a0a03d000000000000803f0000000000000000000000000000003f0000003f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f000000009998983e9998183ea1a0a03d00000000000000000000000000000000000000000000003f0000003f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf00000000e6b7ed3e1bcda73e39cf203e00000000000000000000803f0000000000000000000020400000004035f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf00000000e6b7ed3e1bcda73e39cf203e000000000000803f0000803f0000000000000000000020400000004035f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f00000000e6b7ed3e1bcda73e39cf203e000000000000803f000000000000000000000000000020400000004035f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f00000000e6b7ed3e1bcda73e39cf203e0000000000000000000000000000000000000000000020400000004035f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf000000000ad7a33c0ad7233b0ad7233b00000000000000000000803fcdcc4c3f00003442cdcc4c3ecdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf000000000ad7a33c0ad7233b0ad7233b000000000000803f0000803fcdcc4c3f00003442cdcc4c3ecdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f000000000ad7a33c0ad7233b0ad7233b000000000000803f00000000cdcc4c3f00003442cdcc4c3ecdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f000000000ad7a33c0ad7233b0ad7233b000000000000000000000000cdcc4c3f00003442cdcc4c3ecdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf0000000024bc5f3c1bcd273d24bc5f3c00000000000000000000803f0000803f00003442cdcccc3dcdcccc3d35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf0000000024bc5f3c1bcd273d24bc5f3c000000000000803f0000803f0000803f00003442cdcccc3dcdcccc3d35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f0000000024bc5f3c1bcd273d24bc5f3c000000000000803f000000000000803f00003442cdcccc3dcdcccc3d35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f0000000024bc5f3c1bcd273d24bc5f3c0000000000000000000000000000803f00003442cdcccc3dcdcccc3d35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf000000002a9c933d3483b83d2a9c133c00000000000000000000803f6666e63f000080bf0000803f0000803f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf000000002a9c933d3483b83d2a9c133c000000000000803f0000803f6666e63f000080bf0000803f0000803f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f000000002a9c933d3483b83d2a9c133c000000000000803f000000006666e63f000080bf0000803f0000803f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f000000002a9c933d3483b83d2a9c133c0000000000000000000000006666e63f000080bf0000803f0000803f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf00000000793fd93e4c5d943d19c13e3d00000000000000000000803f00000040000080bf9a99993f9a99993f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf00000000793fd93e4c5d943d19c13e3d000000000000803f0000803f00000040000080bf9a99993f9a99993f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f00000000793fd93e4c5d943d19c13e3d000000000000803f0000000000000040000080bf9a99993f9a99993f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f00000000793fd93e4c5d943d19c13e3d00000000000000000000000000000040000080bf9a99993f9a99993f35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf000080bf00000000f1f0f03dc1c0c03c8180003c00000000000000000000803f000000000000000000009040cdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f000080bf00000000f1f0f03dc1c0c03c8180003c000000000000803f0000803f000000000000000000009040cdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c450000803f0000803f00000000f1f0f03dc1c0c03c8180003c000000000000803f00000000000000000000000000009040cdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45000080bf0000803f00000000f1f0f03dc1c0c03c8180003c000000000000000000000000000000000000000000009040cdcc4c3e35f2dd4251441a437a77f043000040410000803f0000404000401c4500501c45
m_CompressedMesh:
m_Vertices:
m_NumItems: 0
m_Range: 0
m_Start: 0
m_Data:
m_BitSize: 0
m_UV:
m_NumItems: 0
m_Range: 0
m_Start: 0
m_Data:
m_BitSize: 0
m_Normals:
m_NumItems: 0
m_Range: 0
m_Start: 0
m_Data:
m_BitSize: 0
m_Tangents:
m_NumItems: 0
m_Range: 0
m_Start: 0
m_Data:
m_BitSize: 0
m_Weights:
m_NumItems: 0
m_Data:
m_BitSize: 0
m_NormalSigns:
m_NumItems: 0
m_Data:
m_BitSize: 0
m_TangentSigns:
m_NumItems: 0
m_Data:
m_BitSize: 0
m_FloatColors:
m_NumItems: 0
m_Range: 0
m_Start: 0
m_Data:
m_BitSize: 0
m_BoneIndices:
m_NumItems: 0
m_Data:
m_BitSize: 0
m_Triangles:
m_NumItems: 0
m_Data:
m_BitSize: 0
m_UVInfo: 0
m_LocalAABB:
m_Center: {x: 0, y: 0, z: 0}
m_Extent: {x: 12, y: 12, z: 12}
m_MeshUsageFlags: 0
m_BakedConvexCollisionMesh:
m_BakedTriangleCollisionMesh:
m_MeshMetrics[0]: 1
m_MeshMetrics[1]: 1
m_MeshOptimizationFlags: 1
m_StreamData:
offset: 0
size: 0
path:
m_GameObject: {fileID: 1016416909}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 1ba09fa32302bfc40a0198ce8bbb3483, type: 3}
m_Name:
m_EditorClassIdentifier:
m_Tag: OccludeLensFlare
m_OccludingMeshes:
- {fileID: 4300014, guid: f6af8597a6e84cd47bb8e271dd1c7a9b, type: 3}
- {fileID: 4300016, guid: f6af8597a6e84cd47bb8e271dd1c7a9b, type: 3}
- {fileID: 4300016, guid: 1746248796c0ff446a61796bf4eedb73, type: 3}
- {fileID: 4300014, guid: 1746248796c0ff446a61796bf4eedb73, type: 3}
- {fileID: 4300014, guid: 178755e9b01eb604f9dfe04c3eed2f95, type: 3}
- {fileID: 4300016, guid: 178755e9b01eb604f9dfe04c3eed2f95, type: 3}
- {fileID: 4300012, guid: 9dcb662974bf65f46ac5d099aeb11c58, type: 3}
- {fileID: 4300050, guid: cd0c9b3e4cdc5834289b0e62821d0f17, type: 3}
m_RenderTargetSize: {x: 512, y: 512}
m_ShowDebugUI: 1
--- !u!1 &1310773822
GameObject:
m_ObjectHideFlags: 0

m_EditorClassIdentifier:
m_Profile: {fileID: 11400000, guid: 466752a7a2452cc4a9ec9be5d67c83b0, type: 2}
m_StaticLightingSkyUniqueID: 1
m_SkySettings: {fileID: 490602758}
m_SkySettings: {fileID: 153483933}
--- !u!21 &1396564832
Material:
serializedVersion: 6
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name: CustomRenderTexture/Scrolling_2layers
m_Shader: {fileID: 4800000, guid: e11971c35d6ca404b91aa52ef763e5eb, type: 3}
m_ShaderKeywords:
m_LightmapFlags: 4
m_EnableInstancingVariants: 0
m_DoubleSidedGI: 0
m_CustomRenderQueue: -1
stringTagMap: {}
disabledShaderPasses: []
m_SavedProperties:
serializedVersion: 3
m_TexEnvs:
- _Tex:
m_Texture: {fileID: 2800000, guid: 21efd174e67a1a8408fda6e0d637f109, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
- _Tex2:
m_Texture: {fileID: 2800000, guid: 21efd174e67a1a8408fda6e0d637f109, type: 3}
m_Scale: {x: 1, y: 1}
m_Offset: {x: 0, y: 0}
m_Floats: []
m_Colors:
- _Speed: {r: 0.15, g: 0.02, b: 0.3, a: 0.02}
--- !u!1 &1459424988
GameObject:
m_ObjectHideFlags: 0

m_Father: {fileID: 0}
m_RootOrder: 6
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
--- !u!86 &2041828021
CustomRenderTexture:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_Name:
m_ImageContentsHash:
serializedVersion: 2
Hash: 00000000000000000000000000000000
m_ForcedFallbackFormat: 4
m_DownscaleFallback: 0
serializedVersion: 3
m_Width: 256
m_Height: 256
m_AntiAliasing: 1
m_MipCount: -1
m_DepthFormat: 0
m_ColorFormat: 4
m_MipMap: 1
m_GenerateMips: 1
m_SRGB: 1
m_UseDynamicScale: 0
m_BindMS: 0
m_EnableCompatibleFormat: 1
m_TextureSettings:
serializedVersion: 2
m_FilterMode: 1
m_Aniso: 1
m_MipBias: 0
m_WrapU: 0
m_WrapV: 0
m_WrapW: 0
m_Dimension: 2
m_VolumeDepth: 1
m_Material: {fileID: 1396564832}
m_InitSource: 0
m_InitMaterial: {fileID: 0}
m_InitColor: {r: 1, g: 1, b: 1, a: 1}
m_InitTexture: {fileID: 0}
m_UpdateMode: 1
m_InitializationMode: 2
m_UpdateZoneSpace: 0
m_CurrentUpdateZoneSpace: 0
m_UpdateZones: []
m_UpdatePeriod: 0
m_ShaderPass: 0
m_CubemapFaceMask: 4294967295
m_DoubleBuffered: 0
m_WrapUpdateZones: 0
--- !u!1001 &2048262197
PrefabInstance:
m_ObjectHideFlags: 0

701
Assets/Scenes/Demo/Settings/HDRenderPipelineAsset Demo.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cf1dab834d4ec34195b920ea7bbf9ec, type: 3}
m_Name: HDRenderPipelineAsset Demo
m_EditorClassIdentifier:
m_Version: 11
m_ObsoleteFrameSettings:
overrides: 0
enableShadow: 0
enableContactShadows: 0
enableShadowMask: 0
enableSSR: 0
enableSSAO: 0
enableSubsurfaceScattering: 0
enableTransmission: 0
enableAtmosphericScattering: 0
enableVolumetrics: 0
enableReprojectionForVolumetrics: 0
enableLightLayers: 0
enableExposureControl: 1
diffuseGlobalDimmer: 0
specularGlobalDimmer: 0
shaderLitMode: 0
enableDepthPrepassWithDeferredRendering: 0
enableTransparentPrepass: 0
enableMotionVectors: 0
enableObjectMotionVectors: 0
enableDecals: 0
enableRoughRefraction: 0
enableTransparentPostpass: 0
enableDistortion: 0
enablePostprocess: 0
enableOpaqueObjects: 0
enableTransparentObjects: 0
enableRealtimePlanarReflection: 0
enableMSAA: 0
enableAsyncCompute: 0
runLightListAsync: 0
runSSRAsync: 0
runSSAOAsync: 0
runContactShadowsAsync: 0
runVolumeVoxelizationAsync: 0
lightLoopSettings:
overrides: 0
enableDeferredTileAndCluster: 0
enableComputeLightEvaluation: 0
enableComputeLightVariants: 0
enableComputeMaterialVariants: 0
enableFptlForForwardOpaque: 0
enableBigTilePrepass: 0
isFptlEnabled: 0
m_ObsoleteBakedOrCustomReflectionFrameSettings:
overrides: 0
enableShadow: 0
enableContactShadows: 0
enableShadowMask: 0
enableSSR: 0
enableSSAO: 0
enableSubsurfaceScattering: 0
enableTransmission: 0
enableAtmosphericScattering: 0
enableVolumetrics: 0
enableReprojectionForVolumetrics: 0
enableLightLayers: 0
enableExposureControl: 1
diffuseGlobalDimmer: 0
specularGlobalDimmer: 0
shaderLitMode: 0
enableDepthPrepassWithDeferredRendering: 0
enableTransparentPrepass: 0
enableMotionVectors: 0
enableObjectMotionVectors: 0
enableDecals: 0
enableRoughRefraction: 0
enableTransparentPostpass: 0
enableDistortion: 0
enablePostprocess: 0
enableOpaqueObjects: 0
enableTransparentObjects: 0
enableRealtimePlanarReflection: 0
enableMSAA: 0
enableAsyncCompute: 0
runLightListAsync: 0
runSSRAsync: 0
runSSAOAsync: 0
runContactShadowsAsync: 0
runVolumeVoxelizationAsync: 0
lightLoopSettings:
overrides: 0
enableDeferredTileAndCluster: 0
enableComputeLightEvaluation: 0
enableComputeLightVariants: 0
enableComputeMaterialVariants: 0
enableFptlForForwardOpaque: 0
enableBigTilePrepass: 0
isFptlEnabled: 0
m_ObsoleteRealtimeReflectionFrameSettings:
overrides: 0
enableShadow: 0
enableContactShadows: 0
enableShadowMask: 0
enableSSR: 0
enableSSAO: 0
enableSubsurfaceScattering: 0
enableTransmission: 0
enableAtmosphericScattering: 0
enableVolumetrics: 0
enableReprojectionForVolumetrics: 0
enableLightLayers: 0
enableExposureControl: 1
diffuseGlobalDimmer: 0
specularGlobalDimmer: 0
shaderLitMode: 0
enableDepthPrepassWithDeferredRendering: 0
enableTransparentPrepass: 0
enableMotionVectors: 0
enableObjectMotionVectors: 0
enableDecals: 0
enableRoughRefraction: 0
enableTransparentPostpass: 0
enableDistortion: 0
enablePostprocess: 0
enableOpaqueObjects: 0
enableTransparentObjects: 0
enableRealtimePlanarReflection: 0
enableMSAA: 0
enableAsyncCompute: 0
runLightListAsync: 0
runSSRAsync: 0
runSSAOAsync: 0
runContactShadowsAsync: 0
runVolumeVoxelizationAsync: 0
lightLoopSettings:
overrides: 0
enableDeferredTileAndCluster: 0
enableComputeLightEvaluation: 0
enableComputeLightVariants: 0
enableComputeMaterialVariants: 0
enableFptlForForwardOpaque: 0
enableBigTilePrepass: 0
isFptlEnabled: 0
m_RenderPipelineResources: {fileID: 11400000, guid: 3ce144cff5783da45aa5d4fdc2da14b7,
type: 2}
m_RenderPipelineRayTracingResources: {fileID: 0}
m_DefaultVolumeProfile: {fileID: 11400000, guid: e974ed4225c49d4418df0209aeb12608,
type: 2}
m_RenderingPathDefaultCameraFrameSettings:
bitDatas:
data1: 70280693153631
data2: 4539628424926265344
lodBias: 1
lodBiasMode: 0
lodBiasQualityLevel: 0
maximumLODLevel: 0
maximumLODLevelMode: 0
maximumLODLevelQualityLevel: 0
materialQuality: 0
m_RenderingPathDefaultBakedOrCustomReflectionFrameSettings:
bitDatas:
data1: 69340088336157
data2: 4539628424389459968
lodBias: 1
lodBiasMode: 0
lodBiasQualityLevel: 0
maximumLODLevel: 0
maximumLODLevelMode: 0
maximumLODLevelQualityLevel: 0
materialQuality: 0
m_RenderingPathDefaultRealtimeReflectionFrameSettings:
bitDatas:
data1: 69751545004037
data2: 4539628424389459968
lodBias: 2
lodBiasMode: 1
lodBiasQualityLevel: 0
maximumLODLevel: 1
maximumLODLevelMode: 2
maximumLODLevelQualityLevel: 0
materialQuality: 0
m_RenderPipelineSettings:
supportShadowMask: 0
supportSSR: 1
supportSSAO: 1
supportSubsurfaceScattering: 1
increaseSssSampleCount: 0
supportVolumetrics: 1
increaseResolutionOfVolumetrics: 0
supportLightLayers: 0
lightLayerName0: Light Layer default
lightLayerName1: Light Layer 1
lightLayerName2: Light Layer 2
lightLayerName3: Light Layer 3
lightLayerName4: Light Layer 4
lightLayerName5: Light Layer 5
lightLayerName6: Light Layer 6
lightLayerName7: Light Layer 7
supportDistortion: 1
supportTransparentBackface: 1
supportTransparentDepthPrepass: 1
supportTransparentDepthPostpass: 1
colorBufferFormat: 74
supportCustomPass: 1
customBufferFormat: 12
supportedLitShaderMode: 2
supportDecals: 1
msaaSampleCount: 1
supportMotionVectors: 1
supportRuntimeDebugDisplay: 1
supportDitheringCrossFade: 1
supportTerrainHole: 0
supportRayTracing: 0
supportedRaytracingTier: 2
lightLoopSettings:
cookieSize: 128
cookieTexArraySize: 8
pointCookieSize: 512
cubeCookieTexArraySize: 8
planarReflectionProbeCacheSize: 1
planarReflectionTextureSize: 1024
reflectionProbeCacheSize: 32
reflectionCubemapSize: 128
reflectionCacheCompressed: 0
planarReflectionCacheCompressed: 0
skyReflectionSize: 256
skyLightingOverrideLayerMask:
serializedVersion: 2
m_Bits: 0
supportFabricConvolution: 0
maxDirectionalLightsOnScreen: 16
maxPunctualLightsOnScreen: 512
maxAreaLightsOnScreen: 64
maxEnvLightsOnScreen: 64
maxDecalsOnScreen: 512
hdShadowInitParams:
maxShadowRequests: 128
directionalShadowsDepthBits: 16
shadowFilteringQuality: 1
punctualLightShadowAtlas:
shadowAtlasResolution: 2048
shadowAtlasDepthBits: 16
useDynamicViewportRescale: 1
areaLightShadowAtlas:
shadowAtlasResolution: 256
shadowAtlasDepthBits: 16
useDynamicViewportRescale: 0
shadowResolutionDirectional:
m_Values: 00010000000200000004000000000000
m_SchemaId:
m_Id: With4Levels
shadowResolutionPunctual:
m_Values: 00010000000200000004000000000000
m_SchemaId:
m_Id: With4Levels
shadowResolutionArea:
m_Values: 00010000000200000004000000000000
m_SchemaId:
m_Id: With4Levels
maxDirectionalShadowMapResolution: 2048
maxPunctualShadowMapResolution: 2048
maxAreaShadowMapResolution: 2048
supportScreenSpaceShadows: 0
maxScreenSpaceShadows: 2
decalSettings:
drawDistance: 50
atlasWidth: 1024
atlasHeight: 1024
perChannelMask: 0
postProcessSettings:
m_LutSize: 32
lutFormat: 48
dynamicResolutionSettings:
enabled: 0
maxPercentage: 100
minPercentage: 100
dynResType: 1
upsampleFilter: 1
forceResolution: 0
forcedPercentage: 100
lowresTransparentSettings:
enabled: 1
checkerboardDepthBuffer: 1
upsampleType: 1
xrSettings:
singlePass: 1
occlusionMesh: 1
postProcessQualitySettings:
NearBlurSampleCount: 030000000500000008000000
NearBlurMaxRadius:
- 2
- 4
- 7
FarBlurSampleCount: 04000000070000000e000000
FarBlurMaxRadius:
- 5
- 8
- 13
DoFResolution: 040000000200000001000000
DoFHighQualityFiltering: 000101
MotionBlurSampleCount: 04000000080000000c000000
BloomRes: 040000000200000002000000
BloomHighQualityFiltering: 000101
ChromaticAberrationMaxSamples: 03000000060000000c000000
lightSettings:
useContactShadow:
m_Values: 000101
m_SchemaId:
m_Id:
maximumLODLevel:
m_Values: 000000000000000000000000
m_SchemaId:
m_Id: With3Levels
lodBias:
m_Values:
- 1
- 1
- 1
m_SchemaId:
m_Id: With3Levels
allowShaderVariantStripping: 1
enableSRPBatcher: 1
shaderVariantLogLevel: 0
materialQualityLevels: -1
m_CurrentMaterialQualityLevel: 4
diffusionProfileSettings: {fileID: 11400000, guid: b1a9e0252669a7c43bd995f46eaf6a73,
type: 2}
diffusionProfileSettingsList:
- {fileID: 11400000, guid: b1a9e0252669a7c43bd995f46eaf6a73, type: 2}
- {fileID: 11400000, guid: 2cdaea5655e62494786464bb3f8d2eee, type: 2}
- {fileID: 11400000, guid: d65a6798fe78b2a4ea3b769c46af8950, type: 2}
- {fileID: 11400000, guid: 5f8622d7971d8e14aaa1f77f53000c15, type: 2}
- {fileID: 11400000, guid: d3de1402c3552004b926d55990bc6b0b, type: 2}
- {fileID: 11400000, guid: f96074d7f33516f4ba7b5876f3405e23, type: 2}
- {fileID: 11400000, guid: 0f36972dc183b6242a7a29206858f51c, type: 2}
- {fileID: 11400000, guid: 69de589e7a4a32c4b9f0cb2b25c09d2a, type: 2}
beforeTransparentCustomPostProcesses: []
beforePostProcessCustomPostProcesses: []
afterPostProcessCustomPostProcesses: []
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!114 &11400000
MonoBehaviour:
m_ObjectHideFlags: 0
m_CorrespondingSourceObject: {fileID: 0}
m_PrefabInstance: {fileID: 0}
m_PrefabAsset: {fileID: 0}
m_GameObject: {fileID: 0}
m_Enabled: 1
m_EditorHideFlags: 0
m_Script: {fileID: 11500000, guid: 0cf1dab834d4ec34195b920ea7bbf9ec, type: 3}
m_Name: HDRenderPipelineAsset Demo
m_EditorClassIdentifier:
m_Version: 11
m_ObsoleteFrameSettings:
overrides: 0
enableShadow: 0
enableContactShadows: 0
enableShadowMask: 0
enableSSR: 0
enableSSAO: 0
enableSubsurfaceScattering: 0
enableTransmission: 0
enableAtmosphericScattering: 0
enableVolumetrics: 0
enableReprojectionForVolumetrics: 0
enableLightLayers: 0
enableExposureControl: 1
diffuseGlobalDimmer: 0
specularGlobalDimmer: 0
shaderLitMode: 0
enableDepthPrepassWithDeferredRendering: 0
enableTransparentPrepass: 0
enableMotionVectors: 0
enableObjectMotionVectors: 0
enableDecals: 0
enableRoughRefraction: 0
enableTransparentPostpass: 0
enableDistortion: 0
enablePostprocess: 0
enableOpaqueObjects: 0
enableTransparentObjects: 0
enableRealtimePlanarReflection: 0
enableMSAA: 0
enableAsyncCompute: 0
runLightListAsync: 0
runSSRAsync: 0
runSSAOAsync: 0
runContactShadowsAsync: 0
runVolumeVoxelizationAsync: 0
lightLoopSettings:
overrides: 0
enableDeferredTileAndCluster: 0
enableComputeLightEvaluation: 0
enableComputeLightVariants: 0
enableComputeMaterialVariants: 0
enableFptlForForwardOpaque: 0
enableBigTilePrepass: 0
isFptlEnabled: 0
m_ObsoleteBakedOrCustomReflectionFrameSettings:
overrides: 0
enableShadow: 0
enableContactShadows: 0
enableShadowMask: 0
enableSSR: 0
enableSSAO: 0
enableSubsurfaceScattering: 0
enableTransmission: 0
enableAtmosphericScattering: 0
enableVolumetrics: 0
enableReprojectionForVolumetrics: 0
enableLightLayers: 0
enableExposureControl: 1
diffuseGlobalDimmer: 0
specularGlobalDimmer: 0
shaderLitMode: 0
enableDepthPrepassWithDeferredRendering: 0
enableTransparentPrepass: 0
enableMotionVectors: 0
enableObjectMotionVectors: 0
enableDecals: 0
enableRoughRefraction: 0
enableTransparentPostpass: 0
enableDistortion: 0
enablePostprocess: 0
enableOpaqueObjects: 0
enableTransparentObjects: 0
enableRealtimePlanarReflection: 0
enableMSAA: 0
enableAsyncCompute: 0
runLightListAsync: 0
runSSRAsync: 0
runSSAOAsync: 0
runContactShadowsAsync: 0
runVolumeVoxelizationAsync: 0
lightLoopSettings:
overrides: 0
enableDeferredTileAndCluster: 0
enableComputeLightEvaluation: 0
enableComputeLightVariants: 0
enableComputeMaterialVariants: 0
enableFptlForForwardOpaque: 0
enableBigTilePrepass: 0
isFptlEnabled: 0
m_ObsoleteRealtimeReflectionFrameSettings:
overrides: 0
enableShadow: 0
enableContactShadows: 0
enableShadowMask: 0
enableSSR: 0
enableSSAO: 0
enableSubsurfaceScattering: 0
enableTransmission: 0
enableAtmosphericScattering: 0
enableVolumetrics: 0
enableReprojectionForVolumetrics: 0
enableLightLayers: 0
enableExposureControl: 1
diffuseGlobalDimmer: 0
specularGlobalDimmer: 0
shaderLitMode: 0
enableDepthPrepassWithDeferredRendering: 0
enableTransparentPrepass: 0
enableMotionVectors: 0
enableObjectMotionVectors: 0
enableDecals: 0
enableRoughRefraction: 0
enableTransparentPostpass: 0
enableDistortion: 0
enablePostprocess: 0
enableOpaqueObjects: 0
enableTransparentObjects: 0
enableRealtimePlanarReflection: 0
enableMSAA: 0
enableAsyncCompute: 0
runLightListAsync: 0
runSSRAsync: 0
runSSAOAsync: 0
runContactShadowsAsync: 0
runVolumeVoxelizationAsync: 0
lightLoopSettings:
overrides: 0
enableDeferredTileAndCluster: 0
enableComputeLightEvaluation: 0
enableComputeLightVariants: 0
enableComputeMaterialVariants: 0
enableFptlForForwardOpaque: 0
enableBigTilePrepass: 0
isFptlEnabled: 0
m_RenderPipelineResources: {fileID: 11400000, guid: 3ce144cff5783da45aa5d4fdc2da14b7,
type: 2}
m_RenderPipelineRayTracingResources: {fileID: 0}
m_DefaultVolumeProfile: {fileID: 11400000, guid: e974ed4225c49d4418df0209aeb12608,
type: 2}
m_DefaultLookDevProfile: {fileID: 0}
m_RenderingPathDefaultCameraFrameSettings:
bitDatas:
data1: 70280693153631
data2: 4539628425463136256
lodBias: 1
lodBiasMode: 0
lodBiasQualityLevel: 0
maximumLODLevel: 0
maximumLODLevelMode: 0
maximumLODLevelQualityLevel: 0
materialQuality: 0
m_RenderingPathDefaultBakedOrCustomReflectionFrameSettings:
bitDatas:
data1: 69340088336157
data2: 4539628424389459968
lodBias: 1
lodBiasMode: 0
lodBiasQualityLevel: 0
maximumLODLevel: 0
maximumLODLevelMode: 0
maximumLODLevelQualityLevel: 0
materialQuality: 0
m_RenderingPathDefaultRealtimeReflectionFrameSettings:
bitDatas:
data1: 69751545004037
data2: 4539628424389459968
lodBias: 2
lodBiasMode: 1
lodBiasQualityLevel: 0
maximumLODLevel: 1
maximumLODLevelMode: 2
maximumLODLevelQualityLevel: 0
materialQuality: 0
m_RenderPipelineSettings:
supportShadowMask: 0
supportSSR: 1
supportSSAO: 1
supportSubsurfaceScattering: 1
increaseSssSampleCount: 0
supportVolumetrics: 1
increaseResolutionOfVolumetrics: 0
supportLightLayers: 0
lightLayerName0: Light Layer default
lightLayerName1: Light Layer 1
lightLayerName2: Light Layer 2
lightLayerName3: Light Layer 3
lightLayerName4: Light Layer 4
lightLayerName5: Light Layer 5
lightLayerName6: Light Layer 6
lightLayerName7: Light Layer 7
supportDistortion: 1
supportTransparentBackface: 1
supportTransparentDepthPrepass: 1
supportTransparentDepthPostpass: 1
colorBufferFormat: 74
supportCustomPass: 1
customBufferFormat: 12
supportedLitShaderMode: 2
supportDecals: 1
msaaSampleCount: 1
supportMotionVectors: 1
supportRuntimeDebugDisplay: 1
supportDitheringCrossFade: 1
supportTerrainHole: 0
supportRayTracing: 0
supportedRaytracingTier: 2
lightLoopSettings:
cookieSize: 128
cookieTexArraySize: 8
pointCookieSize: 512
cubeCookieTexArraySize: 8
planarReflectionProbeCacheSize: 1
planarReflectionTextureSize: 1024
reflectionProbeCacheSize: 32
reflectionCubemapSize: 128
reflectionCacheCompressed: 0
planarReflectionCacheCompressed: 0
skyReflectionSize: 256
skyLightingOverrideLayerMask:
serializedVersion: 2
m_Bits: 0
supportFabricConvolution: 0
maxDirectionalLightsOnScreen: 16
maxPunctualLightsOnScreen: 512
maxAreaLightsOnScreen: 64
maxEnvLightsOnScreen: 64
maxDecalsOnScreen: 512
hdShadowInitParams:
maxShadowRequests: 128
directionalShadowsDepthBits: 16
shadowFilteringQuality: 1
punctualLightShadowAtlas:
shadowAtlasResolution: 2048
shadowAtlasDepthBits: 16
useDynamicViewportRescale: 1
areaLightShadowAtlas:
shadowAtlasResolution: 256
shadowAtlasDepthBits: 16
useDynamicViewportRescale: 0
shadowResolutionDirectional:
m_Values: 00010000000200000004000000000000
m_SchemaId:
m_Id: With4Levels
shadowResolutionPunctual:
m_Values: 00010000000200000004000000000000
m_SchemaId:
m_Id: With4Levels
shadowResolutionArea:
m_Values: 00010000000200000004000000000000
m_SchemaId:
m_Id: With4Levels
maxDirectionalShadowMapResolution: 2048
maxPunctualShadowMapResolution: 2048
maxAreaShadowMapResolution: 2048
supportScreenSpaceShadows: 0
maxScreenSpaceShadows: 2
decalSettings:
drawDistance: 50
atlasWidth: 1024
atlasHeight: 1024
perChannelMask: 0
postProcessSettings:
m_LutSize: 32
lutFormat: 48
dynamicResolutionSettings:
enabled: 0
maxPercentage: 100
minPercentage: 100
dynResType: 1
upsampleFilter: 1
forceResolution: 0
forcedPercentage: 100
lowresTransparentSettings:
enabled: 1
checkerboardDepthBuffer: 1
upsampleType: 1
xrSettings:
singlePass: 1
occlusionMesh: 1
postProcessQualitySettings:
NearBlurSampleCount: 030000000500000008000000
NearBlurMaxRadius:
- 2
- 4
- 7
FarBlurSampleCount: 04000000070000000e000000
FarBlurMaxRadius:
- 5
- 8
- 13
DoFResolution: 040000000200000001000000
DoFHighQualityFiltering: 000101
MotionBlurSampleCount: 04000000080000000c000000
BloomRes: 040000000200000002000000
BloomHighQualityFiltering: 000101
ChromaticAberrationMaxSamples: 03000000060000000c000000
lightSettings:
useContactShadow:
m_Values: 000101
m_SchemaId:
m_Id:
maximumLODLevel:
m_Values: 000000000000000000000000
m_SchemaId:
m_Id: With3Levels
lodBias:
m_Values:
- 1
- 1
- 1
m_SchemaId:
m_Id: With3Levels
lightingQualitySettings:
AOStepCount: 040000000600000010000000
AOFullRes: 000001
AOMaximumRadiusPixels: 200000002800000050000000
AOBilateralUpsample: 000101
AODirectionCount: 010000000200000004000000
ContactShadowSampleCount: 060000000a00000010000000
SSRMaxRaySteps: 100000002000000040000000
allowShaderVariantStripping: 1
enableSRPBatcher: 1
shaderVariantLogLevel: 0
availableMaterialQualityLevels: -1
m_DefaultMaterialQualityLevel: 4
diffusionProfileSettings: {fileID: 11400000, guid: b1a9e0252669a7c43bd995f46eaf6a73,
type: 2}
diffusionProfileSettingsList:
- {fileID: 11400000, guid: b1a9e0252669a7c43bd995f46eaf6a73, type: 2}
- {fileID: 11400000, guid: 2cdaea5655e62494786464bb3f8d2eee, type: 2}
- {fileID: 11400000, guid: d65a6798fe78b2a4ea3b769c46af8950, type: 2}
- {fileID: 11400000, guid: 5f8622d7971d8e14aaa1f77f53000c15, type: 2}
- {fileID: 11400000, guid: d3de1402c3552004b926d55990bc6b0b, type: 2}
- {fileID: 11400000, guid: f96074d7f33516f4ba7b5876f3405e23, type: 2}
- {fileID: 11400000, guid: 0f36972dc183b6242a7a29206858f51c, type: 2}
- {fileID: 11400000, guid: 69de589e7a4a32c4b9f0cb2b25c09d2a, type: 2}
beforeTransparentCustomPostProcesses: []
beforePostProcessCustomPostProcesses: []
afterPostProcessCustomPostProcesses: []

25
Assets/Scripts/LensFlare/HDRPLensFlare.cs


[ExecuteInEditMode]
[RequireComponent(typeof(MeshRenderer))]
[RequireComponent(typeof(MeshFilter))]
[RequireComponent(typeof(CustomDepthBuffer))]
public class HDRPLensFlare : MonoBehaviour
{
[SerializeField, HideInInspector]

[SerializeField]
Light m_Light;
[SerializeField]
string m_CustomDepthBufferId;
CustomDepthBuffer.Handle m_CustomDepthBufferHandle;
CustomDepthBuffer m_CustomDepthBuffer;
[Header("Global Settings")]
public float OcclusionRadius = 1.0f;

m_MeshFilter = GetComponent<MeshFilter>();
if (m_MeshRenderer == null)
m_MeshRenderer = GetComponent<MeshRenderer>();
if (m_CustomDepthBuffer == null)
m_CustomDepthBuffer = GetComponent<CustomDepthBuffer>();
m_Light = GetComponent<Light>();

void OnEnable()
{
UpdateGeometry();
m_CustomDepthBufferHandle = CustomDepthBuffer.GetHandle(m_CustomDepthBufferId);
}
void OnDisable()
{
m_CustomDepthBufferHandle.Release();
}
// Use this for initialization
void Start ()
{
m_Light = GetComponent<Light>();
}
void OnValidate()

{
// Lazy!
UpdateVaryingAttributes();
var depthBuffer = m_CustomDepthBufferHandle.target;
var depthBufferZParams = m_CustomDepthBufferHandle.zBufferParams;
var depthBuffer = m_CustomDepthBuffer.target;
var depthBufferZParams = m_CustomDepthBuffer.zBufferParams;
if (depthBuffer != null)
{
foreach (var mat in m_MeshRenderer.materials)

9
ProjectSettings/ProjectSettings.asset


useOnDemandResources: 0
accelerometerFrequency: 60
companyName: Unity Paris
productName: Fontainebleau Photogrammetry Demo
productName: Fontainebleau
defaultCursor: {fileID: 0}
cursorHotspot: {x: 0, y: 0}
m_SplashScreenBackgroundColor: {r: 0.13725491, g: 0.12156863, b: 0.1254902, a: 1}

StripUnusedMeshComponents: 0
VertexChannelCompressionMask: 214
iPhoneSdkVersion: 988
iOSTargetOSVersionString: 10.0
iOSTargetOSVersionString: 11.0
tvOSTargetOSVersionString: 10.0
tvOSTargetOSVersionString: 11.0
uIPrerenderedIcon: 0
uIRequiresPersistentWiFi: 0
uIRequiresFullScreen: 1

switchRatingsInt_9: 0
switchRatingsInt_10: 0
switchRatingsInt_11: 0
switchRatingsInt_12: 0
switchLocalCommunicationIds_0: 0x0005000C10000001
switchLocalCommunicationIds_1:
switchLocalCommunicationIds_2:

webGLCompressionFormat: 1
webGLLinkerTarget: 0
webGLThreadsSupport: 0
webGLWasmStreaming: 0
webGLDecompressionFallback: 0
scriptingDefineSymbols:
1: CROSS_PLATFORM_INPUT
2: CROSS_PLATFORM_INPUT

93
ProjectSettings/TagManager.asset


%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!78 &1
TagManager:
serializedVersion: 2
tags:
- IgnoreVR
- MainExposure
- Sunlight
layers:
- Default
- TransparentFX
- Ignore Raycast
-
- Water
- UI
-
-
- InvisibleInGame
- Ground
- PostProcessing
- PlayerCollisions
- PlayerAttachments
- NoReflection
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
m_SortingLayers:
- name: Default
uniqueID: 0
locked: 0
%YAML 1.1
%TAG !u! tag:unity3d.com,2011:
--- !u!78 &1
TagManager:
serializedVersion: 2
tags:
- IgnoreVR
- MainExposure
- Sunlight
- OccludeLensFlare
layers:
- Default
- TransparentFX
- Ignore Raycast
-
- Water
- UI
-
-
- InvisibleInGame
- Ground
- PostProcessing
- PlayerCollisions
- PlayerAttachments
- NoReflection
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
-
m_SortingLayers:
- name: Default
uniqueID: 0
locked: 0

2
ProjectSettings/UnityConnectSettings.asset


UnityConnectSettings:
m_ObjectHideFlags: 0
serializedVersion: 1
m_Enabled: 0
m_Enabled: 1
m_TestMode: 0
m_EventOldUrl: https://api.uca.cloud.unity3d.com/v1/events
m_EventUrl: https://cdp.cloud.unity3d.com/v1/events

199
Assets/ClusterDisplay/Scripts/OcclusionRenderer.cs


using System;
using System.Collections.Generic;
using System.Security.AccessControl;
using System.Text.RegularExpressions;
using UnityEngine;
using UnityEngine.Rendering;
[ExecuteInEditMode]
public class OcclusionRenderer : MonoBehaviour
{
[SerializeField]
Transform[] m_OccludingRoots;
[SerializeField]
Mesh[] m_OccludingMeshes;
[SerializeField]
Vector2Int m_RenderTargetSize;
Material m_Material;
[SerializeField]
bool m_ShowDebugUI;
RenderTexture m_ColorBuffer;
RenderTexture m_DepthBuffer;
CommandBuffer m_CmdBuffer;
struct InstancedDrawArgs
{
public Mesh mesh;
public List<Matrix4x4> transforms; // TODO use arrays if we use CommandBuffer
}
List<InstancedDrawArgs> m_RenderingData = new List<InstancedDrawArgs>();
class InstancingDataGenerationVisitor
{
Dictionary<int, Mesh> m_Meshes = new Dictionary<int, Mesh>();
Dictionary<int, List<Matrix4x4>> m_Transforms = new Dictionary<int, List<Matrix4x4>>();
HashSet<int> m_Filter = new HashSet<int>();
public void Reset()
{
m_Meshes.Clear();
m_Transforms.Clear();
}
public void SetAllowedMeshes(Mesh[] meshes)
{
m_Filter.Clear();
foreach (var mesh in meshes)
m_Filter.Add(mesh.GetInstanceID());
}
public void Visit(Transform trs)
{
var filter = trs.GetComponent<MeshFilter>();
if (filter == null)
return;
var mesh = filter.sharedMesh;
if (mesh == null)
return;
AppendIfAllowed(mesh, trs.localToWorldMatrix);
}
public void PopulateRenderingData(List<InstancedDrawArgs> renderingData)
{
renderingData.Clear();
foreach (var entry in m_Meshes)
{
renderingData.Add(new InstancedDrawArgs
{
mesh = entry.Value,
transforms = m_Transforms[entry.Key]
});
}
}
void AppendIfAllowed(Mesh mesh, Matrix4x4 transform)
{
var meshId = mesh.GetInstanceID();
if (!m_Filter.Contains(meshId))
return;
if (m_Meshes.ContainsKey(meshId))
{
m_Transforms[meshId].Add(transform);
}
else
{
m_Meshes.Add(meshId, mesh);
var list = new List<Matrix4x4>();
list.Add(transform);
m_Transforms.Add(meshId, list);
}
}
}
InstancingDataGenerationVisitor m_InstancingDataGenerationVisitor = new InstancingDataGenerationVisitor();
void OnEnable()
{
var shader = Shader.Find("HDRP/Lit");
m_Material = new Material(shader);
m_Material.enableInstancing = true;
m_CmdBuffer = new CommandBuffer();
}
void OnDisable()
{
DestroyImmediate(m_Material);
m_CmdBuffer.Release();
if (m_DepthBuffer != null)
m_DepthBuffer.Release();
m_DepthBuffer = null;
if (m_ColorBuffer != null)
m_ColorBuffer.Release();
m_ColorBuffer = null;
}
void Update()
{
if (m_Material == null)
return;
var camera = Camera.main;
if (camera != null && camera.cameraType == CameraType.Game)
Render(camera);
}
void OnGUI()
{
if (m_ShowDebugUI && m_DepthBuffer != null)
GUI.DrawTexture(new Rect(0, 0, m_DepthBuffer.width, m_DepthBuffer.height), m_DepthBuffer);
}
// TODO optim only render if camera moved
void Render(Camera camera)
{
if (m_DepthBuffer == null || m_DepthBuffer.width != m_RenderTargetSize.x || m_DepthBuffer.height != m_RenderTargetSize.y)
{
if (m_DepthBuffer != null)
m_DepthBuffer.Release();
if (m_ColorBuffer != null)
m_ColorBuffer.Release();
m_DepthBuffer = new RenderTexture(m_RenderTargetSize.x, m_RenderTargetSize.y, 0, RenderTextureFormat.Depth);
m_ColorBuffer = new RenderTexture(m_RenderTargetSize.x, m_RenderTargetSize.y, 0, RenderTextureFormat.Default);
}
m_CmdBuffer.Clear();
m_CmdBuffer.SetRenderTarget(m_ColorBuffer.colorBuffer, m_DepthBuffer.colorBuffer);
m_CmdBuffer.SetViewProjectionMatrices(camera.worldToCameraMatrix, camera.projectionMatrix);
m_CmdBuffer.ClearRenderTarget(true, true, Color.black);
foreach (var args in m_RenderingData)
m_CmdBuffer.DrawMeshInstanced(args.mesh, 0, m_Material, 0, args.transforms.ToArray());
Graphics.ExecuteCommandBuffer(m_CmdBuffer);
}
[ContextMenu("Update Rendering Data")]
void UpdateRenderingData()
{
if (m_OccludingRoots == null)
return;
m_InstancingDataGenerationVisitor.Reset();
m_InstancingDataGenerationVisitor.SetAllowedMeshes(m_OccludingMeshes);
foreach (var occluder in m_OccludingRoots)
{
UpdateRenderingDataRecursive(occluder.transform, m_InstancingDataGenerationVisitor);
}
m_InstancingDataGenerationVisitor.PopulateRenderingData(m_RenderingData);
// TMP DEBUG
Debug.Log("INSTANCING RENDERING DATA:");
foreach (var data in m_RenderingData)
{
Debug.Log($"Mesh name[{data.mesh.name}] id[{data.mesh.GetInstanceID()}] count[{data.transforms.Count}]");
}
}
static void UpdateRenderingDataRecursive(Transform parent, InstancingDataGenerationVisitor visitor)
{
foreach (Transform child in parent)
{
visitor.Visit(child);
UpdateRenderingDataRecursive(child, visitor);
}
}
}

11
Assets/ClusterDisplay/Scripts/OcclusionRenderer.cs.meta


fileFormatVersion: 2
guid: de54ba8a91b3029408a045b153fa25fd
MonoImporter:
externalObjects: {}
serializedVersion: 2
defaultReferences: []
executionOrder: 0
icon: {instanceID: 0}
userData:
assetBundleName:
assetBundleVariant:

部分文件因为文件数量过多而无法显示

正在加载...
取消
保存