未验证 提交 608ede85 编写于 作者: M Mr.doob 提交者: GitHub

Merge pull request #14495 from Mugen87/dev2

WebGLRenderer: Render sprites along opaque and transparent objects
......@@ -1102,7 +1102,6 @@ function WebGLRenderer( parameters ) {
var opaqueObjects = currentRenderList.opaque;
var transparentObjects = currentRenderList.transparent;
var spriteObjects = currentRenderList.sprites;
if ( scene.overrideMaterial ) {
......@@ -1110,7 +1109,6 @@ function WebGLRenderer( parameters ) {
if ( opaqueObjects.length ) renderObjects( opaqueObjects, scene, camera, overrideMaterial );
if ( transparentObjects.length ) renderObjects( transparentObjects, scene, camera, overrideMaterial );
if ( spriteObjects.length ) renderObjects( spriteObjects, scene, camera, overrideMaterial );
} else {
......@@ -1122,10 +1120,6 @@ function WebGLRenderer( parameters ) {
if ( transparentObjects.length ) renderObjects( transparentObjects, scene, camera );
//
if ( spriteObjects.length ) renderObjects( spriteObjects, scene, camera );
}
// Generate mipmap if we're using any kind of mipmap filtering
......
......@@ -47,24 +47,6 @@ function reversePainterSortStable( a, b ) {
}
function painterSortStableSprites( a, b ) {
if ( a.renderOrder !== b.renderOrder ) {
return a.renderOrder - b.renderOrder;
} else if ( a.z !== b.z ) {
return b.z - a.z;
} else {
return b.id - a.id;
}
}
function WebGLRenderList() {
var renderItems = [];
......@@ -72,7 +54,6 @@ function WebGLRenderList() {
var opaque = [];
var transparent = [];
var sprites = [];
function init() {
......@@ -80,7 +61,6 @@ function WebGLRenderList() {
opaque.length = 0;
transparent.length = 0;
sprites.length = 0;
}
......@@ -116,15 +96,8 @@ function WebGLRenderList() {
}
if ( object.isSprite ) {
sprites.push( renderItem );
} else {
( material.transparent === true ? transparent : opaque ).push( renderItem );
}
( material.transparent === true ? transparent : opaque ).push( renderItem );
renderItemsIndex ++;
......@@ -134,14 +107,12 @@ function WebGLRenderList() {
if ( opaque.length > 1 ) opaque.sort( painterSortStable );
if ( transparent.length > 1 ) transparent.sort( reversePainterSortStable );
if ( sprites.length > 1 ) sprites.sort( painterSortStableSprites );
}
return {
opaque: opaque,
transparent: transparent,
sprites: sprites,
init: init,
push: push,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册