Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
15a3f8e9
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,发现更多精彩内容 >>
提交
15a3f8e9
编写于
7月 11, 2012
作者:
A
alteredq
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Added computeVertexNormals to BufferGeometry.
上级
34a42e26
变更
4
展开全部
隐藏空白更改
内联
并排
Showing
4 changed file
with
770 addition
and
655 deletion
+770
-655
build/Three.js
build/Three.js
+352
-350
build/custom/ThreeExtras.js
build/custom/ThreeExtras.js
+73
-71
build/custom/ThreeWebGL.js
build/custom/ThreeWebGL.js
+236
-234
src/extras/core/BufferGeometry.js
src/extras/core/BufferGeometry.js
+109
-0
未找到文件。
build/Three.js
浏览文件 @
15a3f8e9
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
build/custom/ThreeExtras.js
浏览文件 @
15a3f8e9
此差异已折叠。
点击以展开。
build/custom/ThreeWebGL.js
浏览文件 @
15a3f8e9
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
src/extras/core/BufferGeometry.js
浏览文件 @
15a3f8e9
...
...
@@ -152,6 +152,115 @@ THREE.BufferGeometry.prototype = {
}
},
computeVertexNormals
:
function
()
{
var
indices
=
this
.
vertexIndexArray
;
var
vertices
=
this
.
vertexPositionArray
;
if
(
vertices
&&
indices
)
{
var
i
,
il
;
var
j
,
jl
;
var
nElements
=
vertices
.
length
;
if
(
this
.
vertexNormalArray
===
undefined
)
{
this
.
vertexNormalArray
=
new
Float32Array
(
nElements
);
}
else
{
// reset existing normals to zero
for
(
i
=
0
,
il
=
this
.
vertexNormalArray
.
length
;
i
<
il
;
i
++
)
{
this
.
vertexNormalArray
[
i
]
=
0
;
}
}
var
offsets
=
this
.
offsets
;
var
normals
=
this
.
vertexNormalArray
;
var
vA
,
vB
,
vC
,
x
,
y
,
z
,
pA
=
new
THREE
.
Vector3
(),
pB
=
new
THREE
.
Vector3
(),
pC
=
new
THREE
.
Vector3
(),
cb
=
new
THREE
.
Vector3
(),
ab
=
new
THREE
.
Vector3
();
for
(
j
=
0
,
jl
=
offsets
.
length
;
j
<
jl
;
++
j
)
{
var
start
=
offsets
[
j
].
start
;
var
count
=
offsets
[
j
].
count
;
var
index
=
offsets
[
j
].
index
;
for
(
i
=
start
,
il
=
start
+
count
;
i
<
il
;
i
+=
3
)
{
vA
=
index
+
indices
[
i
];
vB
=
index
+
indices
[
i
+
1
];
vC
=
index
+
indices
[
i
+
2
];
x
=
vertices
[
vA
*
3
];
y
=
vertices
[
vA
*
3
+
1
];
z
=
vertices
[
vA
*
3
+
2
];
pA
.
set
(
x
,
y
,
z
);
x
=
vertices
[
vB
*
3
];
y
=
vertices
[
vB
*
3
+
1
];
z
=
vertices
[
vB
*
3
+
2
];
pB
.
set
(
x
,
y
,
z
);
x
=
vertices
[
vC
*
3
];
y
=
vertices
[
vC
*
3
+
1
];
z
=
vertices
[
vC
*
3
+
2
];
pC
.
set
(
x
,
y
,
z
);
cb
.
sub
(
pC
,
pB
);
ab
.
sub
(
pA
,
pB
);
cb
.
crossSelf
(
ab
);
normals
[
vA
*
3
]
+=
cb
.
x
;
normals
[
vA
*
3
+
1
]
+=
cb
.
y
;
normals
[
vA
*
3
+
2
]
+=
cb
.
z
;
normals
[
vB
*
3
]
+=
cb
.
x
;
normals
[
vB
*
3
+
1
]
+=
cb
.
y
;
normals
[
vB
*
3
+
2
]
+=
cb
.
z
;
normals
[
vC
*
3
]
+=
cb
.
x
;
normals
[
vC
*
3
+
1
]
+=
cb
.
y
;
normals
[
vC
*
3
+
2
]
+=
cb
.
z
;
}
}
// normalize normals
for
(
i
=
0
,
il
=
normals
.
length
;
i
<
il
;
i
+=
3
)
{
x
=
normals
[
i
];
y
=
normals
[
i
+
1
];
z
=
normals
[
i
+
2
];
var
n
=
1.0
/
Math
.
sqrt
(
x
*
x
+
y
*
y
+
z
*
z
);
normals
[
i
]
*=
n
;
normals
[
i
+
1
]
*=
n
;
normals
[
i
+
2
]
*=
n
;
}
this
.
normalsNeedUpdate
=
true
;
}
}
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录