Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
a7c2c048
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,体验更适合开发者的 AI 搜索 >>
提交
a7c2c048
编写于
10月 08, 2014
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Removed all remaining buffersNeedUpdate flags.
上级
1085524a
变更
5
隐藏空白更改
内联
并排
Showing
5 changed file
with
21 addition
and
60 deletion
+21
-60
docs/api/core/Geometry.html
docs/api/core/Geometry.html
+0
-5
editor/js/Sidebar.Material.js
editor/js/Sidebar.Material.js
+0
-32
examples/webgl_objects_update.html
examples/webgl_objects_update.html
+0
-2
src/core/Geometry.js
src/core/Geometry.js
+0
-1
src/renderers/WebGLRenderer.js
src/renderers/WebGLRenderer.js
+21
-20
未找到文件。
docs/api/core/Geometry.html
浏览文件 @
a7c2c048
...
...
@@ -168,11 +168,6 @@
<div>
Set to *true* if the linedistances array has been updated.
</div>
<h3>
.[page:Boolean buffersNeedUpdate]
</h3>
<div>
Set to *true* if an array has changed in length.
</div>
<h3>
.[page:array lineDistances]
</h3>
<div>
...
...
editor/js/Sidebar.Material.js
浏览文件 @
a7c2c048
...
...
@@ -445,9 +445,6 @@ Sidebar.Material = function ( editor ) {
if
(
material
.
vertexColors
!==
undefined
)
{
geometry
.
buffersNeedUpdate
=
true
;
geometry
.
colorsNeedUpdate
=
true
;
material
.
vertexColors
=
parseInt
(
materialVertexColors
.
getValue
()
);
material
.
needsUpdate
=
true
;
...
...
@@ -465,13 +462,6 @@ Sidebar.Material = function ( editor ) {
if
(
objectHasUvs
)
{
if
(
geometry
!==
undefined
)
{
geometry
.
buffersNeedUpdate
=
true
;
geometry
.
uvsNeedUpdate
=
true
;
}
material
.
map
=
mapEnabled
?
materialMap
.
getValue
()
:
null
;
material
.
needsUpdate
=
true
;
...
...
@@ -489,13 +479,6 @@ Sidebar.Material = function ( editor ) {
if
(
objectHasUvs
)
{
if
(
geometry
!==
undefined
)
{
geometry
.
buffersNeedUpdate
=
true
;
geometry
.
uvsNeedUpdate
=
true
;
}
material
.
alphaMap
=
mapEnabled
?
materialAlphaMap
.
getValue
()
:
null
;
material
.
needsUpdate
=
true
;
...
...
@@ -514,9 +497,6 @@ Sidebar.Material = function ( editor ) {
if ( objectHasUvs ) {
geometry.buffersNeedUpdate = true;
geometry.uvsNeedUpdate = true;
material.lightMap = lightMapEnabled ? materialLightMap.getValue() : null;
material.needsUpdate = true;
...
...
@@ -535,9 +515,6 @@ Sidebar.Material = function ( editor ) {
if
(
objectHasUvs
)
{
geometry
.
buffersNeedUpdate
=
true
;
geometry
.
uvsNeedUpdate
=
true
;
material
.
bumpMap
=
bumpMapEnabled
?
materialBumpMap
.
getValue
()
:
null
;
material
.
bumpScale
=
materialBumpScale
.
getValue
();
material
.
needsUpdate
=
true
;
...
...
@@ -556,9 +533,6 @@ Sidebar.Material = function ( editor ) {
if
(
objectHasUvs
)
{
geometry
.
buffersNeedUpdate
=
true
;
geometry
.
uvsNeedUpdate
=
true
;
material
.
normalMap
=
normalMapEnabled
?
materialNormalMap
.
getValue
()
:
null
;
material
.
needsUpdate
=
true
;
...
...
@@ -576,9 +550,6 @@ Sidebar.Material = function ( editor ) {
if
(
objectHasUvs
)
{
geometry
.
buffersNeedUpdate
=
true
;
geometry
.
uvsNeedUpdate
=
true
;
material
.
specularMap
=
specularMapEnabled
?
materialSpecularMap
.
getValue
()
:
null
;
material
.
needsUpdate
=
true
;
...
...
@@ -596,9 +567,6 @@ Sidebar.Material = function ( editor ) {
if
(
objectHasUvs
)
{
geometry
.
buffersNeedUpdate
=
true
;
geometry
.
uvsNeedUpdate
=
true
;
material
.
envMap
=
envMapEnabled
?
materialEnvMap
.
getValue
()
:
null
;
material
.
reflectivity
=
materialReflectivity
.
getValue
();
material
.
needsUpdate
=
true
;
...
...
examples/webgl_objects_update.html
浏览文件 @
a7c2c048
...
...
@@ -187,7 +187,6 @@
objectNewGeometry
.
geometry
=
createGeometry
(
1
);
objectNewGeometry
.
geometry
.
buffersNeedUpdate
=
true
;
randomizeFaces
(
objectRandomizeFaces
);
scene
.
add
(
objectToggleAddRemove
);
...
...
@@ -199,7 +198,6 @@
if
(
scene
.
children
.
indexOf
(
objectToggleAddRemove
)
!==
-
1
)
{
objectNewGeometry
.
geometry
=
createGeometry
(
1
);
objectNewGeometry
.
geometry
.
buffersNeedUpdate
=
true
;
randomizeFaces
(
objectRandomizeFaces
);
scene
.
remove
(
objectToggleAddRemove
);
...
...
src/core/Geometry.js
浏览文件 @
a7c2c048
...
...
@@ -48,7 +48,6 @@ THREE.Geometry = function () {
this
.
colorsNeedUpdate
=
false
;
this
.
lineDistancesNeedUpdate
=
false
;
this
.
buffersNeedUpdate
=
false
;
this
.
groupsNeedUpdate
=
false
;
};
...
...
src/renderers/WebGLRenderer.js
浏览文件 @
a7c2c048
...
...
@@ -614,6 +614,7 @@ THREE.WebGLRenderer = function ( parameters ) {
if
(
geometry
.
__webglLineBuffer
!==
undefined
)
_gl
.
deleteBuffer
(
geometry
.
__webglLineBuffer
);
if
(
geometry
.
__webglLineDistanceBuffer
!==
undefined
)
_gl
.
deleteBuffer
(
geometry
.
__webglLineDistanceBuffer
);
// custom attributes
if
(
geometry
.
__webglCustomAttributesList
!==
undefined
)
{
...
...
@@ -3604,11 +3605,11 @@ THREE.WebGLRenderer = function ( parameters ) {
}
else
if
(
object
instanceof
THREE
.
Mesh
)
{
initGeometryGroups
(
scene
,
object
,
geometry
);
initGeometryGroups
(
scene
,
object
,
geometry
);
}
else
if
(
object
instanceof
THREE
.
Line
)
{
if
(
!
geometry
.
__webglVertexBuffer
)
{
if
(
geometry
.
__webglVertexBuffer
===
undefined
)
{
createLineBuffers
(
geometry
);
initLineBuffers
(
geometry
,
object
);
...
...
@@ -3621,7 +3622,7 @@ THREE.WebGLRenderer = function ( parameters ) {
}
else
if
(
object
instanceof
THREE
.
PointCloud
)
{
if
(
!
geometry
.
__webglVertexBuffer
)
{
if
(
geometry
.
__webglVertexBuffer
===
undefined
)
{
createParticleBuffers
(
geometry
);
initParticleBuffers
(
geometry
,
object
);
...
...
@@ -3637,6 +3638,8 @@ THREE.WebGLRenderer = function ( parameters ) {
if
(
object
.
__webglActive
===
undefined
)
{
object
.
__webglActive
=
true
;
if
(
object
instanceof
THREE
.
Mesh
)
{
if
(
geometry
instanceof
THREE
.
BufferGeometry
)
{
...
...
@@ -3645,16 +3648,15 @@ THREE.WebGLRenderer = function ( parameters ) {
}
else
if
(
geometry
instanceof
THREE
.
Geometry
)
{
for
(
var
i
=
0
,
l
=
geometry
.
geometryGroupsList
.
length
;
i
<
l
;
i
++
)
{
for
(
var
i
=
0
,
l
=
geometry
.
geometryGroupsList
.
length
;
i
<
l
;
i
++
)
{
var
geometryGroup
=
geometry
.
geometryGroupsList
[
i
];
addBuffer
(
_webglObjects
,
geometryGroup
,
object
);
addBuffer
(
_webglObjects
,
geometry
.
geometryGroupsList
[
i
],
object
);
}
}
}
else
if
(
object
instanceof
THREE
.
Line
||
object
instanceof
THREE
.
PointCloud
)
{
}
else
if
(
object
instanceof
THREE
.
Line
||
object
instanceof
THREE
.
PointCloud
)
{
addBuffer
(
_webglObjects
,
geometry
,
object
);
...
...
@@ -3664,20 +3666,18 @@ THREE.WebGLRenderer = function ( parameters ) {
}
object
.
__webglActive
=
true
;
}
};
function
initGeometryGroups
(
scene
,
object
,
geometry
)
{
var
g
,
geometryGroup
,
material
,
addBuffers
=
false
;
material
=
object
.
material
;
var
g
,
geometryGroup
,
material
=
object
.
material
,
addBuffers
=
false
;
if
(
geometry
.
geometryGroups
===
undefined
||
geometry
.
groupsNeedUpdate
)
{
if
(
geometry
.
geometryGroups
===
undefined
||
geometry
.
groupsNeedUpdate
===
true
)
{
delete
_webglObjects
[
object
.
id
];
delete
_webglObjects
[
object
.
id
];
geometry
.
makeGroups
(
material
instanceof
THREE
.
MeshFaceMaterial
,
_glExtensionElementIndexUint
?
4294967296
:
65535
);
geometry
.
groupsNeedUpdate
=
false
;
...
...
@@ -3691,7 +3691,7 @@ THREE.WebGLRenderer = function ( parameters ) {
// initialise VBO on the first access
if
(
!
geometryGroup
.
__webglVertexBuffer
)
{
if
(
geometryGroup
.
__webglVertexBuffer
===
undefined
)
{
createMeshBuffers
(
geometryGroup
);
initMeshBuffers
(
geometryGroup
,
object
);
...
...
@@ -3713,7 +3713,9 @@ THREE.WebGLRenderer = function ( parameters ) {
}
if
(
addBuffers
||
object
.
__webglActive
===
undefined
)
{
addBuffer
(
_webglObjects
,
geometryGroup
,
object
);
}
}
...
...
@@ -3766,9 +3768,10 @@ THREE.WebGLRenderer = function ( parameters ) {
}
else
if
(
object
instanceof
THREE
.
Mesh
)
{
// check all geometry groups
if
(
geometry
.
buffersNeedUpdate
||
geometry
.
groupsNeedUpdate
)
{
initGeometryGroups
(
scene
,
object
,
geometry
);
if
(
geometry
.
groupsNeedUpdate
===
true
)
{
initGeometryGroups
(
scene
,
object
,
geometry
);
}
...
...
@@ -3778,7 +3781,7 @@ THREE.WebGLRenderer = function ( parameters ) {
material
=
getBufferMaterial
(
object
,
geometryGroup
);
if
(
geometry
.
buffersNeedUpdate
||
geometry
.
groupsNeedUpdate
)
{
if
(
geometry
.
groupsNeedUpdate
===
true
)
{
initMeshBuffers
(
geometryGroup
,
object
);
...
...
@@ -3804,8 +3807,6 @@ THREE.WebGLRenderer = function ( parameters ) {
geometry
.
colorsNeedUpdate
=
false
;
geometry
.
tangentsNeedUpdate
=
false
;
geometry
.
buffersNeedUpdate
=
false
;
material
.
attributes
&&
clearCustomAttributes
(
material
);
}
else
if
(
object
instanceof
THREE
.
Line
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录