Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
99d5b58a
T
three.js
项目概览
车家大少爷
/
three.js
与 Fork 源项目一致
从无法访问的项目Fork
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
T
three.js
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
99d5b58a
编写于
5月 23, 2018
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updated builds.
上级
53cfc2e2
变更
3
展开全部
隐藏空白更改
内联
并排
Showing
3 changed file
with
1012 addition
and
853 deletion
+1012
-853
build/three.js
build/three.js
+147
-68
build/three.min.js
build/three.min.js
+718
-717
build/three.module.js
build/three.module.js
+147
-68
未找到文件。
build/three.js
浏览文件 @
99d5b58a
...
...
@@ -7249,6 +7249,61 @@
};
/**
* @author mrdoob / http://mrdoob.com/
*/
function WebGLAnimation() {
var context = null;
var isAnimating = false;
var animationLoop = null;
function onAnimationFrame( time, frame ) {
if ( isAnimating === false ) return;
animationLoop( time, frame );
context.requestAnimationFrame( onAnimationFrame );
}
return {
start: function () {
if ( isAnimating === true ) return;
if ( animationLoop === null ) return;
context.requestAnimationFrame( onAnimationFrame );
isAnimating = true;
},
stop: function () {
isAnimating = false;
},
setAnimationLoop: function ( callback ) {
animationLoop = callback;
},
setContext: function ( value ) {
context = value;
}
}
}
/**
* @author mrdoob / http://mrdoob.com/
*/
...
...
@@ -21218,10 +21273,14 @@
renderer.setDrawingBufferSize( renderWidth * 2, renderHeight, 1 );
animation.start();
} else if ( scope.enabled ) {
renderer.setDrawingBufferSize( currentSize.width, currentSize.height, currentPixelRatio );
animation.stop();
}
}
...
...
@@ -21241,6 +21300,8 @@
if ( value !== undefined ) device = value;
animation.setContext( value );
};
this.setPoseTarget = function ( object ) {
...
...
@@ -21379,9 +21440,13 @@
this.isPresenting = isPresenting;
this.requestAnimationFrame = function ( callback ) {
// Animation Loop
var animation = new WebGLAnimation();
device.requestAnimationFrame( callback );
this.setAnimationLoop = function ( callback ) {
animation.setAnimationLoop( callback );
};
...
...
@@ -21401,6 +21466,14 @@
};
// DEPRECATED
this.requestAnimationFrame = function ( callback ) {
// device.requestAnimationFrame( callback );
};
}
/**
...
...
@@ -21455,18 +21528,30 @@
};
//
this.setSession = function ( value ) {
session = value;
if ( session !== null ) {
session.addEventListener( 'end', function () {
gl.bindFramebuffer( gl.FRAMEBUFFER, null );
animation.stop();
} );
session.baseLayer = new XRWebGLLayer( session, gl );
session.requestFrameOfReference( 'stage' ).then( function ( value ) {
frameOfRef = value;
isExclusive = session.exclusive;
animation.setContext( session );
animation.start();
} );
}
...
...
@@ -21481,48 +21566,55 @@
this.isPresenting = isPresenting;
this.requestAnimationFrame = function ( callback ) {
// Animation Loop
function onFrame( time, frame ) {
var onAnimationFrameCallback = null;
pose = frame.getDevicePose( frameOfRef );
function onAnimationFrame( time, frame ) {
var layer = session.baseLayer;
var views = frame.views;
pose = frame.getDevicePose( frameOfRef );
for ( var i = 0; i < views.length; i ++ ) {
var layer = session.baseLayer;
var views = frame.views;
var view = views[ i ];
var viewport = layer.getViewport( view );
var viewMatrix = pose.getViewMatrix( view );
for ( var i = 0; i < views.length; i ++ ) {
var camera = cameraVR.cameras[ i ];
camera.projectionMatrix.fromArray( view.projectionMatrix );
camera.matrixWorldInverse.fromArray( viewMatrix );
camera.matrixWorld.getInverse( camera.matrixWorldInverse );
camera.viewport.set( viewport.x, viewport.y, viewport.width, viewport.height );
var view = views[ i ];
var viewport = layer.getViewport( view );
var viewMatrix = pose.getViewMatrix( view );
if ( i === 0 ) {
var camera = cameraVR.cameras[ i ];
camera.projectionMatrix.fromArray( view.projectionMatrix );
camera.matrixWorldInverse.fromArray( viewMatrix );
camera.matrixWorld.getInverse( camera.matrixWorldInverse );
camera.viewport.set( viewport.x, viewport.y, viewport.width, viewport.height );
cameraVR.matrixWorld.copy( camera.matrixWorld );
cameraVR.matrixWorldInverse.copy( camera.matrixWorldInverse );
if ( i === 0 ) {
// HACK (mrdoob)
// https://github.com/w3c/webvr/issues/203
cameraVR.matrixWorld.copy( camera.matrixWorld );
cameraVR.matrixWorldInverse.copy( camera.matrixWorldInverse );
cameraVR.projectionMatrix.copy( camera.projectionMatrix );
// HACK (mrdoob)
// https://github.com/w3c/webvr/issues/203
}
cameraVR.projectionMatrix.copy( camera.projectionMatrix );
}
gl.bindFramebuffer( gl.FRAMEBUFFER, session.baseLayer.framebuffer );
}
callback(
);
gl.bindFramebuffer( gl.FRAMEBUFFER, session.baseLayer.framebuffer
);
}
if ( onAnimationFrameCallback ) onAnimationFrameCallback();
}
session.requestAnimationFrame( onFrame );
var animation = new WebGLAnimation();
animation.setAnimationLoop( onAnimationFrame );
this.setAnimationLoop = function ( callback ) {
onAnimationFrameCallback = callback;
};
...
...
@@ -21535,6 +21627,8 @@
};
this.requestAnimationFrame = function () {};
this.submitFrame = function () {};
}
...
...
@@ -21999,7 +22093,7 @@
vr.dispose();
stopAnimation
();
animation.stop
();
};
...
...
@@ -22510,53 +22604,25 @@
// Animation Loop
var isAnimating = false;
var onAnimationFrame = null;
function startAnimation() {
if ( isAnimating ) return;
requestAnimationLoopFrame();
isAnimating = true;
}
var onAnimationFrameCallback = null;
function
stopAnimation
() {
function
onAnimationFrame
() {
isAnimating = false;
if ( vr.isPresenting() ) return;
if ( onAnimationFrameCallback ) onAnimationFrameCallback();
}
function requestAnimationLoopFrame() {
if ( vr.isPresenting() ) {
vr.requestAnimationFrame( animationLoop );
} else {
window.requestAnimationFrame( animationLoop );
var animation = new WebGLAnimation();
animation.setAnimationLoop( onAnimationFrame );
animation.setContext( window );
}
}
function animationLoop( time ) {
if ( isAnimating === false ) return;
this.setAnimationLoop = function ( callback ) {
onAnimationFrame( time );
onAnimationFrameCallback = callback;
vr.setAnimationLoop( callback );
requestAnimationLoopFrame();
}
this.animate = function ( callback ) {
onAnimationFrame = callback;
onAnimationFrame !== null ? startAnimation() : stopAnimation();
animation.start();
};
...
...
@@ -25839,6 +25905,12 @@
var i, j;
if ( func.length < 3 ) {
console.error( 'THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.' );
}
// generate vertices, normals and uvs
var sliceCount = slices + 1;
...
...
@@ -38352,7 +38424,7 @@
function createPaths( text, size, divisions, data ) {
var chars =
String( text ).split( '' );
var chars =
Array.from ? Array.from( text ) : String( text ).split( '' ); // see #13988
var scale = size / data.resolution;
var line_height = ( data.boundingBox.yMax - data.boundingBox.yMin + data.underlineThickness ) * scale;
...
...
@@ -45742,6 +45814,13 @@
Object.assign( WebGLRenderer.prototype, {
animate: function ( callback ) {
console.warn( 'THREE.WebGLRenderer: .animate() is now .setAnimationLoop().' );
this.setAnimationLoop( callback );
},
getCurrentRenderTarget: function () {
console.warn( 'THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().' );
build/three.min.js
浏览文件 @
99d5b58a
此差异已折叠。
点击以展开。
build/three.module.js
浏览文件 @
99d5b58a
...
...
@@ -7243,6 +7243,61 @@ ShaderLib.physical = {
};
/**
* @author mrdoob / http://mrdoob.com/
*/
function WebGLAnimation() {
var context = null;
var isAnimating = false;
var animationLoop = null;
function onAnimationFrame( time, frame ) {
if ( isAnimating === false ) return;
animationLoop( time, frame );
context.requestAnimationFrame( onAnimationFrame );
}
return {
start: function () {
if ( isAnimating === true ) return;
if ( animationLoop === null ) return;
context.requestAnimationFrame( onAnimationFrame );
isAnimating = true;
},
stop: function () {
isAnimating = false;
},
setAnimationLoop: function ( callback ) {
animationLoop = callback;
},
setContext: function ( value ) {
context = value;
}
}
}
/**
* @author mrdoob / http://mrdoob.com/
*/
...
...
@@ -21212,10 +21267,14 @@ function WebVRManager( renderer ) {
renderer.setDrawingBufferSize( renderWidth * 2, renderHeight, 1 );
animation.start();
} else if ( scope.enabled ) {
renderer.setDrawingBufferSize( currentSize.width, currentSize.height, currentPixelRatio );
animation.stop();
}
}
...
...
@@ -21235,6 +21294,8 @@ function WebVRManager( renderer ) {
if ( value !== undefined ) device = value;
animation.setContext( value );
};
this.setPoseTarget = function ( object ) {
...
...
@@ -21373,9 +21434,13 @@ function WebVRManager( renderer ) {
this.isPresenting = isPresenting;
this.requestAnimationFrame = function ( callback ) {
// Animation Loop
var animation = new WebGLAnimation();
device.requestAnimationFrame( callback );
this.setAnimationLoop = function ( callback ) {
animation.setAnimationLoop( callback );
};
...
...
@@ -21395,6 +21460,14 @@ function WebVRManager( renderer ) {
};
// DEPRECATED
this.requestAnimationFrame = function ( callback ) {
// device.requestAnimationFrame( callback );
};
}
/**
...
...
@@ -21449,18 +21522,30 @@ function WebXRManager( gl ) {
};
//
this.setSession = function ( value ) {
session = value;
if ( session !== null ) {
session.addEventListener( 'end', function () {
gl.bindFramebuffer( gl.FRAMEBUFFER, null );
animation.stop();
} );
session.baseLayer = new XRWebGLLayer( session, gl );
session.requestFrameOfReference( 'stage' ).then( function ( value ) {
frameOfRef = value;
isExclusive = session.exclusive;
animation.setContext( session );
animation.start();
} );
}
...
...
@@ -21475,48 +21560,55 @@ function WebXRManager( gl ) {
this.isPresenting = isPresenting;
this.requestAnimationFrame = function ( callback ) {
// Animation Loop
function onFrame( time, frame ) {
var onAnimationFrameCallback = null;
pose = frame.getDevicePose( frameOfRef );
function onAnimationFrame( time, frame ) {
var layer = session.baseLayer;
var views = frame.views;
pose = frame.getDevicePose( frameOfRef );
for ( var i = 0; i < views.length; i ++ ) {
var layer = session.baseLayer;
var views = frame.views;
var view = views[ i ];
var viewport = layer.getViewport( view );
var viewMatrix = pose.getViewMatrix( view );
for ( var i = 0; i < views.length; i ++ ) {
var camera = cameraVR.cameras[ i ];
camera.projectionMatrix.fromArray( view.projectionMatrix );
camera.matrixWorldInverse.fromArray( viewMatrix );
camera.matrixWorld.getInverse( camera.matrixWorldInverse );
camera.viewport.set( viewport.x, viewport.y, viewport.width, viewport.height );
var view = views[ i ];
var viewport = layer.getViewport( view );
var viewMatrix = pose.getViewMatrix( view );
if ( i === 0 ) {
var camera = cameraVR.cameras[ i ];
camera.projectionMatrix.fromArray( view.projectionMatrix );
camera.matrixWorldInverse.fromArray( viewMatrix );
camera.matrixWorld.getInverse( camera.matrixWorldInverse );
camera.viewport.set( viewport.x, viewport.y, viewport.width, viewport.height );
cameraVR.matrixWorld.copy( camera.matrixWorld );
cameraVR.matrixWorldInverse.copy( camera.matrixWorldInverse );
if ( i === 0 ) {
// HACK (mrdoob)
// https://github.com/w3c/webvr/issues/203
cameraVR.matrixWorld.copy( camera.matrixWorld );
cameraVR.matrixWorldInverse.copy( camera.matrixWorldInverse );
cameraVR.projectionMatrix.copy( camera.projectionMatrix );
// HACK (mrdoob)
// https://github.com/w3c/webvr/issues/203
}
cameraVR.projectionMatrix.copy( camera.projectionMatrix );
}
gl.bindFramebuffer( gl.FRAMEBUFFER, session.baseLayer.framebuffer );
}
callback(
);
gl.bindFramebuffer( gl.FRAMEBUFFER, session.baseLayer.framebuffer
);
}
if ( onAnimationFrameCallback ) onAnimationFrameCallback();
}
session.requestAnimationFrame( onFrame );
var animation = new WebGLAnimation();
animation.setAnimationLoop( onAnimationFrame );
this.setAnimationLoop = function ( callback ) {
onAnimationFrameCallback = callback;
};
...
...
@@ -21529,6 +21621,8 @@ function WebXRManager( gl ) {
};
this.requestAnimationFrame = function () {};
this.submitFrame = function () {};
}
...
...
@@ -21993,7 +22087,7 @@ function WebGLRenderer( parameters ) {
vr.dispose();
stopAnimation
();
animation.stop
();
};
...
...
@@ -22504,53 +22598,25 @@ function WebGLRenderer( parameters ) {
// Animation Loop
var isAnimating = false;
var onAnimationFrame = null;
function startAnimation() {
if ( isAnimating ) return;
requestAnimationLoopFrame();
isAnimating = true;
}
var onAnimationFrameCallback = null;
function
stopAnimation
() {
function
onAnimationFrame
() {
isAnimating = false;
if ( vr.isPresenting() ) return;
if ( onAnimationFrameCallback ) onAnimationFrameCallback();
}
function requestAnimationLoopFrame() {
if ( vr.isPresenting() ) {
vr.requestAnimationFrame( animationLoop );
} else {
window.requestAnimationFrame( animationLoop );
var animation = new WebGLAnimation();
animation.setAnimationLoop( onAnimationFrame );
animation.setContext( window );
}
}
function animationLoop( time ) {
if ( isAnimating === false ) return;
this.setAnimationLoop = function ( callback ) {
onAnimationFrame( time );
onAnimationFrameCallback = callback;
vr.setAnimationLoop( callback );
requestAnimationLoopFrame();
}
this.animate = function ( callback ) {
onAnimationFrame = callback;
onAnimationFrame !== null ? startAnimation() : stopAnimation();
animation.start();
};
...
...
@@ -25833,6 +25899,12 @@ function ParametricBufferGeometry( func, slices, stacks ) {
var i, j;
if ( func.length < 3 ) {
console.error( 'THREE.ParametricGeometry: Function must now modify a Vector3 as third parameter.' );
}
// generate vertices, normals and uvs
var sliceCount = slices + 1;
...
...
@@ -38346,7 +38418,7 @@ Object.assign( Font.prototype, {
function createPaths( text, size, divisions, data ) {
var chars =
String( text ).split( '' );
var chars =
Array.from ? Array.from( text ) : String( text ).split( '' ); // see #13988
var scale = size / data.resolution;
var line_height = ( data.boundingBox.yMax - data.boundingBox.yMin + data.underlineThickness ) * scale;
...
...
@@ -45736,6 +45808,13 @@ Object.defineProperties( ShaderMaterial.prototype, {
Object.assign( WebGLRenderer.prototype, {
animate: function ( callback ) {
console.warn( 'THREE.WebGLRenderer: .animate() is now .setAnimationLoop().' );
this.setAnimationLoop( callback );
},
getCurrentRenderTarget: function () {
console.warn( 'THREE.WebGLRenderer: .getCurrentRenderTarget() is now .getRenderTarget().' );
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录