Skip to content

Commit 3901c52

Browse files
# Conflicts: # Assets/ScriptableRenderLoop/HDRenderLoop/Material/LayeredLit/Editor/LayeredLitUI.cs
2 parents c8f7d58 + 335eb77 commit 3901c52

File tree

88 files changed

+3362
-1432
lines changed

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

88 files changed

+3362
-1432
lines changed

Assets/BasicRenderLoopTutorial/BasicRenderLoop.cs

Lines changed: 16 additions & 10 deletions
Original file line numberDiff line numberDiff line change
@@ -10,24 +10,32 @@
1010
// - This loop also does not setup lightmaps, light probes, reflection probes or light cookies
1111

1212
[ExecuteInEditMode]
13-
public class BasicRenderLoop : MonoBehaviour
13+
public class BasicRenderLoop : RenderPipeline
1414
{
15-
private ShaderPassName shaderPassBasic;
1615

17-
public void OnEnable ()
16+
#if UNITY_EDITOR
17+
[UnityEditor.MenuItem("Renderloop/CreateBasicRenderLoop")]
18+
static void CreateBasicRenderLoop()
1819
{
19-
shaderPassBasic = new ShaderPassName ("BasicPass");
20-
RenderLoop.renderLoopDelegate += Render;
20+
var instance = ScriptableObject.CreateInstance<BasicRenderLoop>();
21+
UnityEditor.AssetDatabase.CreateAsset(instance, "Assets/basicrenderloop.asset");
2122
}
23+
#endif
24+
25+
private ShaderPassName shaderPassBasic;
2226

23-
public void OnDisable ()
27+
public void OnEnable()
2428
{
25-
RenderLoop.renderLoopDelegate -= Render;
29+
Rebuild();
2630
}
2731

32+
public override void Initialize()
33+
{
34+
shaderPassBasic = new ShaderPassName("BasicPass");
35+
}
2836

2937
// Main entry point for our scriptable render loop
30-
bool Render (Camera[] cameras, RenderLoop loop)
38+
public override void Render(Camera[] cameras, RenderLoop loop)
3139
{
3240
foreach (var camera in cameras)
3341
{
@@ -66,8 +74,6 @@ bool Render (Camera[] cameras, RenderLoop loop)
6674

6775
loop.Submit ();
6876
}
69-
70-
return true;
7177
}
7278

7379

Assets/BasicRenderLoopTutorial/BasicRenderLoopScene.unity

Lines changed: 10 additions & 13 deletions
Original file line numberDiff line numberDiff line change
@@ -37,7 +37,7 @@ RenderSettings:
3737
m_ReflectionIntensity: 0.5
3838
m_CustomReflection: {fileID: 0}
3939
m_Sun: {fileID: 0}
40-
m_IndirectSpecularColor: {r: 0.090675384, g: 0.11147798, b: 0.14205901, a: 0.5}
40+
m_IndirectSpecularColor: {r: 0.09067501, g: 0.11147752, b: 0.14205909, a: 0.5}
4141
--- !u!157 &3
4242
LightmapSettings:
4343
m_ObjectHideFlags: 0
@@ -139,6 +139,7 @@ MeshRenderer:
139139
m_AutoUVMaxAngle: 89
140140
m_LightmapParameters: {fileID: 0}
141141
m_SortingLayerID: 0
142+
m_SortingLayer: 0
142143
m_SortingOrder: 0
143144
--- !u!135 &261580744
144145
SphereCollider:
@@ -220,6 +221,7 @@ MeshRenderer:
220221
m_AutoUVMaxAngle: 89
221222
m_LightmapParameters: {fileID: 0}
222223
m_SortingLayerID: 0
224+
m_SortingLayer: 0
223225
m_SortingOrder: 0
224226
--- !u!136 &531853422
225227
CapsuleCollider:
@@ -333,6 +335,7 @@ MeshRenderer:
333335
m_AutoUVMaxAngle: 89
334336
m_LightmapParameters: {fileID: 0}
335337
m_SortingLayerID: 0
338+
m_SortingLayer: 0
336339
m_SortingOrder: 0
337340
--- !u!64 &1280249097
338341
MeshCollider:
@@ -416,6 +419,7 @@ MeshRenderer:
416419
m_AutoUVMaxAngle: 89
417420
m_LightmapParameters: {fileID: 0}
418421
m_SortingLayerID: 0
422+
m_SortingLayer: 0
419423
m_SortingOrder: 0
420424
--- !u!135 &1405931299
421425
SphereCollider:
@@ -461,7 +465,6 @@ GameObject:
461465
- component: {fileID: 1447851828}
462466
- component: {fileID: 1447851827}
463467
- component: {fileID: 1447851826}
464-
- component: {fileID: 1447851831}
465468
m_Layer: 0
466469
m_Name: Main Camera
467470
m_TagString: MainCamera
@@ -539,17 +542,6 @@ Transform:
539542
m_Father: {fileID: 0}
540543
m_RootOrder: 0
541544
m_LocalEulerAnglesHint: {x: 0, y: 0, z: 0}
542-
--- !u!114 &1447851831
543-
MonoBehaviour:
544-
m_ObjectHideFlags: 0
545-
m_PrefabParentObject: {fileID: 0}
546-
m_PrefabInternal: {fileID: 0}
547-
m_GameObject: {fileID: 1447851825}
548-
m_Enabled: 0
549-
m_EditorHideFlags: 0
550-
m_Script: {fileID: 11500000, guid: 22228a1bd982b864ea6c84db2fc11dd1, type: 3}
551-
m_Name:
552-
m_EditorClassIdentifier:
553545
--- !u!1 &1485985477
554546
GameObject:
555547
m_ObjectHideFlags: 0
@@ -598,6 +590,7 @@ MeshRenderer:
598590
m_AutoUVMaxAngle: 89
599591
m_LightmapParameters: {fileID: 0}
600592
m_SortingLayerID: 0
593+
m_SortingLayer: 0
601594
m_SortingOrder: 0
602595
--- !u!136 &1485985479
603596
CapsuleCollider:
@@ -680,6 +673,7 @@ MeshRenderer:
680673
m_AutoUVMaxAngle: 89
681674
m_LightmapParameters: {fileID: 0}
682675
m_SortingLayerID: 0
676+
m_SortingLayer: 0
683677
m_SortingOrder: 0
684678
--- !u!135 &1596459101
685679
SphereCollider:
@@ -824,6 +818,7 @@ MeshRenderer:
824818
m_AutoUVMaxAngle: 89
825819
m_LightmapParameters: {fileID: 0}
826820
m_SortingLayerID: 0
821+
m_SortingLayer: 0
827822
m_SortingOrder: 0
828823
--- !u!136 &1714697414
829824
CapsuleCollider:
@@ -906,6 +901,7 @@ MeshRenderer:
906901
m_AutoUVMaxAngle: 89
907902
m_LightmapParameters: {fileID: 0}
908903
m_SortingLayerID: 0
904+
m_SortingLayer: 0
909905
m_SortingOrder: 0
910906
--- !u!135 &1749252041
911907
SphereCollider:
@@ -1113,6 +1109,7 @@ MeshRenderer:
11131109
m_AutoUVMaxAngle: 89
11141110
m_LightmapParameters: {fileID: 0}
11151111
m_SortingLayerID: 0
1112+
m_SortingLayer: 0
11161113
m_SortingOrder: 0
11171114
--- !u!135 &2031315347
11181115
SphereCollider:

Assets/Editor/Tests/RenderloopTests/CullResultsTest.cs

Lines changed: 0 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -31,9 +31,6 @@ void InspectCullResults(Camera camera, CullResults cullResults, RenderLoop rende
3131
public void TestReflectionProbes()
3232
{
3333
UnityEditor.SceneManagement.EditorSceneManager.OpenScene("Assets/Editor/Tests/TestScene.unity");
34-
35-
// Asserts.ExpectLogError("Boing");
36-
3734
RenderLoopTestFixture.Run(InspectCullResults);
3835
}
3936
}

Assets/Editor/Tests/RenderloopTests/RenderloopTestFixture.cs

Lines changed: 16 additions & 16 deletions
Original file line numberDiff line numberDiff line change
@@ -4,14 +4,18 @@
44
using UnityEditor;
55
using UnityEngine.Experimental.Rendering;
66
using NUnit.Framework;
7+
using UnityEngine.Experimental.ScriptableRenderLoop;
8+
using UnityEngine.Rendering;
79

810
[ExecuteInEditMode]
9-
public class RenderLoopTestFixture : MonoBehaviour
11+
public class RenderLoopTestFixture : RenderPipeline
1012
{
1113
public delegate void TestDelegate(Camera camera, CullResults cullResults, RenderLoop renderLoop);
1214
private static TestDelegate s_Callback;
1315

14-
public static void Render(RenderLoopWrapper wrapper, Camera[] cameras, RenderLoop renderLoop)
16+
private static RenderLoopTestFixture m_Instance;
17+
18+
public override void Render(Camera[] cameras, RenderLoop renderLoop)
1519
{
1620
foreach (var camera in cameras)
1721
{
@@ -21,22 +25,25 @@ public static void Render(RenderLoopWrapper wrapper, Camera[] cameras, RenderLoo
2125

2226
CullResults cullResults = CullResults.Cull(ref cullingParams, renderLoop);
2327

24-
s_Callback(camera, cullResults, renderLoop);
28+
if (s_Callback != null)
29+
s_Callback(camera, cullResults, renderLoop);
2530
}
2631

2732
renderLoop.Submit();
2833
}
2934

3035
public static void Run(TestDelegate renderCallback)
3136
{
37+
if (m_Instance == null)
38+
{
39+
m_Instance = ScriptableObject.CreateInstance<RenderLoopTestFixture>();
40+
}
41+
3242
var sceneCamera = Camera.main;
3343
var camObject = sceneCamera.gameObject;
3444

35-
var instance = camObject.AddComponent<RenderLoopWrapper>();
36-
instance.callback = Render;
45+
GraphicsSettings.SetRenderPipeline(m_Instance);
3746
s_Callback = renderCallback;
38-
instance.enabled = true;
39-
4047
Transform t = camObject.transform;
4148

4249
// Can't use AlignViewToObject because it animates over time, and we want the first frame
@@ -45,14 +52,7 @@ public static void Run(TestDelegate renderCallback)
4552
float camDist = size / Mathf.Tan(fov * 0.5f * Mathf.Deg2Rad);
4653
SceneView.lastActiveSceneView.LookAtDirect(t.position + t.forward * camDist, t.rotation, size);
4754

48-
// Invoke renderer
49-
try
50-
{
51-
sceneCamera.Render();
52-
}
53-
finally
54-
{
55-
Object.DestroyImmediate(instance);
56-
}
55+
sceneCamera.Render();
56+
GraphicsSettings.SetRenderPipeline(null);
5757
}
5858
}

Assets/ScriptableRenderLoop/Tests.meta renamed to Assets/ScriptableRenderLoop/Editor.meta

Lines changed: 2 additions & 2 deletions
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

0 commit comments

Comments
 (0)