Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
28236ba1
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,发现更多精彩内容 >>
提交
28236ba1
编写于
5月 25, 2012
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
GUI: Import JSON Geometry, OBJ, COLLADA and VTK.
上级
2d225e1c
变更
7
展开全部
隐藏空白更改
内联
并排
Showing
7 changed file
with
784 addition
and
649 deletion
+784
-649
build/Three.js
build/Three.js
+244
-233
build/custom/ThreeCanvas.js
build/custom/ThreeCanvas.js
+166
-155
build/custom/ThreeWebGL.js
build/custom/ThreeWebGL.js
+271
-260
examples/js/loaders/OBJLoader.js
examples/js/loaders/OBJLoader.js
+1
-0
gui/index.html
gui/index.html
+86
-0
gui/js/ui/Viewport.js
gui/js/ui/Viewport.js
+13
-1
utils/build.py
utils/build.py
+3
-0
未找到文件。
build/Three.js
浏览文件 @
28236ba1
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
build/custom/ThreeCanvas.js
浏览文件 @
28236ba1
此差异已折叠。
点击以展开。
build/custom/ThreeWebGL.js
浏览文件 @
28236ba1
因为 它太大了无法显示 source diff 。你可以改为
查看blob
。
examples/js/loaders/OBJLoader.js
浏览文件 @
28236ba1
...
...
@@ -298,6 +298,7 @@ THREE.OBJLoader.prototype = {
}
geometry
.
computeCentroids
();
// geometry.computeFaceNormals();
group
.
add
(
new
THREE
.
Mesh
(
geometry
,
new
THREE
.
MeshLambertMaterial
()
)
);
...
...
gui/index.html
浏览文件 @
28236ba1
...
...
@@ -20,6 +20,10 @@
<body>
<script
type=
"text/javascript"
src=
"../build/Three.js"
></script>
<script
type=
"text/javascript"
src=
"../examples/js/loaders/ColladaLoader.js"
></script>
<script
type=
"text/javascript"
src=
"../examples/js/loaders/OBJLoader.js"
></script>
<script
type=
"text/javascript"
src=
"../examples/js/loaders/UTF8Loader.js"
></script>
<script
type=
"text/javascript"
src=
"../examples/js/loaders/VTKLoader.js"
></script>
<script
type=
"text/javascript"
src=
"js/libs/signals.min.js"
></script>
...
...
@@ -61,6 +65,88 @@
menubar
.
setHeight
(
'
32px
'
);
document
.
body
.
appendChild
(
menubar
.
dom
);
document
.
addEventListener
(
'
drop
'
,
function
(
event
)
{
event
.
preventDefault
();
var
file
=
event
.
dataTransfer
.
files
[
0
];
var
extension
=
file
.
name
.
split
(
'
.
'
)[
1
].
toLowerCase
();
var
reader
=
new
FileReader
();
reader
.
onload
=
function
(
event
)
{
var
contents
=
event
.
target
.
result
;
switch
(
extension
)
{
case
'
dae
'
:
var
parser
=
new
DOMParser
();
var
xml
=
parser
.
parseFromString
(
contents
,
'
text/xml
'
);
// TODO: Update ColladaLoader
var
loader
=
new
THREE
.
ColladaLoader
();
loader
.
parse
(
xml
,
function
(
collada
)
{
signals
.
objectAdded
.
dispatch
(
collada
.
scene
);
}
);
break
;
case
'
js
'
:
var
loader
=
new
THREE
.
GeometryLoader
();
var
geometry
=
loader
.
parse
(
JSON
.
parse
(
contents
)
);
var
material
=
new
THREE
.
MeshBasicMaterial
(
{
color
:
0xffffff
,
wireframe
:
true
}
);
var
mesh
=
new
THREE
.
Mesh
(
geometry
,
material
);
signals
.
objectAdded
.
dispatch
(
mesh
);
break
;
case
'
obj
'
:
var
loader
=
new
THREE
.
OBJLoader
();
var
object
=
loader
.
parse
(
contents
);
signals
.
objectAdded
.
dispatch
(
object
);
break
;
case
'
utf8
'
:
// TODO
break
;
case
'
vtk
'
:
var
loader
=
new
THREE
.
VTKLoader
();
console
.
log
(
loader
);
var
geometry
=
loader
.
parse
(
contents
);
var
material
=
new
THREE
.
MeshBasicMaterial
(
{
color
:
0xffffff
,
wireframe
:
true
}
);
var
mesh
=
new
THREE
.
Mesh
(
geometry
,
material
);
console
.
log
(
mesh
);
signals
.
objectAdded
.
dispatch
(
mesh
);
break
;
}
};
reader
.
readAsText
(
file
);
},
false
);
//
...
...
gui/js/ui/Viewport.js
浏览文件 @
28236ba1
...
...
@@ -5,6 +5,8 @@ var Viewport = function ( signals ) {
//
var
objects
=
[];
var
sceneHelpers
=
new
THREE
.
Scene
();
var
size
=
500
,
step
=
25
;
...
...
@@ -69,7 +71,7 @@ var Viewport = function ( signals ) {
projector
.
unprojectVector
(
vector
,
camera
);
var
ray
=
new
THREE
.
Ray
(
camera
.
position
,
vector
.
subSelf
(
camera
.
position
).
normalize
()
);
var
intersects
=
ray
.
intersectObjects
(
scene
.
children
);
var
intersects
=
ray
.
intersectObjects
(
objects
);
if
(
intersects
.
length
)
{
...
...
@@ -89,6 +91,14 @@ var Viewport = function ( signals ) {
signals
.
objectAdded
.
add
(
function
(
object
)
{
THREE
.
SceneUtils
.
traverseHierarchy
(
object
,
function
(
child
)
{
objects
.
push
(
child
);
}
);
objects
.
push
(
object
);
scene
.
add
(
object
);
render
();
...
...
@@ -152,6 +162,8 @@ var Viewport = function ( signals ) {
selectionBox
.
geometry
.
vertices
[
7
].
y
=
geometry
.
boundingBox
.
min
.
y
;
selectionBox
.
geometry
.
vertices
[
7
].
z
=
geometry
.
boundingBox
.
max
.
z
;
selectionBox
.
geometry
.
computeBoundingSphere
();
selectionBox
.
geometry
.
verticesNeedUpdate
=
true
;
selectionBox
.
position
.
copy
(
object
.
position
);
...
...
utils/build.py
浏览文件 @
28236ba1
...
...
@@ -46,6 +46,7 @@ COMMON_FILES = [
'loaders/BinaryLoader.js'
,
'loaders/ImageLoader.js'
,
'loaders/JSONLoader.js'
,
'loaders/GeometryLoader.js'
,
'loaders/SceneLoader.js'
,
'loaders/TextureLoader.js'
,
'materials/Material.js'
,
...
...
@@ -175,6 +176,7 @@ CANVAS_FILES = [
'loaders/BinaryLoader.js'
,
'loaders/ImageLoader.js'
,
'loaders/JSONLoader.js'
,
'loaders/GeometryLoader.js'
,
'loaders/SceneLoader.js'
,
'loaders/TextureLoader.js'
,
'materials/Material.js'
,
...
...
@@ -238,6 +240,7 @@ WEBGL_FILES = [
'loaders/BinaryLoader.js'
,
'loaders/ImageLoader.js'
,
'loaders/JSONLoader.js'
,
'loaders/GeometryLoader.js'
,
'loaders/SceneLoader.js'
,
'loaders/TextureLoader.js'
,
'materials/Material.js'
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录