|
@@ -245,14 +245,20 @@ function WebGLRenderer( parameters ) {
|
|
|
function initGLContext() {
|
|
|
|
|
|
extensions = new WebGLExtensions( _gl );
|
|
|
- extensions.get( 'WEBGL_depth_texture' );
|
|
|
- extensions.get( 'OES_texture_float' );
|
|
|
+
|
|
|
+ if ( ! _gl.isWebGL2 ) {
|
|
|
+
|
|
|
+ extensions.get( 'WEBGL_depth_texture' );
|
|
|
+ extensions.get( 'OES_texture_float' );
|
|
|
+ extensions.get( 'OES_texture_half_float' );
|
|
|
+ extensions.get( 'OES_texture_half_float_linear' );
|
|
|
+ extensions.get( 'OES_standard_derivatives' );
|
|
|
+ extensions.get( 'OES_element_index_uint' );
|
|
|
+ extensions.get( 'ANGLE_instanced_arrays' );
|
|
|
+
|
|
|
+ }
|
|
|
+
|
|
|
extensions.get( 'OES_texture_float_linear' );
|
|
|
- extensions.get( 'OES_texture_half_float' );
|
|
|
- extensions.get( 'OES_texture_half_float_linear' );
|
|
|
- extensions.get( 'OES_standard_derivatives' );
|
|
|
- extensions.get( 'OES_element_index_uint' );
|
|
|
- extensions.get( 'ANGLE_instanced_arrays' );
|
|
|
|
|
|
utils = new WebGLUtils( _gl, extensions );
|
|
|
|
|
@@ -846,7 +852,7 @@ function WebGLRenderer( parameters ) {
|
|
|
|
|
|
function setupVertexAttributes( material, program, geometry ) {
|
|
|
|
|
|
- if ( geometry && geometry.isInstancedBufferGeometry ) {
|
|
|
+ if ( geometry && geometry.isInstancedBufferGeometry & ! _gl.isWebGL2 ) {
|
|
|
|
|
|
if ( extensions.get( 'ANGLE_instanced_arrays' ) === null ) {
|
|
|
|
|
@@ -2533,8 +2539,8 @@ function WebGLRenderer( parameters ) {
|
|
|
}
|
|
|
|
|
|
if ( textureType !== UnsignedByteType && utils.convert( textureType ) !== _gl.getParameter( _gl.IMPLEMENTATION_COLOR_READ_TYPE ) && // IE11, Edge and Chrome Mac < 52 (#9513)
|
|
|
- ! ( textureType === FloatType && ( extensions.get( 'OES_texture_float' ) || extensions.get( 'WEBGL_color_buffer_float' ) ) ) && // Chrome Mac >= 52 and Firefox
|
|
|
- ! ( textureType === HalfFloatType && extensions.get( 'EXT_color_buffer_half_float' ) ) ) {
|
|
|
+ ! ( textureType === FloatType && ( _gl.isWebGL2 || extensions.get( 'OES_texture_float' ) || extensions.get( 'WEBGL_color_buffer_float' ) ) ) && // Chrome Mac >= 52 and Firefox
|
|
|
+ ! ( textureType === HalfFloatType && ( _gl.isWebGL2 ? extensions.get( 'EXT_color_buffer_float' ) : extensions.get( 'EXT_color_buffer_half_float' ) ) ) ) {
|
|
|
|
|
|
console.error( 'THREE.WebGLRenderer.readRenderTargetPixels: renderTarget is not in UnsignedByteType or implementation defined type.' );
|
|
|
return;
|