|
@@ -1073,7 +1073,7 @@ function WebGLRenderer( parameters ) {
|
|
|
currentRenderList = renderLists.get( scene, camera );
|
|
|
currentRenderList.init();
|
|
|
|
|
|
- projectObject( scene, camera, _this.sortObjects );
|
|
|
+ projectObject( scene, camera, 0, _this.sortObjects );
|
|
|
|
|
|
if ( _this.sortObjects === true ) {
|
|
|
|
|
@@ -1164,7 +1164,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
};
|
|
|
|
|
|
- function projectObject( object, camera, sortObjects ) {
|
|
|
+ function projectObject( object, camera, groupOrder, sortObjects ) {
|
|
|
|
|
|
if ( object.visible === false ) return;
|
|
|
|
|
@@ -1172,7 +1172,11 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
if ( visible ) {
|
|
|
|
|
|
- if ( object.isLight ) {
|
|
|
+ if ( object.isGroup ) {
|
|
|
+
|
|
|
+ groupOrder = object.renderOrder;
|
|
|
+
|
|
|
+ } else if ( object.isLight ) {
|
|
|
|
|
|
currentRenderState.pushLight( object );
|
|
|
|
|
@@ -1196,7 +1200,7 @@ function WebGLRenderer( parameters ) {
|
|
|
var geometry = objects.update( object );
|
|
|
var material = object.material;
|
|
|
|
|
|
- currentRenderList.push( object, geometry, material, _vector3.z, null );
|
|
|
+ currentRenderList.push( object, geometry, material, groupOrder, _vector3.z, null );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -1209,7 +1213,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
}
|
|
|
|
|
|
- currentRenderList.push( object, null, object.material, _vector3.z, null );
|
|
|
+ currentRenderList.push( object, null, object.material, groupOrder, _vector3.z, null );
|
|
|
|
|
|
} else if ( object.isMesh || object.isLine || object.isPoints ) {
|
|
|
|
|
@@ -1242,7 +1246,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
if ( groupMaterial && groupMaterial.visible ) {
|
|
|
|
|
|
- currentRenderList.push( object, geometry, groupMaterial, _vector3.z, group );
|
|
|
+ currentRenderList.push( object, geometry, groupMaterial, groupOrder, _vector3.z, group );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -1250,7 +1254,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
} else if ( material.visible ) {
|
|
|
|
|
|
- currentRenderList.push( object, geometry, material, _vector3.z, null );
|
|
|
+ currentRenderList.push( object, geometry, material, groupOrder, _vector3.z, null );
|
|
|
|
|
|
}
|
|
|
|
|
@@ -1264,7 +1268,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
for ( var i = 0, l = children.length; i < l; i ++ ) {
|
|
|
|
|
|
- projectObject( children[ i ], camera, sortObjects );
|
|
|
+ projectObject( children[ i ], camera, groupOrder, sortObjects );
|
|
|
|
|
|
}
|
|
|
|