|
|
@@ -111,6 +111,21 @@ class WebGLRenderer {
|
|
|
|
|
|
}
|
|
|
|
|
|
+ const INTEGER_FORMATS = new Set( [
|
|
|
+ RGBAIntegerFormat,
|
|
|
+ RGIntegerFormat,
|
|
|
+ RedIntegerFormat
|
|
|
+ ] );
|
|
|
+
|
|
|
+ const UNSIGNED_TYPES = new Set( [
|
|
|
+ UnsignedByteType,
|
|
|
+ UnsignedIntType,
|
|
|
+ UnsignedShortType,
|
|
|
+ UnsignedInt248Type,
|
|
|
+ UnsignedShort4444Type,
|
|
|
+ UnsignedShort5551Type
|
|
|
+ ] );
|
|
|
+
|
|
|
const uintClearColor = new Uint32Array( 4 );
|
|
|
const intClearColor = new Int32Array( 4 );
|
|
|
|
|
|
@@ -884,9 +899,7 @@ class WebGLRenderer {
|
|
|
if ( _currentRenderTarget !== null ) {
|
|
|
|
|
|
const targetFormat = _currentRenderTarget.texture.format;
|
|
|
- isIntegerFormat = targetFormat === RGBAIntegerFormat ||
|
|
|
- targetFormat === RGIntegerFormat ||
|
|
|
- targetFormat === RedIntegerFormat;
|
|
|
+ isIntegerFormat = INTEGER_FORMATS.has( targetFormat );
|
|
|
|
|
|
}
|
|
|
|
|
|
@@ -895,12 +908,7 @@ class WebGLRenderer {
|
|
|
if ( isIntegerFormat ) {
|
|
|
|
|
|
const targetType = _currentRenderTarget.texture.type;
|
|
|
- const isUnsignedType = targetType === UnsignedByteType ||
|
|
|
- targetType === UnsignedIntType ||
|
|
|
- targetType === UnsignedShortType ||
|
|
|
- targetType === UnsignedInt248Type ||
|
|
|
- targetType === UnsignedShort4444Type ||
|
|
|
- targetType === UnsignedShort5551Type;
|
|
|
+ const isUnsignedType = UNSIGNED_TYPES.has( targetType );
|
|
|
|
|
|
const clearColor = background.getClearColor();
|
|
|
const a = background.getClearAlpha();
|
|
|
@@ -1830,9 +1838,7 @@ class WebGLRenderer {
|
|
|
|
|
|
function renderScene( currentRenderList, scene, camera, viewport ) {
|
|
|
|
|
|
- const opaqueObjects = currentRenderList.opaque;
|
|
|
- const transmissiveObjects = currentRenderList.transmissive;
|
|
|
- const transparentObjects = currentRenderList.transparent;
|
|
|
+ const { opaque: opaqueObjects, transmissive: transmissiveObjects, transparent: transparentObjects } = currentRenderList;
|
|
|
|
|
|
currentRenderState.setupLightsView( camera );
|
|
|
|
|
|
@@ -1937,10 +1943,7 @@ class WebGLRenderer {
|
|
|
|
|
|
const renderItem = transmissiveObjects[ i ];
|
|
|
|
|
|
- const object = renderItem.object;
|
|
|
- const geometry = renderItem.geometry;
|
|
|
- const material = renderItem.material;
|
|
|
- const group = renderItem.group;
|
|
|
+ const { object, geometry, material, group } = renderItem;
|
|
|
|
|
|
if ( material.side === DoubleSide && object.layers.test( camera.layers ) ) {
|
|
|
|
|
|
@@ -1987,9 +1990,7 @@ class WebGLRenderer {
|
|
|
|
|
|
const renderItem = renderList[ i ];
|
|
|
|
|
|
- const object = renderItem.object;
|
|
|
- const geometry = renderItem.geometry;
|
|
|
- const group = renderItem.group;
|
|
|
+ const { object, geometry, group } = renderItem;
|
|
|
let material = renderItem.material;
|
|
|
|
|
|
if ( material.allowOverride === true && overrideMaterial !== null ) {
|