Skip to content

Commit d9af995

Browse files
committed
r133 (bis)
1 parent 48be61a commit d9af995

File tree

5 files changed

+49
-83
lines changed

5 files changed

+49
-83
lines changed

build/three.js

Lines changed: 21 additions & 35 deletions
Original file line numberDiff line numberDiff line change
@@ -12503,7 +12503,6 @@
1250312503

1250412504
getExtension('OES_texture_float_linear');
1250512505
getExtension('EXT_color_buffer_half_float');
12506-
getExtension('EXT_multisampled_render_to_texture');
1250712506
},
1250812507
get: function (name) {
1250912508
const extension = getExtension(name);
@@ -17624,8 +17623,6 @@
1762417623
let xrFrame = null;
1762517624
let depthStyle = null;
1762617625
let clearStyle = null;
17627-
const msaartcSupported = renderer.extensions.has('EXT_multisampled_render_to_texture');
17628-
let msaaExt = null;
1762917626
const controllers = [];
1763017627
const inputSourcesMap = new Map(); //
1763117628

@@ -17824,9 +17821,7 @@
1782417821
layers: [glProjLayer]
1782517822
});
1782617823

17827-
if (isMultisample && msaartcSupported) {
17828-
msaaExt = renderer.extensions.get('EXT_multisampled_render_to_texture');
17829-
} else if (isMultisample) {
17824+
if (isMultisample) {
1783017825
glMultisampledFramebuffer = gl.createFramebuffer();
1783117826
glColorRenderbuffer = gl.createRenderbuffer();
1783217827
gl.bindRenderbuffer(gl.RENDERBUFFER, glColorRenderbuffer);
@@ -18055,20 +18050,11 @@
1805518050
const glSubImage = glBinding.getViewSubImage(glProjLayer, view);
1805618051
state.bindXRFramebuffer(glFramebuffer);
1805718052

18058-
if (isMultisample && msaartcSupported) {
18059-
if (glSubImage.depthStencilTexture !== undefined) {
18060-
msaaExt.framebufferTexture2DMultisampleEXT(gl.FRAMEBUFFER, depthStyle, gl.TEXTURE_2D, glSubImage.depthStencilTexture, 0, 4);
18061-
}
18062-
18063-
msaaExt.framebufferTexture2DMultisampleEXT(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, glSubImage.colorTexture, 0, 4);
18064-
} else {
18065-
if (glSubImage.depthStencilTexture !== undefined) {
18066-
gl.framebufferTexture2D(gl.FRAMEBUFFER, depthStyle, gl.TEXTURE_2D, glSubImage.depthStencilTexture, 0);
18067-
}
18068-
18069-
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, glSubImage.colorTexture, 0);
18053+
if (glSubImage.depthStencilTexture !== undefined) {
18054+
gl.framebufferTexture2D(gl.FRAMEBUFFER, depthStyle, gl.TEXTURE_2D, glSubImage.depthStencilTexture, 0);
1807018055
}
1807118056

18057+
gl.framebufferTexture2D(gl.FRAMEBUFFER, gl.COLOR_ATTACHMENT0, gl.TEXTURE_2D, glSubImage.colorTexture, 0);
1807218058
viewport = glSubImage.viewport;
1807318059
}
1807418060

@@ -18086,7 +18072,7 @@
1808618072
}
1808718073
}
1808818074

18089-
if (isMultisample && !msaartcSupported) {
18075+
if (isMultisample) {
1809018076
state.bindXRFramebuffer(glMultisampledFramebuffer);
1809118077
if (clearStyle !== null) gl.clear(clearStyle);
1809218078
}
@@ -18103,7 +18089,7 @@
1810318089

1810418090
if (onAnimationFrameCallback) onAnimationFrameCallback(time, frame);
1810518091

18106-
if (isMultisample && !msaartcSupported) {
18092+
if (isMultisample) {
1810718093
const width = glProjLayer.textureWidth;
1810818094
const height = glProjLayer.textureHeight;
1810918095
state.bindFramebuffer(gl.READ_FRAMEBUFFER, glMultisampledFramebuffer);
@@ -19170,7 +19156,7 @@
1917019156
if (scene === null) scene = _emptyScene; // renderBufferDirect second parameter used to be fog (could be null)
1917119157

1917219158
const frontFaceCW = object.isMesh && object.matrixWorld.determinant() < 0;
19173-
const program = setProgram(camera, scene, material, object);
19159+
const program = setProgram(camera, scene, geometry, material, object);
1917419160
state.setMaterial(material, frontFaceCW); //
1917519161

1917619162
let index = geometry.index;
@@ -19190,10 +19176,6 @@
1919019176
rangeFactor = 2;
1919119177
}
1919219178

19193-
if (geometry.morphAttributes.position !== undefined || geometry.morphAttributes.normal !== undefined) {
19194-
morphtargets.update(object, geometry, material, program);
19195-
}
19196-
1919719179
bindingStates.setup(object, material, program, geometry, index);
1919819180
let attribute;
1919919181
let renderer = bufferRenderer;
@@ -19553,7 +19535,7 @@
1955319535
material.onBeforeRender(_this, scene, camera, geometry, object, group);
1955419536

1955519537
if (object.isImmediateRenderObject) {
19556-
const program = setProgram(camera, scene, material, object);
19538+
const program = setProgram(camera, scene, geometry, material, object);
1955719539
state.setMaterial(material);
1955819540
bindingStates.reset();
1955919541
renderObjectImmediate(object, program);
@@ -19671,19 +19653,19 @@
1967119653
materialProperties.vertexTangents = parameters.vertexTangents;
1967219654
}
1967319655

19674-
function setProgram(camera, scene, material, object) {
19656+
function setProgram(camera, scene, geometry, material, object) {
1967519657
if (scene.isScene !== true) scene = _emptyScene; // scene could be a Mesh, Line, Points, ...
1967619658

1967719659
textures.resetTextureUnits();
1967819660
const fog = scene.fog;
1967919661
const environment = material.isMeshStandardMaterial ? scene.environment : null;
1968019662
const encoding = _currentRenderTarget === null ? _this.outputEncoding : _currentRenderTarget.texture.encoding;
1968119663
const envMap = (material.isMeshStandardMaterial ? cubeuvmaps : cubemaps).get(material.envMap || environment);
19682-
const vertexAlphas = material.vertexColors === true && !!object.geometry && !!object.geometry.attributes.color && object.geometry.attributes.color.itemSize === 4;
19683-
const vertexTangents = !!material.normalMap && !!object.geometry && !!object.geometry.attributes.tangent;
19684-
const morphTargets = !!object.geometry && !!object.geometry.morphAttributes.position;
19685-
const morphNormals = !!object.geometry && !!object.geometry.morphAttributes.normal;
19686-
const morphTargetsCount = !!object.geometry && !!object.geometry.morphAttributes.position ? object.geometry.morphAttributes.position.length : 0;
19664+
const vertexAlphas = material.vertexColors === true && !!geometry && !!geometry.attributes.color && geometry.attributes.color.itemSize === 4;
19665+
const vertexTangents = !!material.normalMap && !!geometry && !!geometry.attributes.tangent;
19666+
const morphTargets = !!geometry && !!geometry.morphAttributes.position;
19667+
const morphNormals = !!geometry && !!geometry.morphAttributes.normal;
19668+
const morphTargetsCount = !!geometry && !!geometry.morphAttributes.position ? geometry.morphAttributes.position.length : 0;
1968719669
const materialProperties = properties.get(material);
1968819670
const lights = currentRenderState.state.lights;
1968919671

@@ -19793,9 +19775,9 @@
1979319775
if (material.isMeshPhongMaterial || material.isMeshToonMaterial || material.isMeshLambertMaterial || material.isMeshBasicMaterial || material.isMeshStandardMaterial || material.isShaderMaterial || material.isShadowMaterial || object.isSkinnedMesh) {
1979419776
p_uniforms.setValue(_gl, 'viewMatrix', camera.matrixWorldInverse);
1979519777
}
19796-
} // skinning uniforms must be set even if material didn't change
19797-
// auto-setting of texture unit for bone texture must go before other textures
19798-
// otherwise textures used for skinning can take over texture units reserved for other material textures
19778+
} // skinning and morph target uniforms must be set even if material didn't change
19779+
// auto-setting of texture unit for bone and morph texture must go before other textures
19780+
// otherwise textures used for skinning and morphing can take over texture units reserved for other material textures
1979919781

1980019782

1980119783
if (object.isSkinnedMesh) {
@@ -19814,6 +19796,10 @@
1981419796
}
1981519797
}
1981619798

19799+
if (!!geometry && (geometry.morphAttributes.position !== undefined || geometry.morphAttributes.normal !== undefined)) {
19800+
morphtargets.update(object, geometry, material, program);
19801+
}
19802+
1981719803
if (refreshMaterial || materialProperties.receiveShadow !== object.receiveShadow) {
1981819804
materialProperties.receiveShadow = object.receiveShadow;
1981919805
p_uniforms.setValue(_gl, 'receiveShadow', object.receiveShadow);

build/three.min.js

Lines changed: 1 addition & 1 deletion
Some generated files are not rendered by default. Learn more about customizing how changed files appear on GitHub.

build/three.module.js

Lines changed: 25 additions & 45 deletions
Original file line numberDiff line numberDiff line change
@@ -16194,7 +16194,6 @@ function WebGLExtensions( gl ) {
1619416194

1619516195
getExtension( 'OES_texture_float_linear' );
1619616196
getExtension( 'EXT_color_buffer_half_float' );
16197-
getExtension( 'EXT_multisampled_render_to_texture' );
1619816197

1619916198
},
1620016199

@@ -23665,8 +23664,6 @@ class WebXRManager extends EventDispatcher {
2366523664
let xrFrame = null;
2366623665
let depthStyle = null;
2366723666
let clearStyle = null;
23668-
const msaartcSupported = renderer.extensions.has( 'EXT_multisampled_render_to_texture' );
23669-
let msaaExt = null;
2367023667

2367123668
const controllers = [];
2367223669
const inputSourcesMap = new Map();
@@ -23936,11 +23933,7 @@ class WebXRManager extends EventDispatcher {
2393623933

2393723934
session.updateRenderState( { layers: [ glProjLayer ] } );
2393823935

23939-
if ( isMultisample && msaartcSupported ) {
23940-
23941-
msaaExt = renderer.extensions.get( 'EXT_multisampled_render_to_texture' );
23942-
23943-
} else if ( isMultisample ) {
23936+
if ( isMultisample ) {
2394423937

2394523938
glMultisampledFramebuffer = gl.createFramebuffer();
2394623939
glColorRenderbuffer = gl.createRenderbuffer();
@@ -24261,28 +24254,14 @@ class WebXRManager extends EventDispatcher {
2426124254

2426224255
state.bindXRFramebuffer( glFramebuffer );
2426324256

24264-
if ( isMultisample && msaartcSupported ) {
24265-
24266-
if ( glSubImage.depthStencilTexture !== undefined ) {
24267-
24268-
msaaExt.framebufferTexture2DMultisampleEXT( 36160, depthStyle, 3553, glSubImage.depthStencilTexture, 0, 4 );
24269-
24270-
}
24271-
24272-
msaaExt.framebufferTexture2DMultisampleEXT( 36160, 36064, 3553, glSubImage.colorTexture, 0, 4 );
24273-
24274-
} else {
24275-
24276-
if ( glSubImage.depthStencilTexture !== undefined ) {
24277-
24278-
gl.framebufferTexture2D( 36160, depthStyle, 3553, glSubImage.depthStencilTexture, 0 );
24279-
24280-
}
24257+
if ( glSubImage.depthStencilTexture !== undefined ) {
2428124258

24282-
gl.framebufferTexture2D( 36160, 36064, 3553, glSubImage.colorTexture, 0 );
24259+
gl.framebufferTexture2D( 36160, depthStyle, 3553, glSubImage.depthStencilTexture, 0 );
2428324260

2428424261
}
2428524262

24263+
gl.framebufferTexture2D( 36160, 36064, 3553, glSubImage.colorTexture, 0 );
24264+
2428624265
viewport = glSubImage.viewport;
2428724266

2428824267
}
@@ -24307,7 +24286,7 @@ class WebXRManager extends EventDispatcher {
2430724286

2430824287
}
2430924288

24310-
if ( isMultisample && ! msaartcSupported ) {
24289+
if ( isMultisample ) {
2431124290

2431224291
state.bindXRFramebuffer( glMultisampledFramebuffer );
2431324292

@@ -24332,7 +24311,7 @@ class WebXRManager extends EventDispatcher {
2433224311

2433324312
if ( onAnimationFrameCallback ) onAnimationFrameCallback( time, frame );
2433424313

24335-
if ( isMultisample && ! msaartcSupported ) {
24314+
if ( isMultisample ) {
2433624315

2433724316
const width = glProjLayer.textureWidth;
2433824317
const height = glProjLayer.textureHeight;
@@ -25840,7 +25819,7 @@ function WebGLRenderer( parameters = {} ) {
2584025819

2584125820
const frontFaceCW = ( object.isMesh && object.matrixWorld.determinant() < 0 );
2584225821

25843-
const program = setProgram( camera, scene, material, object );
25822+
const program = setProgram( camera, scene, geometry, material, object );
2584425823

2584525824
state.setMaterial( material, frontFaceCW );
2584625825

@@ -25872,12 +25851,6 @@ function WebGLRenderer( parameters = {} ) {
2587225851

2587325852
}
2587425853

25875-
if ( geometry.morphAttributes.position !== undefined || geometry.morphAttributes.normal !== undefined ) {
25876-
25877-
morphtargets.update( object, geometry, material, program );
25878-
25879-
}
25880-
2588125854
bindingStates.setup( object, material, program, geometry, index );
2588225855

2588325856
let attribute;
@@ -26442,7 +26415,7 @@ function WebGLRenderer( parameters = {} ) {
2644226415

2644326416
if ( object.isImmediateRenderObject ) {
2644426417

26445-
const program = setProgram( camera, scene, material, object );
26418+
const program = setProgram( camera, scene, geometry, material, object );
2644626419

2644726420
state.setMaterial( material );
2644826421

@@ -26607,7 +26580,7 @@ function WebGLRenderer( parameters = {} ) {
2660726580

2660826581
}
2660926582

26610-
function setProgram( camera, scene, material, object ) {
26583+
function setProgram( camera, scene, geometry, material, object ) {
2661126584

2661226585
if ( scene.isScene !== true ) scene = _emptyScene; // scene could be a Mesh, Line, Points, ...
2661326586

@@ -26617,11 +26590,11 @@ function WebGLRenderer( parameters = {} ) {
2661726590
const environment = material.isMeshStandardMaterial ? scene.environment : null;
2661826591
const encoding = ( _currentRenderTarget === null ) ? _this.outputEncoding : _currentRenderTarget.texture.encoding;
2661926592
const envMap = ( material.isMeshStandardMaterial ? cubeuvmaps : cubemaps ).get( material.envMap || environment );
26620-
const vertexAlphas = material.vertexColors === true && !! object.geometry && !! object.geometry.attributes.color && object.geometry.attributes.color.itemSize === 4;
26621-
const vertexTangents = !! material.normalMap && !! object.geometry && !! object.geometry.attributes.tangent;
26622-
const morphTargets = !! object.geometry && !! object.geometry.morphAttributes.position;
26623-
const morphNormals = !! object.geometry && !! object.geometry.morphAttributes.normal;
26624-
const morphTargetsCount = ( !! object.geometry && !! object.geometry.morphAttributes.position ) ? object.geometry.morphAttributes.position.length : 0;
26593+
const vertexAlphas = material.vertexColors === true && !! geometry && !! geometry.attributes.color && geometry.attributes.color.itemSize === 4;
26594+
const vertexTangents = !! material.normalMap && !! geometry && !! geometry.attributes.tangent;
26595+
const morphTargets = !! geometry && !! geometry.morphAttributes.position;
26596+
const morphNormals = !! geometry && !! geometry.morphAttributes.normal;
26597+
const morphTargetsCount = ( !! geometry && !! geometry.morphAttributes.position ) ? geometry.morphAttributes.position.length : 0;
2662526598

2662626599
const materialProperties = properties.get( material );
2662726600
const lights = currentRenderState.state.lights;
@@ -26819,9 +26792,9 @@ function WebGLRenderer( parameters = {} ) {
2681926792

2682026793
}
2682126794

26822-
// skinning uniforms must be set even if material didn't change
26823-
// auto-setting of texture unit for bone texture must go before other textures
26824-
// otherwise textures used for skinning can take over texture units reserved for other material textures
26795+
// skinning and morph target uniforms must be set even if material didn't change
26796+
// auto-setting of texture unit for bone and morph texture must go before other textures
26797+
// otherwise textures used for skinning and morphing can take over texture units reserved for other material textures
2682526798

2682626799
if ( object.isSkinnedMesh ) {
2682726800

@@ -26849,6 +26822,13 @@ function WebGLRenderer( parameters = {} ) {
2684926822

2685026823
}
2685126824

26825+
if ( !! geometry && ( geometry.morphAttributes.position !== undefined || geometry.morphAttributes.normal !== undefined ) ) {
26826+
26827+
morphtargets.update( object, geometry, material, program );
26828+
26829+
}
26830+
26831+
2685226832
if ( refreshMaterial || materialProperties.receiveShadow !== object.receiveShadow ) {
2685326833

2685426834
materialProperties.receiveShadow = object.receiveShadow;

editor/sw.js

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,4 +1,4 @@
1-
// r133
1+
// r133.1
22

33
const cacheName = 'threejs-editor';
44

package.json

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -1,6 +1,6 @@
11
{
22
"name": "three",
3-
"version": "0.133.0",
3+
"version": "0.133.1",
44
"description": "JavaScript 3D library",
55
"main": "build/three.js",
66
"module": "build/three.module.js",

0 commit comments

Comments
 (0)