Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
6b8608bc
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,发现更多精彩内容 >>
提交
6b8608bc
编写于
2月 19, 2014
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Updated builds.
上级
e411b82d
变更
2
展开全部
隐藏空白更改
内联
并排
Showing
2 changed file
with
120 addition
and
249 deletion
+120
-249
build/three.js
build/three.js
+60
-186
build/three.min.js
build/three.min.js
+60
-63
未找到文件。
build/three.js
浏览文件 @
6b8608bc
...
...
@@ -22659,45 +22659,6 @@ THREE.WebGLRenderer = function ( parameters ) {
};
// used by renderBufferDirect for THREE.Line
function setupLinesVertexAttributes( material, programAttributes, geometryAttributes, startIndex ) {
var attributeItem, attributeName, attributePointer, attributeSize;
for ( attributeName in programAttributes ) {
attributePointer = programAttributes[ attributeName ];
attributeItem = geometryAttributes[ attributeName ];
if ( attributePointer >= 0 ) {
if ( attributeItem ) {
attributeSize = attributeItem.itemSize;
_gl.bindBuffer( _gl.ARRAY_BUFFER, attributeItem.buffer );
enableAttribute( attributePointer );
_gl.vertexAttribPointer( attributePointer, attributeSize, _gl.FLOAT, false, 0, startIndex * attributeSize * 4 ); // 4 bytes per Float32
} else if ( material.defaultAttributeValues ) {
if ( material.defaultAttributeValues[ attributeName ].length === 2 ) {
_gl.vertexAttrib2fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
} else if ( material.defaultAttributeValues[ attributeName ].length === 3 ) {
_gl.vertexAttrib3fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
}
}
}
}
}
function setDirectBuffers( geometry, hint ) {
var attributes = geometry.attributes;
...
...
@@ -22825,6 +22786,43 @@ THREE.WebGLRenderer = function ( parameters ) {
};
function setupVertexAttributes( material, programAttributes, geometryAttributes, startIndex ) {
for ( var attributeName in programAttributes ) {
var attributePointer = programAttributes[ attributeName ];
var attributeItem = geometryAttributes[ attributeName ];
if ( attributePointer >= 0 ) {
if ( attributeItem ) {
var attributeSize = attributeItem.itemSize;
_gl.bindBuffer( _gl.ARRAY_BUFFER, attributeItem.buffer );
enableAttribute( attributePointer );
_gl.vertexAttribPointer( attributePointer, attributeSize, _gl.FLOAT, false, 0, startIndex * attributeSize * 4 ); // 4 bytes per Float32
} else if ( material.defaultAttributeValues ) {
if ( material.defaultAttributeValues[ attributeName ].length === 2 ) {
_gl.vertexAttrib2fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
} else if ( material.defaultAttributeValues[ attributeName ].length === 3 ) {
_gl.vertexAttrib3fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
}
}
}
}
}
this.renderBufferDirect = function ( camera, lights, fog, material, geometry, object ) {
if ( material.visible === false ) return;
...
...
@@ -22860,57 +22858,32 @@ THREE.WebGLRenderer = function ( parameters ) {
var index = geometryAttributes[ "index" ];
var type, size;
if ( index.array instanceof Uint32Array ) {
type = _gl.UNSIGNED_INT;
size = 4;
} else {
type = _gl.UNSIGNED_SHORT;
size = 2;
}
if ( index ) {
// indexed triangles
var type, size;
if ( index.array instanceof Uint32Array ) {
type = _gl.UNSIGNED_INT;
size = 4;
} else {
type = _gl.UNSIGNED_SHORT;
size = 2;
}
var offsets = geometry.offsets;
if ( offsets.length === 0 ) {
for ( attributeName in programAttributes ) {
attributePointer = programAttributes[ attributeName ];
attributeItem = geometryAttributes[ attributeName ];
if ( attributePointer >= 0 ) {
if ( attributeItem ) {
attributeSize = attributeItem.itemSize;
_gl.bindBuffer( _gl.ARRAY_BUFFER, attributeItem.buffer );
enableAttribute( attributePointer );
_gl.vertexAttribPointer( attributePointer, attributeSize, _gl.FLOAT, false, 0, 0 );
} else if ( material.defaultAttributeValues ) {
if ( material.defaultAttributeValues[ attributeName ].length === 2 ) {
_gl.vertexAttrib2fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
} else if ( material.defaultAttributeValues[ attributeName ].length === 3 ) {
_gl.vertexAttrib3fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
}
}
if ( updateBuffers ) {
}
setupVertexAttributes( material, programAttributes, geometryAttributes, 0 );
_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, index.buffer );
}
...
...
@@ -22934,40 +22907,7 @@ THREE.WebGLRenderer = function ( parameters ) {
if ( updateBuffers ) {
for ( attributeName in programAttributes ) {
attributePointer = programAttributes[ attributeName ];
attributeItem = geometryAttributes[ attributeName ];
if ( attributePointer >= 0 ) {
if ( attributeItem ) {
attributeSize = attributeItem.itemSize;
_gl.bindBuffer( _gl.ARRAY_BUFFER, attributeItem.buffer );
enableAttribute( attributePointer );
_gl.vertexAttribPointer( attributePointer, attributeSize, _gl.FLOAT, false, 0, startIndex * attributeSize * 4 ); // 4 bytes per Float32
} else if ( material.defaultAttributeValues ) {
if ( material.defaultAttributeValues[ attributeName ].length === 2 ) {
_gl.vertexAttrib2fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
} else if ( material.defaultAttributeValues[ attributeName ].length === 3 ) {
_gl.vertexAttrib3fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
}
}
}
}
// indices
setupVertexAttributes( material, programAttributes, geometryAttributes, startIndex );
_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, index.buffer );
}
...
...
@@ -22990,39 +22930,7 @@ THREE.WebGLRenderer = function ( parameters ) {
if ( updateBuffers ) {
for ( attributeName in programAttributes ) {
if ( attributeName === 'index') continue;
attributePointer = programAttributes[ attributeName ];
attributeItem = geometryAttributes[ attributeName ];
if ( attributePointer >= 0 ) {
if ( attributeItem ) {
attributeSize = attributeItem.itemSize;
_gl.bindBuffer( _gl.ARRAY_BUFFER, attributeItem.buffer );
enableAttribute( attributePointer );
_gl.vertexAttribPointer( attributePointer, attributeSize, _gl.FLOAT, false, 0, 0 );
} else if ( material.defaultAttributeValues && material.defaultAttributeValues[ attributeName ] ) {
if ( material.defaultAttributeValues[ attributeName ].length === 2 ) {
_gl.vertexAttrib2fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
} else if ( material.defaultAttributeValues[ attributeName ].length === 3 ) {
_gl.vertexAttrib3fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
}
}
}
}
setupVertexAttributes( material, programAttributes, geometryAttributes, 0 );
}
...
...
@@ -23044,37 +22952,7 @@ THREE.WebGLRenderer = function ( parameters ) {
if ( updateBuffers ) {
for ( attributeName in programAttributes ) {
attributePointer = programAttributes[ attributeName ];
attributeItem = geometryAttributes[ attributeName ];
if ( attributePointer >= 0 ) {
if ( attributeItem ) {
attributeSize = attributeItem.itemSize;
_gl.bindBuffer( _gl.ARRAY_BUFFER, attributeItem.buffer );
enableAttribute( attributePointer );
_gl.vertexAttribPointer( attributePointer, attributeSize, _gl.FLOAT, false, 0, 0 );
} else if ( material.defaultAttributeValues && material.defaultAttributeValues[ attributeName ] ) {
if ( material.defaultAttributeValues[ attributeName ].length === 2 ) {
_gl.vertexAttrib2fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
} else if ( material.defaultAttributeValues[ attributeName ].length === 3 ) {
_gl.vertexAttrib3fv( attributePointer, material.defaultAttributeValues[ attributeName ] );
}
}
}
}
setupVertexAttributes( material, programAttributes, geometryAttributes, 0 );
}
...
...
@@ -23119,9 +22997,7 @@ THREE.WebGLRenderer = function ( parameters ) {
if ( updateBuffers ) {
setupLinesVertexAttributes( material, programAttributes, geometryAttributes, 0 );
// indices
setupVertexAttributes( material, programAttributes, geometryAttributes, 0 );
_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, index.buffer );
}
...
...
@@ -23145,9 +23021,7 @@ THREE.WebGLRenderer = function ( parameters ) {
if ( updateBuffers ) {
setupLinesVertexAttributes(material, programAttributes, geometryAttributes, startIndex);
// indices
setupVertexAttributes( material, programAttributes, geometryAttributes, startIndex );
_gl.bindBuffer( _gl.ELEMENT_ARRAY_BUFFER, index.buffer );
}
...
...
@@ -23169,7 +23043,7 @@ THREE.WebGLRenderer = function ( parameters ) {
if ( updateBuffers ) {
setup
Lines
VertexAttributes( material, programAttributes, geometryAttributes, 0 );
setupVertexAttributes( material, programAttributes, geometryAttributes, 0 );
}
...
...
build/three.min.js
浏览文件 @
6b8608bc
此差异已折叠。
点击以展开。
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录