Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
afe018f3
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,发现更多精彩内容 >>
提交
afe018f3
编写于
7月 06, 2017
作者:
F
Fernando Serrano
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Fix #11683 using pixelRatio on viewport and scissors
上级
3051c617
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
101 addition
and
2 deletion
+101
-2
examples/webgl_camera_array2.html
examples/webgl_camera_array2.html
+99
-0
src/renderers/WebGLRenderer.js
src/renderers/WebGLRenderer.js
+2
-2
未找到文件。
examples/webgl_camera_array2.html
0 → 100644
浏览文件 @
afe018f3
<!DOCTYPE html>
<html
lang=
"en"
>
<head>
<title>
three.js webgl - arraycamera
</title>
<meta
charset=
"utf-8"
>
<meta
name=
"viewport"
content=
"width=device-width, user-scalable=no, minimum-scale=1.0, maximum-scale=1.0"
>
<style>
body
{
margin
:
0px
;
background-color
:
#000000
;
overflow
:
hidden
;
}
</style>
</head>
<body>
<script
src=
"../build/three.js"
></script>
<script>
var
mesh
,
renderer
,
scene
,
camera
;
var
arrayCamera
;
init
();
animate
();
function
init
()
{
// renderer
renderer
=
new
THREE
.
WebGLRenderer
();
renderer
.
setSize
(
window
.
innerWidth
,
window
.
innerHeight
);
document
.
body
.
appendChild
(
renderer
.
domElement
);
// scene
scene
=
new
THREE
.
Scene
();
// camera
camera
=
new
THREE
.
PerspectiveCamera
(
40
,
window
.
innerWidth
/
window
.
innerHeight
,
1
,
10000
);
camera
.
position
.
set
(
20
,
20
,
20
);
camera
.
lookAt
(
scene
.
position
);
camera
.
updateMatrixWorld
();
camera
.
updateProjectionMatrix
();
camera
.
matrixWorldInverse
.
getInverse
(
camera
.
matrixWorld
);
arrayCamera
=
new
THREE
.
ArrayCamera
(
[
camera
.
clone
(),
camera
.
clone
()
]
);
arrayCamera
.
cameras
[
0
].
bounds
=
new
THREE
.
Vector4
(
0.0
,
0.0
,
0.5
,
1.0
);
arrayCamera
.
cameras
[
1
].
bounds
=
new
THREE
.
Vector4
(
0.5
,
0.0
,
0.5
,
1.0
);
arrayCamera
.
cameras
[
0
].
layers
.
enable
(
1
);
arrayCamera
.
cameras
[
1
].
layers
.
enable
(
2
);
arrayCamera
.
position
.
set
(
20
,
20
,
20
);
arrayCamera
.
lookAt
(
scene
.
position
);
arrayCamera
.
enabled
=
true
;
// ambient
scene
.
add
(
new
THREE
.
AmbientLight
(
0x222222
)
);
// light
var
light
=
new
THREE
.
DirectionalLight
(
0xffffff
,
1
);
light
.
position
.
set
(
20
,
20
,
0
);
scene
.
add
(
light
);
// axes
scene
.
add
(
new
THREE
.
AxisHelper
(
20
)
);
// geometry
var
geometry
=
new
THREE
.
SphereGeometry
(
5
,
12
,
8
);
// material
var
material
=
new
THREE
.
MeshPhongMaterial
(
{
color
:
0x00ffff
,
shading
:
THREE
.
FlatShading
,
transparent
:
true
,
opacity
:
0.7
,
}
);
// mesh
mesh
=
new
THREE
.
Mesh
(
geometry
,
material
);
scene
.
add
(
mesh
);
}
function
animate
()
{
requestAnimationFrame
(
animate
);
renderer
.
autoClear
=
true
;
renderer
.
render
(
scene
,
arrayCamera
);
// should render left and right
renderer
.
autoClear
=
false
;
renderer
.
render
(
scene
,
camera
);
// should render center
}
</script>
</body>
</html>
src/renderers/WebGLRenderer.js
浏览文件 @
afe018f3
...
...
@@ -1418,8 +1418,8 @@ function WebGLRenderer( parameters ) {
var
width
=
bounds
.
z
*
_width
;
var
height
=
bounds
.
w
*
_height
;
state
.
viewport
(
_currentViewport
.
set
(
x
,
y
,
width
,
height
)
);
state
.
scissor
(
_currentScissor
.
set
(
x
,
y
,
width
,
height
)
);
state
.
viewport
(
_currentViewport
.
set
(
x
,
y
,
width
,
height
)
.
multiplyScalar
(
_pixelRatio
)
);
state
.
scissor
(
_currentScissor
.
set
(
x
,
y
,
width
,
height
)
.
multiplyScalar
(
_pixelRatio
)
);
state
.
setScissorTest
(
true
);
renderObject
(
object
,
scene
,
camera2
,
geometry
,
material
,
group
);
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录