Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
3f839c94
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,发现更多精彩内容 >>
提交
3f839c94
编写于
10月 19, 2014
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Code clean up.
上级
809b86f6
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
71 addition
and
61 deletion
+71
-61
examples/webgl_animation_skinning_morph.html
examples/webgl_animation_skinning_morph.html
+3
-3
examples/webgl_loader_utf8.html
examples/webgl_loader_utf8.html
+1
-1
src/extras/helpers/CameraHelper.js
src/extras/helpers/CameraHelper.js
+39
-36
src/extras/renderers/plugins/ShadowMapPlugin.js
src/extras/renderers/plugins/ShadowMapPlugin.js
+28
-21
未找到文件。
examples/webgl_animation_skinning_morph.html
浏览文件 @
3f839c94
...
...
@@ -112,13 +112,13 @@
light
.
castShadow
=
true
;
light
.
shadowMapWidth
=
2048
;
light
.
shadowMapWidth
=
1024
;
light
.
shadowMapHeight
=
2048
;
var
d
=
390
;
light
.
shadowCameraLeft
=
-
d
*
2
;
light
.
shadowCameraRight
=
d
*
2
;
light
.
shadowCameraLeft
=
-
d
;
light
.
shadowCameraRight
=
d
;
light
.
shadowCameraTop
=
d
*
1.5
;
light
.
shadowCameraBottom
=
-
d
;
...
...
examples/webgl_loader_utf8.html
浏览文件 @
3f839c94
...
...
@@ -96,7 +96,7 @@
scene
.
add
(
directionalLight
);
directionalLight
.
castShadow
=
true
;
//directionalLight.shadowCameraVisible = true;
//
directionalLight.shadowCameraVisible = true;
directionalLight
.
shadowMapWidth
=
2048
;
directionalLight
.
shadowMaHeight
=
2048
;
...
...
src/extras/helpers/CameraHelper.js
浏览文件 @
3f839c94
...
...
@@ -107,12 +107,33 @@ THREE.CameraHelper.prototype = Object.create( THREE.Line.prototype );
THREE
.
CameraHelper
.
prototype
.
update
=
function
()
{
var
geometry
,
pointMap
;
var
vector
=
new
THREE
.
Vector3
();
var
camera
=
new
THREE
.
Camera
();
var
setPoint
=
function
(
point
,
x
,
y
,
z
)
{
vector
.
set
(
x
,
y
,
z
).
unproject
(
camera
);
var
points
=
pointMap
[
point
];
if
(
points
!==
undefined
)
{
for
(
var
i
=
0
,
il
=
points
.
length
;
i
<
il
;
i
++
)
{
geometry
.
vertices
[
points
[
i
]
].
copy
(
vector
);
}
}
};
return
function
()
{
var
scope
=
this
;
geometry
=
this
.
geometry
;
pointMap
=
this
.
pointMap
;
var
w
=
1
,
h
=
1
;
...
...
@@ -129,54 +150,36 @@ THREE.CameraHelper.prototype.update = function () {
// near
setPoint
(
"
n1
"
,
-
w
,
-
h
,
-
1
);
setPoint
(
"
n2
"
,
w
,
-
h
,
-
1
);
setPoint
(
"
n3
"
,
-
w
,
h
,
-
1
);
setPoint
(
"
n4
"
,
w
,
h
,
-
1
);
setPoint
(
"
n2
"
,
w
,
-
h
,
-
1
);
setPoint
(
"
n3
"
,
-
w
,
h
,
-
1
);
setPoint
(
"
n4
"
,
w
,
h
,
-
1
);
// far
setPoint
(
"
f1
"
,
-
w
,
-
h
,
1
);
setPoint
(
"
f2
"
,
w
,
-
h
,
1
);
setPoint
(
"
f3
"
,
-
w
,
h
,
1
);
setPoint
(
"
f4
"
,
w
,
h
,
1
);
setPoint
(
"
f2
"
,
w
,
-
h
,
1
);
setPoint
(
"
f3
"
,
-
w
,
h
,
1
);
setPoint
(
"
f4
"
,
w
,
h
,
1
);
// up
setPoint
(
"
u1
"
,
w
*
0.7
,
h
*
1.1
,
-
1
);
setPoint
(
"
u1
"
,
w
*
0.7
,
h
*
1.1
,
-
1
);
setPoint
(
"
u2
"
,
-
w
*
0.7
,
h
*
1.1
,
-
1
);
setPoint
(
"
u3
"
,
0
,
h
*
2
,
-
1
);
setPoint
(
"
u3
"
,
0
,
h
*
2
,
-
1
);
// cross
setPoint
(
"
cf1
"
,
-
w
,
0
,
1
);
setPoint
(
"
cf2
"
,
w
,
0
,
1
);
setPoint
(
"
cf3
"
,
0
,
-
h
,
1
);
setPoint
(
"
cf4
"
,
0
,
h
,
1
);
setPoint
(
"
cf1
"
,
-
w
,
0
,
1
);
setPoint
(
"
cf2
"
,
w
,
0
,
1
);
setPoint
(
"
cf3
"
,
0
,
-
h
,
1
);
setPoint
(
"
cf4
"
,
0
,
h
,
1
);
setPoint
(
"
cn1
"
,
-
w
,
0
,
-
1
);
setPoint
(
"
cn2
"
,
w
,
0
,
-
1
);
setPoint
(
"
cn3
"
,
0
,
-
h
,
-
1
);
setPoint
(
"
cn4
"
,
0
,
h
,
-
1
);
function
setPoint
(
point
,
x
,
y
,
z
)
{
vector
.
set
(
x
,
y
,
z
).
unproject
(
camera
);
var
points
=
scope
.
pointMap
[
point
];
if
(
points
!==
undefined
)
{
for
(
var
i
=
0
,
il
=
points
.
length
;
i
<
il
;
i
++
)
{
scope
.
geometry
.
vertices
[
points
[
i
]
].
copy
(
vector
);
}
}
}
setPoint
(
"
cn1
"
,
-
w
,
0
,
-
1
);
setPoint
(
"
cn2
"
,
w
,
0
,
-
1
);
setPoint
(
"
cn3
"
,
0
,
-
h
,
-
1
);
setPoint
(
"
cn4
"
,
0
,
h
,
-
1
);
this
.
geometry
.
verticesNeedUpdate
=
true
;
geometry
.
verticesNeedUpdate
=
true
;
};
...
...
src/extras/renderers/plugins/ShadowMapPlugin.js
浏览文件 @
3f839c94
...
...
@@ -227,6 +227,8 @@ THREE.ShadowMapPlugin = function () {
shadowMatrix
=
light
.
shadowMatrix
;
shadowCamera
=
light
.
shadowCamera
;
//
shadowCamera
.
position
.
setFromMatrixPosition
(
light
.
matrixWorld
);
_matrixPosition
.
setFromMatrixPosition
(
light
.
target
.
matrixWorld
);
shadowCamera
.
lookAt
(
_matrixPosition
);
...
...
@@ -234,6 +236,8 @@ THREE.ShadowMapPlugin = function () {
shadowCamera
.
matrixWorldInverse
.
getInverse
(
shadowCamera
.
matrixWorld
);
//
if
(
light
.
cameraHelper
)
light
.
cameraHelper
.
visible
=
light
.
shadowCameraVisible
;
if
(
light
.
shadowCameraVisible
)
light
.
cameraHelper
.
update
();
...
...
@@ -262,7 +266,8 @@ THREE.ShadowMapPlugin = function () {
// set object matrices & frustum culling
_renderList
.
length
=
0
;
projectObject
(
scene
,
scene
,
shadowCamera
);
projectObject
(
scene
,
scene
,
shadowCamera
);
// render regular objects
...
...
@@ -358,32 +363,34 @@ THREE.ShadowMapPlugin = function () {
_renderer
.
resetGLState
();
};
function
projectObject
(
scene
,
object
,
shadowCamera
){
function
projectObject
(
scene
,
object
,
shadowCamera
){
if
(
object
.
visible
)
{
var
webglObjects
=
_webglObjects
[
object
.
id
];
if
(
webglObjects
&&
object
.
castShadow
&&
(
object
.
frustumCulled
===
false
||
_frustum
.
intersectsObject
(
object
)
===
true
)
)
{
for
(
var
i
=
0
,
l
=
webglObjects
.
length
;
i
<
l
;
i
++
){
var
webglObject
=
webglObjects
[
i
];
var
webglObjects
=
_webglObjects
[
object
.
id
];
if
(
webglObjects
&&
object
.
castShadow
&&
(
object
.
frustumCulled
===
false
||
_frustum
.
intersectsObject
(
object
)
===
true
)
)
{
for
(
var
i
=
0
,
l
=
webglObjects
.
length
;
i
<
l
;
i
++
)
{
var
webglObject
=
webglObjects
[
i
];
object
.
_modelViewMatrix
.
multiplyMatrices
(
shadowCamera
.
matrixWorldInverse
,
object
.
matrixWorld
);
_renderList
.
push
(
webglObject
);
_renderList
.
push
(
webglObject
);
}
}
for
(
var
i
=
0
,
l
=
object
.
children
.
length
;
i
<
l
;
i
++
)
{
projectObject
(
scene
,
object
.
children
[
i
],
shadowCamera
);
for
(
var
i
=
0
,
l
=
object
.
children
.
length
;
i
<
l
;
i
++
)
{
projectObject
(
scene
,
object
.
children
[
i
],
shadowCamera
);
}
}
}
function
createVirtualLight
(
light
,
cascade
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录