Skip to content

Commit 0eb546a

Browse files
Merge pull request #227 from Unity-Technologies/Generate-debug-hlsl-functions
HDrenderPipeline: Generate hlsl debug functions
2 parents a879873 + 711359a commit 0eb546a

19 files changed

Lines changed: 513 additions & 286 deletions

File tree

Assets/ScriptableRenderPipeline/HDRenderPipeline/Editor/HDRenderPipelineInspector.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -179,7 +179,7 @@ void FillWithProperties(Type type, GUIContent[] debugViewMaterialStrings, int[]
179179
// Get attribute to get the start number of the value for the enum
180180
var attr = attributes[0] as GenerateHLSL;
181181

182-
if (!attr.needParamDefines)
182+
if (!attr.needParamDebug)
183183
{
184184
return;
185185
}

Assets/ScriptableRenderPipeline/HDRenderPipeline/Lighting/LightDefinition.cs.hlsl

Lines changed: 49 additions & 49 deletions
Original file line numberDiff line numberDiff line change
@@ -110,211 +110,211 @@ struct EnvLightData
110110
//
111111
float3 GetPositionWS(LightData value)
112112
{
113-
return value.positionWS;
113+
return value.positionWS;
114114
}
115115
float GetInvSqrAttenuationRadius(LightData value)
116116
{
117-
return value.invSqrAttenuationRadius;
117+
return value.invSqrAttenuationRadius;
118118
}
119119
float3 GetColor(LightData value)
120120
{
121-
return value.color;
121+
return value.color;
122122
}
123123
float GetAngleScale(LightData value)
124124
{
125-
return value.angleScale;
125+
return value.angleScale;
126126
}
127127
float3 GetForward(LightData value)
128128
{
129-
return value.forward;
129+
return value.forward;
130130
}
131131
float GetAngleOffset(LightData value)
132132
{
133-
return value.angleOffset;
133+
return value.angleOffset;
134134
}
135135
float3 GetUp(LightData value)
136136
{
137-
return value.up;
137+
return value.up;
138138
}
139139
float GetDiffuseScale(LightData value)
140140
{
141-
return value.diffuseScale;
141+
return value.diffuseScale;
142142
}
143143
float3 GetRight(LightData value)
144144
{
145-
return value.right;
145+
return value.right;
146146
}
147147
float GetSpecularScale(LightData value)
148148
{
149-
return value.specularScale;
149+
return value.specularScale;
150150
}
151151
float GetShadowDimmer(LightData value)
152152
{
153-
return value.shadowDimmer;
153+
return value.shadowDimmer;
154154
}
155155
int GetShadowIndex(LightData value)
156156
{
157-
return value.shadowIndex;
157+
return value.shadowIndex;
158158
}
159159
int GetIESIndex(LightData value)
160160
{
161-
return value.IESIndex;
161+
return value.IESIndex;
162162
}
163163
int GetCookieIndex(LightData value)
164164
{
165-
return value.cookieIndex;
165+
return value.cookieIndex;
166166
}
167167
int GetLightType(LightData value)
168168
{
169-
return value.lightType;
169+
return value.lightType;
170170
}
171171
float2 GetSize(LightData value)
172172
{
173-
return value.size;
173+
return value.size;
174174
}
175175
bool GetTwoSided(LightData value)
176176
{
177-
return value.twoSided;
177+
return value.twoSided;
178178
}
179179

180180
//
181181
// Accessors for UnityEngine.Experimental.Rendering.HDPipeline.DirectionalLightData
182182
//
183183
float3 GetForward(DirectionalLightData value)
184184
{
185-
return value.forward;
185+
return value.forward;
186186
}
187187
float GetDiffuseScale(DirectionalLightData value)
188188
{
189-
return value.diffuseScale;
189+
return value.diffuseScale;
190190
}
191191
float3 GetUp(DirectionalLightData value)
192192
{
193-
return value.up;
193+
return value.up;
194194
}
195195
float GetInvScaleY(DirectionalLightData value)
196196
{
197-
return value.invScaleY;
197+
return value.invScaleY;
198198
}
199199
float3 GetRight(DirectionalLightData value)
200200
{
201-
return value.right;
201+
return value.right;
202202
}
203203
float GetInvScaleX(DirectionalLightData value)
204204
{
205-
return value.invScaleX;
205+
return value.invScaleX;
206206
}
207207
float3 GetPositionWS(DirectionalLightData value)
208208
{
209-
return value.positionWS;
209+
return value.positionWS;
210210
}
211211
bool GetTileCookie(DirectionalLightData value)
212212
{
213-
return value.tileCookie;
213+
return value.tileCookie;
214214
}
215215
float3 GetColor(DirectionalLightData value)
216216
{
217-
return value.color;
217+
return value.color;
218218
}
219219
float GetSpecularScale(DirectionalLightData value)
220220
{
221-
return value.specularScale;
221+
return value.specularScale;
222222
}
223223
float GetCosAngle(DirectionalLightData value)
224224
{
225-
return value.cosAngle;
225+
return value.cosAngle;
226226
}
227227
float GetSinAngle(DirectionalLightData value)
228228
{
229-
return value.sinAngle;
229+
return value.sinAngle;
230230
}
231231
int GetShadowIndex(DirectionalLightData value)
232232
{
233-
return value.shadowIndex;
233+
return value.shadowIndex;
234234
}
235235
int GetCookieIndex(DirectionalLightData value)
236236
{
237-
return value.cookieIndex;
237+
return value.cookieIndex;
238238
}
239239

240240
//
241241
// Accessors for UnityEngine.Experimental.Rendering.HDPipeline.ShadowData
242242
//
243243
float4x4 GetWorldToShadow(ShadowData value)
244244
{
245-
return value.worldToShadow;
245+
return value.worldToShadow;
246246
}
247247
float GetBias(ShadowData value)
248248
{
249-
return value.bias;
249+
return value.bias;
250250
}
251251
float GetQuality(ShadowData value)
252252
{
253-
return value.quality;
253+
return value.quality;
254254
}
255255
float GetUnused(ShadowData value)
256256
{
257-
return value.unused;
257+
return value.unused;
258258
}
259259
float GetUnused2(ShadowData value)
260260
{
261-
return value.unused2;
261+
return value.unused2;
262262
}
263263
float4 GetInvResolution(ShadowData value)
264264
{
265-
return value.invResolution;
265+
return value.invResolution;
266266
}
267267

268268
//
269269
// Accessors for UnityEngine.Experimental.Rendering.HDPipeline.EnvLightData
270270
//
271271
float3 GetPositionWS(EnvLightData value)
272272
{
273-
return value.positionWS;
273+
return value.positionWS;
274274
}
275275
int GetEnvShapeType(EnvLightData value)
276276
{
277-
return value.envShapeType;
277+
return value.envShapeType;
278278
}
279279
float3 GetForward(EnvLightData value)
280280
{
281-
return value.forward;
281+
return value.forward;
282282
}
283283
int GetEnvIndex(EnvLightData value)
284284
{
285-
return value.envIndex;
285+
return value.envIndex;
286286
}
287287
float3 GetUp(EnvLightData value)
288288
{
289-
return value.up;
289+
return value.up;
290290
}
291291
float GetBlendDistance(EnvLightData value)
292292
{
293-
return value.blendDistance;
293+
return value.blendDistance;
294294
}
295295
float3 GetRight(EnvLightData value)
296296
{
297-
return value.right;
297+
return value.right;
298298
}
299299
int GetUnused0(EnvLightData value)
300300
{
301-
return value.unused0;
301+
return value.unused0;
302302
}
303303
float3 GetInnerDistance(EnvLightData value)
304304
{
305-
return value.innerDistance;
305+
return value.innerDistance;
306306
}
307307
float GetUnused1(EnvLightData value)
308308
{
309-
return value.unused1;
309+
return value.unused1;
310310
}
311311
float3 GetOffsetLS(EnvLightData value)
312312
{
313-
return value.offsetLS;
313+
return value.offsetLS;
314314
}
315315
float GetUnused2(EnvLightData value)
316316
{
317-
return value.unused2;
317+
return value.unused2;
318318
}
319319

320320

Assets/ScriptableRenderPipeline/HDRenderPipeline/Lighting/TilePass/TilePass.cs.hlsl

Lines changed: 18 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -81,79 +81,79 @@ struct LightVolumeData
8181
//
8282
float3 GetBoxAxisX(SFiniteLightBound value)
8383
{
84-
return value.boxAxisX;
84+
return value.boxAxisX;
8585
}
8686
float3 GetBoxAxisY(SFiniteLightBound value)
8787
{
88-
return value.boxAxisY;
88+
return value.boxAxisY;
8989
}
9090
float3 GetBoxAxisZ(SFiniteLightBound value)
9191
{
92-
return value.boxAxisZ;
92+
return value.boxAxisZ;
9393
}
9494
float3 GetCenter(SFiniteLightBound value)
9595
{
96-
return value.center;
96+
return value.center;
9797
}
9898
float2 GetScaleXY(SFiniteLightBound value)
9999
{
100-
return value.scaleXY;
100+
return value.scaleXY;
101101
}
102102
float GetRadius(SFiniteLightBound value)
103103
{
104-
return value.radius;
104+
return value.radius;
105105
}
106106

107107
//
108108
// Accessors for UnityEngine.Experimental.Rendering.HDPipeline.TilePass.LightVolumeData
109109
//
110110
float3 GetLightPos(LightVolumeData value)
111111
{
112-
return value.lightPos;
112+
return value.lightPos;
113113
}
114114
uint GetLightVolume(LightVolumeData value)
115115
{
116-
return value.lightVolume;
116+
return value.lightVolume;
117117
}
118118
float3 GetLightAxisX(LightVolumeData value)
119119
{
120-
return value.lightAxisX;
120+
return value.lightAxisX;
121121
}
122122
uint GetLightCategory(LightVolumeData value)
123123
{
124-
return value.lightCategory;
124+
return value.lightCategory;
125125
}
126126
float3 GetLightAxisY(LightVolumeData value)
127127
{
128-
return value.lightAxisY;
128+
return value.lightAxisY;
129129
}
130130
float GetRadiusSq(LightVolumeData value)
131131
{
132-
return value.radiusSq;
132+
return value.radiusSq;
133133
}
134134
float3 GetLightAxisZ(LightVolumeData value)
135135
{
136-
return value.lightAxisZ;
136+
return value.lightAxisZ;
137137
}
138138
float GetCotan(LightVolumeData value)
139139
{
140-
return value.cotan;
140+
return value.cotan;
141141
}
142142
float3 GetBoxInnerDist(LightVolumeData value)
143143
{
144-
return value.boxInnerDist;
144+
return value.boxInnerDist;
145145
}
146146
uint GetFeatureFlags(LightVolumeData value)
147147
{
148-
return value.featureFlags;
148+
return value.featureFlags;
149149
}
150150
float3 GetBoxInvRange(LightVolumeData value)
151151
{
152-
return value.boxInvRange;
152+
return value.boxInvRange;
153153
}
154154
float GetUnused2(LightVolumeData value)
155155
{
156-
return value.unused2;
156+
return value.unused2;
157157
}
158158

159159

Assets/ScriptableRenderPipeline/HDRenderPipeline/Material/Builtin/BuiltinData.cs

Lines changed: 6 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -23,10 +23,10 @@ public struct BuiltinData
2323
// We would prefer to split lighting and material information but for performance reasons,
2424
// those lighting information are fill
2525
// at the same time than material information.
26-
[SurfaceDataAttributes("Bake Diffuse Lighting")]
26+
[SurfaceDataAttributes("Bake Diffuse Lighting", false, true)]
2727
public Vector3 bakeDiffuseLighting; // This is the result of sampling lightmap/lightprobe/proxyvolume
2828

29-
[SurfaceDataAttributes("Emissive Color")]
29+
[SurfaceDataAttributes("Emissive Color", false, true)]
3030
public Vector3 emissiveColor;
3131
[SurfaceDataAttributes("Emissive Intensity")]
3232
public float emissiveIntensity;
@@ -47,14 +47,15 @@ public struct BuiltinData
4747
};
4848

4949
//-----------------------------------------------------------------------------
50-
// LighTransportData
50+
// LightTransportData
5151
// This struct is use to store information for Enlighten/Progressive light mapper. both at runtime or off line.
5252
//-----------------------------------------------------------------------------
5353
[GenerateHLSL(PackingRules.Exact, false, true, 120)]
54-
public struct LighTransportData
54+
public struct LightTransportData
5555
{
56+
[SurfaceDataAttributes("", false, true)]
5657
public Vector3 diffuseColor;
57-
public Vector3 emissiveColor;
58+
public Vector3 emissiveColor; // HDR value
5859
};
5960

6061
public class RenderLoop : Object

0 commit comments

Comments
 (0)