Skip to content

Commit e104e41

Browse files
[Rendering] Revert change;
[Editor] Update Program.cs for PC backends;
1 parent 781f7a7 commit e104e41

File tree

5 files changed

+32
-36
lines changed

5 files changed

+32
-36
lines changed

Engine/Core/Rendering/Animation/SkinnedMeshRenderSystem.cs

Lines changed: 17 additions & 18 deletions
Original file line numberDiff line numberDiff line change
@@ -280,27 +280,39 @@ public void Submit()
280280
var material = renderer.materials[j];
281281

282282
var needsChange = assetGuid != lastMeshAsset ||
283-
material.Guid != (lastMaterial?.Guid ?? "");
284-
285-
var lightSystem = RenderSystem.Instance.Get<LightSystem>();
283+
material.Guid != (lastMaterial?.Guid ?? "") ||
284+
lastAnimator != animator;
286285

287286
if (needsChange)
288287
{
289288
lastMeshAsset = assetGuid;
290289
lastMaterial = material;
290+
lastAnimator = animator;
291291

292292
bgfx.discard((byte)bgfx.DiscardFlags.All);
293293

294294
material.EnableShaderKeyword(Shader.SkinningKeyword);
295295

296+
var lightSystem = RenderSystem.Instance.Get<LightSystem>();
297+
296298
lightSystem?.ApplyMaterialLighting(material, pair.renderer.lighting);
297299

298300
if(material.ShaderProgram.Valid == false)
299301
{
300302
continue;
301303
}
302304

303-
material.ApplyProperties(Material.ApplyMode.TexturesOnly);
305+
bgfx.set_state((ulong)(state |
306+
renderer.mesh.PrimitiveFlag() |
307+
material.shader.BlendingFlag |
308+
material.CullingFlag), 0);
309+
310+
material.ApplyProperties(Material.ApplyMode.All);
311+
312+
material.shader.SetMatrix4x4(material.GetShaderHandle("u_boneMatrices"), boneMatrices);
313+
314+
lightSystem?.ApplyLightProperties(pair.position, pair.transform, material,
315+
RenderSystem.CurrentCamera.Item2.Position, pair.renderer.lighting);
304316
}
305317

306318
unsafe
@@ -312,24 +324,11 @@ public void Submit()
312324

313325
renderer.mesh.SetActive(j);
314326

315-
material.ApplyProperties(Material.ApplyMode.IgnoreTextures);
316-
317-
material.shader.SetMatrix4x4(material.GetShaderHandle("u_boneMatrices"), boneMatrices);
318-
319327
var program = material.ShaderProgram;
320328

321-
bgfx.set_state((ulong)(state |
322-
renderer.mesh.PrimitiveFlag() |
323-
material.shader.BlendingFlag |
324-
material.CullingFlag), 0);
325-
326-
lightSystem?.ApplyLightProperties(pair.position, pair.transform, material,
327-
RenderSystem.CurrentCamera.Item2.Position, pair.renderer.lighting);
328-
329329
var flags = bgfx.DiscardFlags.VertexStreams |
330330
bgfx.DiscardFlags.IndexBuffer |
331-
bgfx.DiscardFlags.Transform |
332-
bgfx.DiscardFlags.State;
331+
bgfx.DiscardFlags.Transform;
333332

334333
bgfx.submit(pair.viewID, program, 0, (byte)flags);
335334
}

Engine/Core/Rendering/Mesh/MeshRenderSystem.cs

Lines changed: 12 additions & 15 deletions
Original file line numberDiff line numberDiff line change
@@ -226,8 +226,6 @@ void DrawMesh(int index)
226226

227227
var needsChange = lastMaterial?.Guid.GetHashCode() != material?.Guid?.GetHashCode();
228228

229-
var lightSystem = RenderSystem.Instance.Get<LightSystem>();
230-
231229
if (needsChange)
232230
{
233231
bgfx.discard((byte)bgfx.DiscardFlags.All);
@@ -236,14 +234,24 @@ void DrawMesh(int index)
236234

237235
material.DisableShaderKeyword(Shader.SkinningKeyword);
238236

237+
var lightSystem = RenderSystem.Instance.Get<LightSystem>();
238+
239239
lightSystem?.ApplyMaterialLighting(material, pair.renderer.lighting);
240240

241241
if(material.ShaderProgram.Valid == false)
242242
{
243243
return;
244244
}
245245

246-
material.ApplyProperties(Material.ApplyMode.TexturesOnly);
246+
bgfx.set_state((ulong)(state |
247+
pair.renderer.mesh.PrimitiveFlag() |
248+
material.shader.BlendingFlag |
249+
material.CullingFlag), 0);
250+
251+
material.ApplyProperties(Material.ApplyMode.All);
252+
253+
lightSystem?.ApplyLightProperties(pair.position, pair.transform, material,
254+
RenderSystem.CurrentCamera.Item2.Position, pair.renderer.lighting);
247255
}
248256

249257
unsafe
@@ -255,22 +263,11 @@ void DrawMesh(int index)
255263

256264
pair.renderer.mesh.SetActive(index);
257265

258-
bgfx.set_state((ulong)(state |
259-
pair.renderer.mesh.PrimitiveFlag() |
260-
material.shader.BlendingFlag |
261-
material.CullingFlag), 0);
262-
263-
material.ApplyProperties(Material.ApplyMode.IgnoreTextures);
264-
265-
lightSystem?.ApplyLightProperties(pair.position, pair.transform, material,
266-
RenderSystem.CurrentCamera.Item2.Position, pair.renderer.lighting);
267-
268266
var program = material.ShaderProgram;
269267

270268
var flags = bgfx.DiscardFlags.VertexStreams |
271269
bgfx.DiscardFlags.IndexBuffer |
272-
bgfx.DiscardFlags.Transform |
273-
bgfx.DiscardFlags.State;
270+
bgfx.DiscardFlags.Transform;
274271

275272
bgfx.submit(pair.viewID, program, 0, (byte)flags);
276273
}

Staging/Player Backends/Linux/Resources/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public static void Main(string[] args)
99
{
1010
Console.WriteLine($"Staple: Registering type cache");
1111

12-
TypeCacheRegistration.RegisterAll();
12+
StapleCodeGeneration.TypeCacheRegistration.RegisterAll();
1313

1414
Console.WriteLine($"Staple: Registered {TypeCache.AllTypes().Length} types");
1515

Staging/Player Backends/MacOSX/Resources/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public static void Main(string[] args)
99
{
1010
Console.WriteLine($"Staple: Registering type cache");
1111

12-
TypeCacheRegistration.RegisterAll();
12+
StapleCodeGeneration.TypeCacheRegistration.RegisterAll();
1313

1414
Console.WriteLine($"Staple: Registered {TypeCache.AllTypes().Length} types");
1515

Staging/Player Backends/Windows/Resources/Program.cs

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -9,7 +9,7 @@ public static void Main(string[] args)
99
{
1010
Console.WriteLine($"Staple: Registering type cache");
1111

12-
TypeCacheRegistration.RegisterAll();
12+
StapleCodeGeneration.TypeCacheRegistration.RegisterAll();
1313

1414
Console.WriteLine($"Staple: Registered {TypeCache.AllTypes().Length} types");
1515

0 commit comments

Comments
 (0)