Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
车家大少爷
three.js
提交
aaef3a8a
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,发现更多精彩内容 >>
提交
aaef3a8a
编写于
9月 25, 2015
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
Simplified PointLight shadows example.
上级
5249b432
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
34 addition
and
76 deletion
+34
-76
examples/webgl_shadowmap_pointlight.html
examples/webgl_shadowmap_pointlight.html
+34
-76
未找到文件。
examples/webgl_shadowmap_pointlight.html
浏览文件 @
aaef3a8a
...
...
@@ -35,10 +35,9 @@
if
(
!
Detector
.
webgl
)
Detector
.
addGetWebGLMessage
();
var
camera
,
scene
,
renderer
,
clock
,
stats
;
var
camera
,
scene
,
renderer
,
stats
;
var
dirLight
,
pointLight
;
var
pointLightParent
;
var
torusKnot
,
cube
,
cube2
,
cube3
,
cube4
;
var
torusKnot
;
var
cubeMaterial
;
var
wallMaterial
;
var
ground
;
...
...
@@ -59,28 +58,35 @@
function
initScene
()
{
camera
=
new
THREE
.
PerspectiveCamera
(
45
,
window
.
innerWidth
/
window
.
innerHeight
,
1
,
1000
);
camera
.
position
.
set
(
0
,
1
5
,
35
);
camera
.
position
.
set
(
0
,
1
0
,
40
);
scene
=
new
THREE
.
Scene
();
// Lights
var
ambient
=
new
THREE
.
AmbientLight
(
0x404040
);
scene
.
add
(
ambient
);
pointLight
=
new
THREE
.
PointLight
(
0xffffff
);
pointLight
.
position
.
set
(
0
,
11
,
4
);
pointLight
.
castShadow
=
true
;
pointLight
.
shadowCameraNear
=
1
;
pointLight
.
shadowCameraFar
=
30
;
pointLight
.
shadowDarkness
=
0.5
;
pointLight
.
shadowCameraVisible
=
true
;
//
pointLight.shadowCameraVisible = true;
pointLight
.
shadowMapWidth
=
2048
;
pointLight
.
shadowMapHeight
=
1024
;
pointLight
.
shadowBias
=
0.1
;
pointLight
.
name
=
'
Point Light
'
;
pointLight
.
shadowBias
=
0.01
;
scene
.
add
(
pointLight
);
/*dirLight = new THREE.DirectionalLight( 0xffffff, 1 );
var
geometry
=
new
THREE
.
SphereGeometry
(
0.3
,
32
,
32
);
var
material
=
new
THREE
.
MeshBasicMaterial
(
{
color
:
0xffffff
}
);
var
sphere
=
new
THREE
.
Mesh
(
geometry
,
material
);
sphere
.
castShadow
=
false
;
sphere
.
receiveShadow
=
false
;
pointLight
.
add
(
sphere
);
/*
dirLight = new THREE.DirectionalLight( 0xffffff, 1 );
dirLight.position.set( 0, 50, 0 );
dirLight.castShadow = true;
dirLight.shadowCameraNear = 1;
...
...
@@ -93,42 +99,18 @@
dirLight.shadowCameraVisible = true;
dirLight.shadowMapWidth = 1024;
dirLight.shadowMapHeight = 1024;
dirLight.name = 'Dir. Light'
;
scene.add( dirLight );
*/
scene.add( dirLight )
;
*/
cubeMaterial
=
new
THREE
.
MeshPhongMaterial
(
{
color
:
0xff0000
,
shininess
:
150
,
specular
:
0x222222
,
shading
:
THREE
.
SmoothShading
,
shininess
:
50
,
specular
:
0x222222
}
);
var
cubeGeometry
=
new
THREE
.
BoxGeometry
(
3
,
3
,
3
);
cube
=
new
THREE
.
Mesh
(
cubeGeometry
,
cubeMaterial
);
cube
.
name
=
"
cube 1
"
;
cube
.
position
.
set
(
8
,
3
,
6
);
cube
.
castShadow
=
true
;
cube
.
receiveShadow
=
true
;
scene
.
add
(
cube
);
cube2
=
new
THREE
.
Mesh
(
cubeGeometry
,
cubeMaterial
);
cube2
.
name
=
"
cube 2
"
;
cube2
.
position
.
set
(
-
8
,
3
,
4
);
cube2
.
castShadow
=
true
;
cube2
.
receiveShadow
=
true
;
scene
.
add
(
cube2
);
cube3
=
new
THREE
.
Mesh
(
cubeGeometry
,
cubeMaterial
);
cube3
.
name
=
"
cube 3
"
;
cube3
.
position
.
set
(
-
4
,
15
,
-
6
);
cube3
.
castShadow
=
true
;
cube3
.
receiveShadow
=
true
;
scene
.
add
(
cube3
);
var
torusGeometry
=
new
THREE
.
TorusKnotGeometry
(
25
,
8
,
75
,
20
);
var
torusGeometry
=
new
THREE
.
TorusKnotGeometry
(
14
,
1
,
150
,
20
);
torusKnot
=
new
THREE
.
Mesh
(
torusGeometry
,
cubeMaterial
);
torusKnot
.
scale
.
multiplyScalar
(
1
/
18
);
torusKnot
.
position
.
set
(
-
1
,
3
,
-
4
);
torusKnot
.
position
.
set
(
0
,
5
,
0
);
torusKnot
.
castShadow
=
true
;
torusKnot
.
receiveShadow
=
true
;
scene
.
add
(
torusKnot
);
...
...
@@ -142,7 +124,6 @@
var
wallGeometry
=
new
THREE
.
BoxGeometry
(
10
,
0.15
,
10
);
ground
=
new
THREE
.
Mesh
(
wallGeometry
,
wallMaterial
);
ground
.
name
=
"
ground
"
;
ground
.
scale
.
multiplyScalar
(
3
);
ground
.
castShadow
=
false
;
ground
.
receiveShadow
=
true
;
...
...
@@ -150,7 +131,6 @@
ground
.
position
.
set
(
0
,
-
5
,
0
);
var
ceiling
=
new
THREE
.
Mesh
(
wallGeometry
,
wallMaterial
);
ceiling
.
name
=
"
ceiling
"
;
ceiling
.
scale
.
multiplyScalar
(
3
);
ceiling
.
castShadow
=
false
;
ceiling
.
receiveShadow
=
true
;
...
...
@@ -158,7 +138,6 @@
ceiling
.
position
.
set
(
0
,
24
,
0
);
var
wall
=
new
THREE
.
Mesh
(
wallGeometry
,
wallMaterial
);
wall
.
name
=
"
left wall
"
;
wall
.
scale
.
multiplyScalar
(
3
);
wall
.
castShadow
=
false
;
wall
.
receiveShadow
=
true
;
...
...
@@ -167,7 +146,6 @@
wall
.
rotation
.
z
=
Math
.
PI
/
2
;
wall
=
new
THREE
.
Mesh
(
wallGeometry
,
wallMaterial
);
wall
.
name
=
"
right wall
"
;
wall
.
scale
.
multiplyScalar
(
3
);
wall
.
castShadow
=
false
;
wall
.
receiveShadow
=
true
;
...
...
@@ -176,7 +154,6 @@
wall
.
rotation
.
z
=
Math
.
PI
/
2
;
wall
=
new
THREE
.
Mesh
(
wallGeometry
,
wallMaterial
);
wall
.
name
=
"
back wall
"
;
wall
.
scale
.
multiplyScalar
(
3
);
wall
.
castShadow
=
false
;
wall
.
receiveShadow
=
true
;
...
...
@@ -185,28 +162,16 @@
wall
.
rotation
.
y
=
Math
.
PI
/
2
;
wall
.
rotation
.
z
=
Math
.
PI
/
2
;
/*
wall = new THREE.Mesh( wallGeometry, wallMaterial );
wall
.name = "front wall"
;
/*
wall
= new THREE.Mesh( wallGeometry, wallMaterial )
;
wall.scale.multiplyScalar( 3 );
wall.castShadow = false;
wall.receiveShadow = true;
scene.add( wall );
wall.position.set( 0, 10, 14 );
wall.rotation.y = Math.PI / 2;
wall.rotation.z = Math.PI / 2;*/
var
sphereGeometry
=
new
THREE
.
SphereGeometry
(
1
,
32
,
32
);
var
material
=
new
THREE
.
MeshBasicMaterial
(
{
color
:
0xffffff
}
);
var
sphere
=
new
THREE
.
Mesh
(
sphereGeometry
,
material
);
sphere
.
castShadow
=
false
;
sphere
.
receiveShadow
=
false
;
sphere
.
position
.
set
(
0
,
11
,
4
);
scene
.
add
(
sphere
);
pointLightParent
=
new
THREE
.
Object3D
();
pointLightParent
.
add
(
pointLight
);
pointLightParent
.
add
(
sphere
);
scene
.
add
(
pointLightParent
);
wall.rotation.z = Math.PI / 2;
*/
}
...
...
@@ -220,11 +185,9 @@
// Mouse control
controls
=
new
THREE
.
OrbitControls
(
camera
,
renderer
.
domElement
);
controls
.
target
.
set
(
0
,
2
,
0
);
controls
.
target
.
set
(
0
,
10
,
0
);
controls
.
update
();
clock
=
new
THREE
.
Clock
();
stats
=
new
Stats
();
stats
.
domElement
.
style
.
position
=
'
absolute
'
;
stats
.
domElement
.
style
.
right
=
'
0px
'
;
...
...
@@ -237,6 +200,7 @@
camera
.
aspect
=
window
.
innerWidth
/
window
.
innerHeight
;
camera
.
updateProjectionMatrix
();
renderer
.
setSize
(
window
.
innerWidth
,
window
.
innerHeight
);
}
...
...
@@ -252,26 +216,20 @@
function
renderScene
()
{
renderer
.
render
(
scene
,
camera
);
}
function
render
()
{
var
delta
=
clock
.
getDelta
();
pointLightParent
.
rotation
.
y
+=
delta
*
2
;
renderScene
();
var
time
=
performance
.
now
()
*
0.001
;
cube
.
rotation
.
x
+=
0.25
*
delta
;
cube
.
rotation
.
y
+=
2
*
delta
;
cube
.
rotation
.
z
+=
1
*
delta
;
pointLight
.
position
.
x
=
Math
.
sin
(
time
)
*
9
;
pointLight
.
position
.
y
=
Math
.
sin
(
time
*
1.1
)
*
9
+
5
;
pointLight
.
position
.
z
=
Math
.
sin
(
time
*
1.2
)
*
9
;
cube2
.
rotation
.
x
+=
0.25
*
delta
;
cube2
.
rotation
.
y
+=
2
*
delta
;
cube2
.
rotation
.
z
+=
1
*
delta
;
renderScene
();
cube3
.
rotation
.
x
+=
0.25
*
delta
;
cube3
.
rotation
.
y
+=
2
*
delta
;
cube3
.
rotation
.
z
+=
1
*
delta
;
torusKnot
.
rotation
.
y
=
time
*
0.1
;
}
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录