提交 c3eff75e 编写于 作者: M Mr.doob

WebGLRenderer: Sort by material.id first.

上级 a2a30efe
......@@ -132,16 +132,12 @@
mesh.scale.x = mesh.scale.y = mesh.scale.z = Math.random() * 4 + 1;
mesh.matrixAutoUpdate = false;
mesh.updateMatrix();
scene.add( mesh );
}
renderer = new THREE.WebGLRenderer();
renderer.setSize( window.innerWidth, window.innerHeight );
renderer.sortObjects = false;
container.appendChild( renderer.domElement );
if ( statsEnabled ) {
......
......@@ -3180,7 +3180,11 @@ THREE.WebGLRenderer = function ( parameters ) {
function painterSortStable ( a, b ) {
if ( a.z !== b.z ) {
if ( a.materialId !== b.materialId ) {
return b.materialId - a.materialId;
} else if ( a.z !== b.z ) {
return b.z - a.z;
......@@ -3269,6 +3273,7 @@ THREE.WebGLRenderer = function ( parameters ) {
object = webglObject.object;
webglObject.id = i;
webglObject.materialId = object.material.id;
webglObject.render = false;
if ( object.visible ) {
......@@ -3811,6 +3816,7 @@ THREE.WebGLRenderer = function ( parameters ) {
id: null,
buffer: buffer,
object: object,
materialId: null,
opaque: null,
transparent: null,
z: 0
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册