Skip to content

Commit e78ae43

Browse files
HDRenderLoop: Push a version with C# that compile
1 parent ac87de1 commit e78ae43

File tree

6 files changed

+1204
-1215
lines changed

6 files changed

+1204
-1215
lines changed

Assets/ScriptableRenderLoop/HDRenderLoop/Editor/HDRenderLoopInspector.cs

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -268,15 +268,15 @@ public override void OnInspectorGUI()
268268
EditorGUILayout.Space();
269269

270270
// TODO: we should call a virtual method or something similar to setup the UI, inspector should not know about it
271-
TilePass tilePass = renderLoop.lightLoop as TilePass;
271+
TilePass.LightLoop tilePass = renderLoop.lightLoop as TilePass.LightLoop;
272272
if (tilePass != null)
273273
{
274274
EditorGUILayout.LabelField(styles.tileLightLoopSettings);
275275
EditorGUI.indentLevel++;
276276
EditorGUI.BeginChangeCheck();
277277

278278
tilePass.debugViewTilesFlags = EditorGUILayout.MaskField("DebugView Tiles", tilePass.debugViewTilesFlags, styles.tileLightLoopDebugTileFlagStrings);
279-
tilePass.enableSplitLightEvaluation = EditorGUILayout.Toggle(styles.directSplitLightEvaluation, tilePass.enableSplitLightEvaluation);
279+
tilePass.enableSplitLightEvaluation = EditorGUILayout.Toggle(styles.splitLightEvaluation, tilePass.enableSplitLightEvaluation);
280280
tilePass.enableBigTilePrepass = EditorGUILayout.Toggle(styles.bigTilePrepass, tilePass.enableBigTilePrepass);
281281
tilePass.enableClustered = EditorGUILayout.Toggle(styles.clustered, tilePass.enableClustered);
282282
tilePass.disableTileAndCluster = EditorGUILayout.Toggle(styles.disableTileAndCluster, tilePass.disableTileAndCluster);

Assets/ScriptableRenderLoop/HDRenderLoop/HDRenderLoop.cs

Lines changed: 12 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -159,9 +159,9 @@ public TextureSettings textureSettings
159159
int m_HeightOnRecord;
160160

161161
// This must be allocate outside of Rebuild() else the option in the class can't be set in the inspector (as it will in this case recreate the class with default value)
162-
LightLoop m_lightLoop = new TilePass();
162+
BaseLightLoop m_lightLoop = new TilePass.LightLoop();
163163

164-
public LightLoop lightLoop
164+
public BaseLightLoop lightLoop
165165
{
166166
get { return m_lightLoop; }
167167
}
@@ -445,6 +445,11 @@ void RenderSky(Camera camera, RenderLoop renderLoop)
445445

446446
void RenderForward(CullResults cullResults, Camera camera, RenderLoop renderLoop, bool renderOpaque)
447447
{
448+
// TODO: Currently we can't render opaque object forward when deferred is enabled
449+
// miss option
450+
if (!debugParameters.useForwardRenderingOnly && renderOpaque)
451+
return;
452+
448453
using (new Utilities.ProfilingSample("Forward Pass", renderLoop))
449454
{
450455
// Bind material data
@@ -454,12 +459,14 @@ void RenderForward(CullResults cullResults, Camera camera, RenderLoop renderLoop
454459

455460
m_lightLoop.RenderForward(camera, renderLoop, renderOpaque);
456461

457-
if (debugParameters.useForwardRenderingOnly)
462+
if (renderOpaque)
458463
{
459464
RenderOpaqueRenderList(cullResults, camera, renderLoop, "Forward");
460465
}
461-
462-
RenderTransparentRenderList(cullResults, camera, renderLoop, "Forward", Utilities.kRendererConfigurationBakedLighting);
466+
else
467+
{
468+
RenderTransparentRenderList(cullResults, camera, renderLoop, "Forward", Utilities.kRendererConfigurationBakedLighting);
469+
}
463470
}
464471
}
465472

Assets/ScriptableRenderLoop/HDRenderLoop/Lighting/LightDefinition.cs.hlsl

Lines changed: 11 additions & 41 deletions
Original file line numberDiff line numberDiff line change
@@ -59,7 +59,7 @@ struct LightData
5959
// PackingRules = Exact
6060
struct DirectionalLightData
6161
{
62-
float3 direction;
62+
float3 forward;
6363
float diffuseScale;
6464
float3 up;
6565
float invScaleY;
@@ -75,9 +75,9 @@ struct DirectionalLightData
7575
int cookieIndex;
7676
};
7777

78-
// Generated from UnityEngine.Experimental.ScriptableRenderLoop.PunctualShadowData
78+
// Generated from UnityEngine.Experimental.ScriptableRenderLoop.ShadowData
7979
// PackingRules = Exact
80-
struct PunctualShadowData
80+
struct ShadowData
8181
{
8282
float4x4 worldToShadow;
8383
int lightType;
@@ -86,16 +86,6 @@ struct PunctualShadowData
8686
float unused;
8787
};
8888

89-
// Generated from UnityEngine.Experimental.ScriptableRenderLoop.DirectionalShadowData
90-
// PackingRules = Exact
91-
struct DirectionalShadowData
92-
{
93-
float4x4 worldToShadow;
94-
float bias;
95-
float quality;
96-
float2 unused2;
97-
};
98-
9989
// Generated from UnityEngine.Experimental.ScriptableRenderLoop.EnvLightData
10090
// PackingRules = Exact
10191
struct EnvLightData
@@ -189,9 +179,9 @@ bool GetTwoSided(LightData value)
189179
//
190180
// Accessors for UnityEngine.Experimental.ScriptableRenderLoop.DirectionalLightData
191181
//
192-
float3 GetDirection(DirectionalLightData value)
182+
float3 GetForward(DirectionalLightData value)
193183
{
194-
return value.direction;
184+
return value.forward;
195185
}
196186
float GetDiffuseScale(DirectionalLightData value)
197187
{
@@ -247,49 +237,29 @@ int GetCookieIndex(DirectionalLightData value)
247237
}
248238

249239
//
250-
// Accessors for UnityEngine.Experimental.ScriptableRenderLoop.PunctualShadowData
240+
// Accessors for UnityEngine.Experimental.ScriptableRenderLoop.ShadowData
251241
//
252-
float4x4 GetWorldToShadow(PunctualShadowData value)
242+
float4x4 GetWorldToShadow(ShadowData value)
253243
{
254244
return value.worldToShadow;
255245
}
256-
int GetLightType(PunctualShadowData value)
246+
int GetLightType(ShadowData value)
257247
{
258248
return value.lightType;
259249
}
260-
float GetBias(PunctualShadowData value)
250+
float GetBias(ShadowData value)
261251
{
262252
return value.bias;
263253
}
264-
float GetQuality(PunctualShadowData value)
254+
float GetQuality(ShadowData value)
265255
{
266256
return value.quality;
267257
}
268-
float GetUnused(PunctualShadowData value)
258+
float GetUnused(ShadowData value)
269259
{
270260
return value.unused;
271261
}
272262

273-
//
274-
// Accessors for UnityEngine.Experimental.ScriptableRenderLoop.DirectionalShadowData
275-
//
276-
float4x4 GetWorldToShadow(DirectionalShadowData value)
277-
{
278-
return value.worldToShadow;
279-
}
280-
float GetBias(DirectionalShadowData value)
281-
{
282-
return value.bias;
283-
}
284-
float GetQuality(DirectionalShadowData value)
285-
{
286-
return value.quality;
287-
}
288-
float2 GetUnused2(DirectionalShadowData value)
289-
{
290-
return value.unused2;
291-
}
292-
293263
//
294264
// Accessors for UnityEngine.Experimental.ScriptableRenderLoop.EnvLightData
295265
//

Assets/ScriptableRenderLoop/HDRenderLoop/Lighting/LightLoop.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,7 @@
55

66
namespace UnityEngine.Experimental.ScriptableRenderLoop
77
{
8-
public class LightLoop
8+
public class BaseLightLoop
99
{
1010
// TODO: We should rather put the texture settings in LightLoop, but how do we serialize it ?
1111
public virtual void Rebuild(TextureSettings textureSettings) {}

0 commit comments

Comments
 (0)