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

WebGLRenderer: Transmission code clean up.

上级 738561ba
......@@ -167,7 +167,6 @@ function WebGLRenderer( parameters ) {
// transmission
let _transmissionRenderTarget = null;
const _transmissionSamplerSize = new Vector2( 1024, 1024 ); // Should be configurable?
// camera matrices cache
......@@ -1268,7 +1267,7 @@ function WebGLRenderer( parameters ) {
if ( _transmissionRenderTarget === null ) {
_transmissionRenderTarget = new WebGLRenderTarget( _transmissionSamplerSize.x, _transmissionSamplerSize.y, {
_transmissionRenderTarget = new WebGLRenderTarget( 1024, 1024, {
generateMipmaps: true,
minFilter: LinearMipmapLinearFilter,
magFilter: NearestFilter,
......@@ -1281,8 +1280,11 @@ function WebGLRenderer( parameters ) {
const currentRenderTarget = _this.getRenderTarget();
_this.setRenderTarget( _transmissionRenderTarget );
_this.clear();
renderObjects( opaqueObjects, scene, camera );
textures.updateRenderTargetMipmap( _transmissionRenderTarget );
_this.setRenderTarget( currentRenderTarget );
renderObjects( transmissiveObjects, scene, camera );
......
......@@ -117,13 +117,17 @@ function WebGLRenderList( properties ) {
const renderItem = getNextRenderItem( object, geometry, material, groupOrder, z, group );
if ( material.transmission !== undefined && material.transmission > 0.0 ) {
if ( material.transmission > 0.0 ) {
transmissive.push( renderItem );
} else if ( material.transparent === true ) {
transparent.push( renderItem );
} else {
( material.transparent === true ? transparent : opaque ).push( renderItem );
opaque.push( renderItem );
}
......@@ -133,13 +137,17 @@ function WebGLRenderList( properties ) {
const renderItem = getNextRenderItem( object, geometry, material, groupOrder, z, group );
if ( material.transmission !== undefined && material.transmission > 0.0 ) {
if ( material.transmission > 0.0 ) {
transmissive.unshift( renderItem );
} else if ( material.transparent === true ) {
transparent.unshift( renderItem );
} else {
( material.transparent === true ? transparent : opaque ).unshift( renderItem );
opaque.unshift( renderItem );
}
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册