Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
d2da6164
T
three.js
项目概览
车家大少爷
/
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,发现更多精彩内容 >>
提交
d2da6164
编写于
5月 26, 2018
作者:
P
paulmasson
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Add WebVR example
上级
cce7e317
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
172 addition
and
0 deletion
+172
-0
examples/webvr_lorenz_attractor.html
examples/webvr_lorenz_attractor.html
+172
-0
未找到文件。
examples/webvr_lorenz_attractor.html
0 → 100644
浏览文件 @
d2da6164
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<title>
three.js webvr - Lorenz attractor
</title>
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width, initial-scale=1.0, user-scalable=no"
>
<!-- Origin Trial Token, feature = WebVR (For Chrome M62+), origin = https://threejs.org, expires = 2018-06-19 -->
<meta
http-equiv=
"origin-trial"
data-feature=
"WebVR (For Chrome M62+)"
data-expires=
"2018-06-19"
content=
"Alxt96tYGgIr9l6EXU0eeI360zcmzOY6Kuo3kcTfBGIRDOQbgFIZKRQ1joExQ74WZr1einsE+cUMHgSclNHCQQ4AAABQeyJvcmlnaW4iOiJodHRwczovL3RocmVlanMub3JnOjQ0MyIsImZlYXR1cmUiOiJXZWJWUjEuMU02MiIsImV4cGlyeSI6MTUyOTM5NzgyOH0="
>
<!-- Origin Trial Token, feature = WebXR Device API, origin = https://threejs.org, expires = 2018-06-15 -->
<meta
http-equiv=
"origin-trial"
data-feature=
"WebXR Device API"
data-expires=
"2018-06-15"
content=
"AtJH9g6nn0B87bnjJt+9m1joZXEYDmLSlRvtMr5qJD52hMcm3S86S7jg5I7y2I5cgQglE0rzsXzti5DECQLb8QkAAABQeyJvcmlnaW4iOiJodHRwczovL3RocmVlanMub3JnOjQ0MyIsImZlYXR1cmUiOiJXZWJYUkRldmljZSIsImV4cGlyeSI6MTUyOTA4NDY2OH0="
>
<!-- Origin Trial Token, feature = WebXR Gamepad Support, origin = https://threejs.org, expires = 2018-06-15 -->
<meta
http-equiv=
"origin-trial"
data-feature=
"WebXR Gamepad Support"
data-expires=
"2018-06-15"
content=
"Aihhr0yXkVlCKF0DIpTbH8WX7ZmEexUhI/95+t8aoLfvBkePMiZ/iOoDPU3xefyfuczkDahH1L6eiPvRsuzITAAAAABYeyJvcmlnaW4iOiJodHRwczovL3RocmVlanMub3JnOjQ0MyIsImZlYXR1cmUiOiJXZWJYUkdhbWVwYWRTdXBwb3J0IiwiZXhwaXJ5IjoxNTI5MDg0NjY4fQ=="
>
<style>
body
{
margin
:
0px
;
overflow
:
hidden
;
}
</style>
</head>
<body>
<script
src=
"../build/three.js"
></script>
<script
src=
"js/vr/WebVR.js"
></script>
<script>
var
camera
,
scene
,
renderer
,
x
,
y
,
z
,
c
,
geometry
;
var
scale
=
30
;
var
multiplier
=
5
;
// integer, increase for faster visualization
var
steps
=
100000
;
var
current
=
1
;
var
shown
=
10000
;
var
beta
=
8
/
3
;
var
rho
=
28
;
var
sigma
=
10
;
var
dt
=
.
005
;
init
();
animate
();
function
move
()
{
geometry
.
attributes
.
position
.
array
.
copyWithin
(
3
);
geometry
.
attributes
.
color
.
array
.
copyWithin
(
3
);
if
(
current
<
steps
)
{
var
dx
=
sigma
*
(
y
-
x
)
*
dt
;
var
dy
=
(
x
*
(
rho
-
z
)
-
y
)
*
dt
;
var
dz
=
(
x
*
y
-
beta
*
z
)
*
dt
;
x
+=
dx
;
y
+=
dy
;
z
+=
dz
;
geometry
.
attributes
.
position
.
set
(
[
x
,
y
,
z
],
0
);
c
.
setHSL
(
current
/
steps
,
1
,
.
5
);
geometry
.
attributes
.
color
.
set
(
[
c
.
r
,
c
.
g
,
c
.
b
],
0
);
}
if
(
current
<
steps
+
shown
)
{
current
++
;
}
else
{
current
=
0
;
}
}
function
init
()
{
scene
=
new
THREE
.
Scene
();
scene
.
position
.
set
(
0
,
0
,
-
1.5
*
scale
);
camera
=
new
THREE
.
PerspectiveCamera
(
50
,
window
.
innerWidth
/
window
.
innerHeight
,
0.1
,
1000
);
camera
.
lookAt
(
0
,
0
,
-
1.5
*
scale
);
//
x
=
scale
/
2
*
Math
.
random
();
y
=
scale
/
2
*
Math
.
random
();
z
=
scale
/
2
*
Math
.
random
();
c
=
new
THREE
.
Color
();
geometry
=
new
THREE
.
BufferGeometry
();
var
positions
=
new
Float32Array
(
3
*
shown
);
for
(
var
i
=
0
;
i
<
positions
.
length
;
i
+=
3
)
{
positions
.
set
(
[
x
,
y
,
z
],
i
);
}
geometry
.
addAttribute
(
'
position
'
,
new
THREE
.
BufferAttribute
(
positions
,
3
)
);
var
colors
=
new
Float32Array
(
3
*
shown
);
for
(
var
i
=
0
;
i
<
positions
.
length
;
i
+=
3
)
{
colors
.
set
(
[
1
,
0
,
0
],
i
);
}
geometry
.
addAttribute
(
'
color
'
,
new
THREE
.
BufferAttribute
(
colors
,
3
)
);
var
material
=
new
THREE
.
LineBasicMaterial
(
{
vertexColors
:
THREE
.
VertexColors
}
);
var
line
=
new
THREE
.
Line
(
geometry
,
material
);
line
.
frustumCulled
=
false
;
// critical to avoid blackouts!
scene
.
add
(
line
);
//
renderer
=
new
THREE
.
WebGLRenderer
(
{
antialias
:
true
}
);
renderer
.
autoClear
=
false
;
renderer
.
setPixelRatio
(
window
.
devicePixelRatio
);
renderer
.
setSize
(
window
.
innerWidth
,
window
.
innerHeight
);
renderer
.
shadowMap
.
enabled
=
true
;
renderer
.
vr
.
enabled
=
true
;
document
.
body
.
appendChild
(
renderer
.
domElement
);
document
.
body
.
appendChild
(
WEBVR
.
createButton
(
renderer
)
);
//
window
.
addEventListener
(
'
resize
'
,
onWindowResize
,
false
);
}
function
onWindowResize
()
{
camera
.
aspect
=
window
.
innerWidth
/
window
.
innerHeight
;
camera
.
updateProjectionMatrix
();
renderer
.
setSize
(
window
.
innerWidth
,
window
.
innerHeight
);
}
function
animate
()
{
renderer
.
animate
(
render
);
}
function
render
()
{
scene
.
rotation
.
z
+=
.
001
;
for
(
var
i
=
0
;
i
<
multiplier
;
i
++
)
{
move
();
}
geometry
.
attributes
.
position
.
needsUpdate
=
true
;
geometry
.
attributes
.
color
.
needsUpdate
=
true
;
renderer
.
render
(
scene
,
camera
);
}
</script>
</body>
</html>
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录