@@ -100,7 +100,7 @@ public void Process((Entity, Transform, IComponent)[] entities, Camera activeCam
100100
101101 var useAnimator = animator != null && animator . evaluator != null ;
102102
103- Matrix4x4 [ ] boneMatrices = null ;
103+ Matrix4x4 [ ] boneMatrices ;
104104
105105 if ( useAnimator )
106106 {
@@ -226,6 +226,7 @@ public void Submit()
226226 Material lastMaterial = null ;
227227 int lastMeshAsset = 0 ;
228228 SkinnedMeshAnimator lastAnimator = null ;
229+ MaterialLighting lastLighting = MaterialLighting . Unlit ;
229230
230231 bgfx . discard ( ( byte ) bgfx . DiscardFlags . All ) ;
231232
@@ -234,61 +235,25 @@ public void Submit()
234235 var renderer = pair . renderer ;
235236 var mesh = renderer . mesh ;
236237 var meshAsset = mesh . meshAsset ;
237- var meshAssetMesh = meshAsset . meshes [ mesh . meshAssetIndex ] ;
238238 var animator = renderer . animator . Content ;
239239
240240 for ( var j = 0 ; j < renderer . mesh . submeshes . Count ; j ++ )
241241 {
242242 var assetGuid = meshAsset . Guid . GetHashCode ( ) ;
243243
244- var useAnimator = animator != null && animator . evaluator != null ;
245-
246- Matrix4x4 [ ] boneMatrices = null ;
247-
248- if ( useAnimator )
249- {
250- boneMatrices = animator . cachedBoneMatrices ;
251- }
252- else
253- {
254- cachedBoneMatrices . TryGetValue ( assetGuid , out boneMatrices ) ;
255- }
256-
257- if ( boneMatrices == null )
258- {
259- continue ;
260- }
261-
262- var bones = meshAssetMesh . bones [ j ] ;
263-
264- /*
265- if (bones.Length > MaxBones)
266- {
267- Log.Warning($"Skipping skinned mesh render for {meshAssetMesh.name}: " +
268- $"Bone count of {bones.Length} exceeds limit of {MaxBones}, try setting split large meshes in the import settings!");
269-
270- continue;
271- }
272- */
273-
274244 var material = renderer . materials [ j ] ;
275245
276- #if STAPLE_USE_EXPERIMENTAL_OPTIMIZATIONS
277- var needsChange = assetGuid != lastMeshAsset ||
278- material . Guid != ( lastMaterial ? . Guid ?? "" ) ||
279- lastAnimator != animator ;
280- #else
281246 var needsChange = assetGuid != lastMeshAsset ||
282247 material . Guid != ( lastMaterial ? . Guid ?? "" ) ||
283248 lastAnimator != animator ||
284- renderer . lighting != MaterialLighting . Unlit ;
285- #endif
249+ lastLighting != renderer . lighting ;
286250
287251 if ( needsChange )
288252 {
289253 lastMeshAsset = assetGuid ;
290254 lastMaterial = material ;
291255 lastAnimator = animator ;
256+ lastLighting = renderer . lighting ;
292257
293258 bgfx . discard ( ( byte ) bgfx . DiscardFlags . All ) ;
294259
@@ -329,10 +294,7 @@ public void Submit()
329294 bgfx . DiscardFlags . IndexBuffer |
330295 bgfx . DiscardFlags . Transform ;
331296
332- if ( renderer . stagingBoneMatrixBuffer != null )
333- {
334- renderer . stagingBoneMatrixBuffer . SetBufferActive ( 15 , Access . Read ) ;
335- }
297+ renderer . stagingBoneMatrixBuffer ? . SetBufferActive ( 15 , Access . Read ) ;
336298
337299 bgfx . submit ( pair . viewID , program , 0 , ( byte ) flags ) ;
338300 }
0 commit comments