-
-
Notifications
You must be signed in to change notification settings - Fork 36.1k
Closed
Labels
Milestone
Description
Description
Enable .sortObjects on MeshBatched introduce flickering ( WebGPU - Safari - iOS18 )
video recording : https://github.com/user-attachments/assets/5f43ab39-c780-4ca3-a260-e5c2a3bf402f
I also open a bug ticket on Webkit : https://bugs.webkit.org/show_bug.cgi?id=277465
Reproduction steps
- create a BatchedMesh
- batchedMesh.sortObjects = true
- turn camera, on some angle element which should be visible will disapear
Code
Simple batchedMesh example
const batchedMesh = new BatchedMesh(10000, maxVertices, maxIndices, scene.children[0].material )
batchedMesh.perObjectFrustumCulled = true
batchedMesh.sortObjects = true
for(let i = 0; i < geometries.length; i++){
let geometry = geometries[i]
batchedMesh.addGeometry(geometry)
}
let dummy = new Object3D()
for(let i = 0; i < 5000; i++){
batchedMesh.addInstance( i % 200 )
let angle = Math.random() * Math.PI * 2
let dist = 15 + Math.random() * 200
dummy.position.set(Math.cos(angle) * dist, ( Math.random() - .5) * 0.1, Math.sin(angle) * dist )
dummy.rotation.set( 0, Math.random() * Math.PI, 0 )
dummy.scale.set( 1, 1, 1 )
dummy.updateMatrix()
batchedMesh.setMatrixAt( i, dummy.matrix )
}
scene.add(batchedMesh)Live example
Screenshots
No response
Version
r167
Device
Mobile
Browser
Safari
OS
iOS