Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
8f894886
T
three.js
项目概览
Ablesons
/
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,发现更多精彩内容 >>
提交
8f894886
编写于
3月 12, 2014
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updated builds.
上级
c1877e70
变更
2
显示空白变更内容
内联
并排
Showing
2 changed file
with
421 addition
and
238 deletion
+421
-238
build/three.js
build/three.js
+180
-4
build/three.min.js
build/three.min.js
+241
-234
未找到文件。
build/three.js
浏览文件 @
8f894886
...
...
@@ -17500,8 +17500,16 @@ THREE.ShaderChunk = {
"#ifdef USE_FOG",
" #ifdef USE_LOGDEPTHBUF_EXT",
" float depth = gl_FragDepthEXT / gl_FragCoord.w;",
" #else",
" float depth = gl_FragCoord.z / gl_FragCoord.w;",
" #endif",
" #ifdef FOG_EXP2",
" const float LOG2 = 1.442695;",
...
...
@@ -19121,8 +19129,77 @@ THREE.ShaderChunk = {
"#endif"
].join("\n")
].join("\n"),
// LOGARITHMIC DEPTH BUFFER
// http://outerra.blogspot.com/2012/11/maximizing-depth-buffer-range-and.html
// WebGL doesn't support gl_FragDepth out of the box, unless the EXT_frag_depth extension is available. On platforms
// without EXT_frag_depth, we have to fall back on linear z-buffer in the fragment shader, which means that some long
// faces close to the camera may have issues. This can be worked around by tesselating the model more finely when
// the camera is near the surface.
logdepthbuf_pars_vertex: [
"#ifdef USE_LOGDEPTHBUF",
" #ifdef USE_LOGDEPTHBUF_EXT",
" varying float vFragDepth;",
" #endif",
" uniform float logDepthBufFC;",
"#endif",
].join('\n'),
logdepthbuf_vertex: [
"#ifdef USE_LOGDEPTHBUF",
" gl_Position.z = log2(max(1e-6, gl_Position.w + 1.0)) * logDepthBufFC;",
" #ifdef USE_LOGDEPTHBUF_EXT",
" vFragDepth = 1.0 + gl_Position.w;",
"#else",
" gl_Position.z = (gl_Position.z - 1.0) * gl_Position.w;",
" #endif",
"#endif"
].join("\n"),
logdepthbuf_pars_fragment: [
"#ifdef USE_LOGDEPTHBUF",
" uniform float logDepthBufFC;",
" #ifdef USE_LOGDEPTHBUF_EXT",
" #extension GL_EXT_frag_depth : enable",
" varying float vFragDepth;",
" #endif",
"#endif"
].join('\n'),
logdepthbuf_fragment: [
"#if defined(USE_LOGDEPTHBUF) && defined(USE_LOGDEPTHBUF_EXT)",
" gl_FragDepthEXT = log2(vFragDepth) * logDepthBufFC * 0.5;",
"#endif"
].join("\n")
};
...
...
@@ -19324,6 +19401,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
THREE.ShaderChunk[ "skinning_pars_vertex" ],
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
"void main() {",
...
...
@@ -19343,6 +19421,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "morphtarget_vertex" ],
THREE.ShaderChunk[ "skinning_vertex" ],
THREE.ShaderChunk[ "default_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_vertex" ],
THREE.ShaderChunk[ "worldpos_vertex" ],
THREE.ShaderChunk[ "envmap_vertex" ],
...
...
@@ -19364,11 +19443,13 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "fog_pars_fragment" ],
THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
THREE.ShaderChunk[ "specularmap_pars_fragment" ],
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
"void main() {",
" gl_FragColor = vec4( diffuse, opacity );",
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
THREE.ShaderChunk[ "map_fragment" ],
THREE.ShaderChunk[ "alphatest_fragment" ],
THREE.ShaderChunk[ "specularmap_fragment" ],
...
...
@@ -19424,6 +19505,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
THREE.ShaderChunk[ "skinning_pars_vertex" ],
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
"void main() {",
...
...
@@ -19439,6 +19521,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "morphtarget_vertex" ],
THREE.ShaderChunk[ "skinning_vertex" ],
THREE.ShaderChunk[ "default_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_vertex" ],
THREE.ShaderChunk[ "worldpos_vertex" ],
THREE.ShaderChunk[ "envmap_vertex" ],
...
...
@@ -19468,11 +19551,13 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "fog_pars_fragment" ],
THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
THREE.ShaderChunk[ "specularmap_pars_fragment" ],
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
"void main() {",
" gl_FragColor = vec4( vec3( 1.0 ), opacity );",
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
THREE.ShaderChunk[ "map_fragment" ],
THREE.ShaderChunk[ "alphatest_fragment" ],
THREE.ShaderChunk[ "specularmap_fragment" ],
...
...
@@ -19544,6 +19629,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
THREE.ShaderChunk[ "skinning_pars_vertex" ],
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
"void main() {",
...
...
@@ -19561,6 +19647,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "morphtarget_vertex" ],
THREE.ShaderChunk[ "skinning_vertex" ],
THREE.ShaderChunk[ "default_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_vertex" ],
" vViewPosition = -mvPosition.xyz;",
...
...
@@ -19593,11 +19680,13 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "bumpmap_pars_fragment" ],
THREE.ShaderChunk[ "normalmap_pars_fragment" ],
THREE.ShaderChunk[ "specularmap_pars_fragment" ],
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
"void main() {",
" gl_FragColor = vec4( vec3( 1.0 ), opacity );",
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
THREE.ShaderChunk[ "map_fragment" ],
THREE.ShaderChunk[ "alphatest_fragment" ],
THREE.ShaderChunk[ "specularmap_fragment" ],
...
...
@@ -19635,6 +19724,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "color_pars_vertex" ],
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
"void main() {",
...
...
@@ -19650,6 +19740,7 @@ THREE.ShaderLib = {
" gl_Position = projectionMatrix * mvPosition;",
THREE.ShaderChunk[ "logdepthbuf_vertex" ],
THREE.ShaderChunk[ "worldpos_vertex" ],
THREE.ShaderChunk[ "shadowmap_vertex" ],
...
...
@@ -19666,11 +19757,13 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "map_particle_pars_fragment" ],
THREE.ShaderChunk[ "fog_pars_fragment" ],
THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
"void main() {",
" gl_FragColor = vec4( psColor, opacity );",
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
THREE.ShaderChunk[ "map_particle_fragment" ],
THREE.ShaderChunk[ "alphatest_fragment" ],
THREE.ShaderChunk[ "color_fragment" ],
...
...
@@ -19706,6 +19799,7 @@ THREE.ShaderLib = {
"varying float vLineDistance;",
THREE.ShaderChunk[ "color_pars_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
"void main() {",
...
...
@@ -19716,6 +19810,8 @@ THREE.ShaderLib = {
" vec4 mvPosition = modelViewMatrix * vec4( position, 1.0 );",
" gl_Position = projectionMatrix * mvPosition;",
THREE.ShaderChunk[ "logdepthbuf_vertex" ],
"}"
].join("\n"),
...
...
@@ -19732,6 +19828,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "color_pars_fragment" ],
THREE.ShaderChunk[ "fog_pars_fragment" ],
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
"void main() {",
...
...
@@ -19743,6 +19840,7 @@ THREE.ShaderLib = {
" gl_FragColor = vec4( diffuse, opacity );",
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
THREE.ShaderChunk[ "color_fragment" ],
THREE.ShaderChunk[ "fog_fragment" ],
...
...
@@ -19763,11 +19861,13 @@ THREE.ShaderLib = {
},
vertexShader: [
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
"void main() {",
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
THREE.ShaderChunk[ "logdepthbuf_vertex" ],
"}"
].join("\n"),
...
...
@@ -19777,10 +19877,22 @@ THREE.ShaderLib = {
"uniform float mNear;",
"uniform float mFar;",
"uniform float opacity;",
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
"void main() {",
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
" #ifdef USE_LOGDEPTHBUF_EXT",
" float depth = gl_FragDepthEXT / gl_FragCoord.w;",
" #else",
" float depth = gl_FragCoord.z / gl_FragCoord.w;",
" #endif",
" float color = 1.0 - smoothstep( mNear, mFar, depth );",
" gl_FragColor = vec4( vec3( color ), opacity );",
...
...
@@ -19803,6 +19915,7 @@ THREE.ShaderLib = {
"varying vec3 vNormal;",
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
"void main() {",
...
...
@@ -19810,6 +19923,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "morphtarget_vertex" ],
THREE.ShaderChunk[ "default_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_vertex" ],
"}"
...
...
@@ -19820,10 +19934,14 @@ THREE.ShaderLib = {
"uniform float opacity;",
"varying vec3 vNormal;",
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
"void main() {",
" gl_FragColor = vec4( 0.5 * normalize( vNormal ) + 0.5, opacity );",
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
"}"
].join("\n")
...
...
@@ -19962,8 +20080,10 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "shadowmap_pars_fragment" ],
THREE.ShaderChunk[ "fog_pars_fragment" ],
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
"void main() {",
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
" gl_FragColor = vec4( vec3( 1.0 ), opacity );",
...
...
@@ -20335,6 +20455,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "skinning_pars_vertex" ],
THREE.ShaderChunk[ "shadowmap_pars_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
"void main() {",
...
...
@@ -20422,6 +20543,8 @@ THREE.ShaderLib = {
" gl_Position = projectionMatrix * mvPosition;",
THREE.ShaderChunk[ "logdepthbuf_vertex" ],
//
" vWorldPosition = worldPosition.xyz;",
...
...
@@ -20458,6 +20581,8 @@ THREE.ShaderLib = {
"varying vec3 vWorldPosition;",
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
"void main() {",
" vec4 worldPosition = modelMatrix * vec4( position, 1.0 );",
...
...
@@ -20465,6 +20590,8 @@ THREE.ShaderLib = {
" gl_Position = projectionMatrix * modelViewMatrix * vec4( position, 1.0 );",
THREE.ShaderChunk[ "logdepthbuf_vertex" ],
"}"
].join("\n"),
...
...
@@ -20476,10 +20603,14 @@ THREE.ShaderLib = {
"varying vec3 vWorldPosition;",
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
"void main() {",
" gl_FragColor = textureCube( tCube, vec3( tFlip * vWorldPosition.x, vWorldPosition.yz ) );",
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
"}"
].join("\n")
...
...
@@ -20502,6 +20633,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "morphtarget_pars_vertex" ],
THREE.ShaderChunk[ "skinning_pars_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_pars_vertex" ],
"void main() {",
...
...
@@ -20509,6 +20641,7 @@ THREE.ShaderLib = {
THREE.ShaderChunk[ "morphtarget_vertex" ],
THREE.ShaderChunk[ "skinning_vertex" ],
THREE.ShaderChunk[ "default_vertex" ],
THREE.ShaderChunk[ "logdepthbuf_vertex" ],
"}"
...
...
@@ -20516,6 +20649,8 @@ THREE.ShaderLib = {
fragmentShader: [
THREE.ShaderChunk[ "logdepthbuf_pars_fragment" ],
"vec4 pack_depth( const in float depth ) {",
" const vec4 bit_shift = vec4( 256.0 * 256.0 * 256.0, 256.0 * 256.0, 256.0, 1.0 );",
...
...
@@ -20528,8 +20663,18 @@ THREE.ShaderLib = {
"void main() {",
THREE.ShaderChunk[ "logdepthbuf_fragment" ],
" #ifdef USE_LOGDEPTHBUF_EXT",
" gl_FragData[ 0 ] = pack_depth( gl_FragDepthEXT );",
" #else",
" gl_FragData[ 0 ] = pack_depth( gl_FragCoord.z );",
" #endif",
//"gl_FragData[ 0 ] = pack_depth( gl_FragCoord.z / gl_FragCoord.w );",
//"float z = ( ( gl_FragCoord.z / gl_FragCoord.w ) - 3.0 ) / ( 4000.0 - 3.0 );",
//"gl_FragData[ 0 ] = pack_depth( z );",
...
...
@@ -20569,6 +20714,7 @@ THREE.WebGLRenderer = function ( parameters ) {
_antialias = parameters.antialias !== undefined ? parameters.antialias : false,
_premultipliedAlpha = parameters.premultipliedAlpha !== undefined ? parameters.premultipliedAlpha : true,
_preserveDrawingBuffer = parameters.preserveDrawingBuffer !== undefined ? parameters.preserveDrawingBuffer : false,
_logarithmicDepthBuffer = parameters.logarithmicDepthBuffer !== undefined ? parameters.logarithmicDepthBuffer : false,
_clearColor = new THREE.Color( 0x000000 ),
_clearAlpha = 0;
...
...
@@ -20729,6 +20875,7 @@ THREE.WebGLRenderer = function ( parameters ) {
var _glExtensionTextureFilterAnisotropic;
var _glExtensionCompressedTextureS3TC;
var _glExtensionElementIndexUint;
var _glExtensionFragDepth;
initGL();
...
...
@@ -24645,6 +24792,7 @@ THREE.WebGLRenderer = function ( parameters ) {
fogExp: fog instanceof THREE.FogExp2,
sizeAttenuation: material.sizeAttenuation,
logarithmicDepthBuffer: _logarithmicDepthBuffer,
skinning: material.skinning,
maxBones: maxBones,
...
...
@@ -24844,6 +24992,13 @@ THREE.WebGLRenderer = function ( parameters ) {
_gl.uniformMatrix4fv( p_uniforms.projectionMatrix, false, camera.projectionMatrix.elements );
if ( _logarithmicDepthBuffer ) {
_gl.uniform1f(p_uniforms.logDepthBufFC, 2.0 / (Math.log(camera.far + 1.0) / Math.LN2));
}
if ( camera !== _currentCamera ) _currentCamera = camera;
}
...
...
@@ -26680,6 +26835,12 @@ THREE.WebGLRenderer = function ( parameters ) {
}
}
if ( _logarithmicDepthBuffer ) {
_glExtensionFragDepth = _gl.getExtension( 'EXT_frag_depth' );
}
};
function setDefaultGLState () {
...
...
@@ -26962,6 +27123,10 @@ THREE.WebGLProgram = ( function () {
parameters.sizeAttenuation ? "#define USE_SIZEATTENUATION" : "",
parameters.logarithmicDepthBuffer ? "#define USE_LOGDEPTHBUF" : "",
//_this._glExtensionFragDepth ? "#define USE_LOGDEPTHBUF_EXT" : "",
"uniform mat4 modelMatrix;",
"uniform mat4 modelViewMatrix;",
"uniform mat4 projectionMatrix;",
...
...
@@ -27058,6 +27223,9 @@ THREE.WebGLProgram = ( function () {
parameters.shadowMapDebug ? "#define SHADOWMAP_DEBUG" : "",
parameters.shadowMapCascade ? "#define SHADOWMAP_CASCADE" : "",
parameters.logarithmicDepthBuffer ? "#define USE_LOGDEPTHBUF" : "",
//_this._glExtensionFragDepth ? "#define USE_LOGDEPTHBUF_EXT" : "",
"uniform mat4 viewMatrix;",
"uniform vec3 cameraPosition;",
""
...
...
@@ -27124,6 +27292,13 @@ THREE.WebGLProgram = ( function () {
}
if ( parameters.logarithmicDepthBuffer ) {
identifiers.push('logDepthBufFC');
}
for ( var u in uniforms ) {
identifiers.push( u );
...
...
@@ -27175,6 +27350,7 @@ THREE.WebGLProgram = ( function () {
};
} )();
THREE.WebGLShader = ( function () {
var addLineNumbers = function ( string ) {
...
...
build/three.min.js
浏览文件 @
8f894886
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录