Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
Ablesons
three.js
提交
3d85d2ce
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,发现更多精彩内容 >>
提交
3d85d2ce
编写于
3月 26, 2015
作者:
M
Mr.doob
浏览文件
操作
浏览文件
下载
差异文件
Merge pull request #6263 from bhouston/ambientOcclusionMap
Modification of LightMap and addition of AOMap to Materials.
上级
b1c1c3f8
cfdbdd7d
变更
23
隐藏空白更改
内联
并排
Showing
23 changed file
with
231 addition
and
81 deletion
+231
-81
editor/js/Sidebar.Material.js
editor/js/Sidebar.Material.js
+78
-0
examples/webgl_materials_lightmap.html
examples/webgl_materials_lightmap.html
+6
-6
src/loaders/Loader.js
src/loaders/Loader.js
+6
-0
src/loaders/ObjectLoader.js
src/loaders/ObjectLoader.js
+14
-2
src/materials/MeshPhongMaterial.js
src/materials/MeshPhongMaterial.js
+12
-0
src/renderers/WebGLRenderer.js
src/renderers/WebGLRenderer.js
+4
-0
src/renderers/shaders/ShaderChunk/aomap_fragment.glsl
src/renderers/shaders/ShaderChunk/aomap_fragment.glsl
+5
-0
src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl
src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl
+6
-0
src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl
src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl
+1
-1
src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl
...renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl
+1
-1
src/renderers/shaders/ShaderChunk/lightmap_pars_vertex.glsl
src/renderers/shaders/ShaderChunk/lightmap_pars_vertex.glsl
+0
-5
src/renderers/shaders/ShaderChunk/lightmap_vertex.glsl
src/renderers/shaders/ShaderChunk/lightmap_vertex.glsl
+0
-5
src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl
src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl
+0
-6
src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl
src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl
+5
-0
src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl
src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl
+6
-0
src/renderers/shaders/ShaderChunk/uv2_vertex.glsl
src/renderers/shaders/ShaderChunk/uv2_vertex.glsl
+5
-0
src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl
src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl
+5
-0
src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl
src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl
+0
-0
src/renderers/shaders/ShaderChunk/uv_vertex.glsl
src/renderers/shaders/ShaderChunk/uv_vertex.glsl
+0
-0
src/renderers/shaders/ShaderLib.js
src/renderers/shaders/ShaderLib.js
+25
-13
src/renderers/shaders/UniformsLib.js
src/renderers/shaders/UniformsLib.js
+5
-0
src/renderers/webgl/WebGLProgram.js
src/renderers/webgl/WebGLProgram.js
+2
-1
utils/build/includes/common.json
utils/build/includes/common.json
+45
-41
未找到文件。
editor/js/Sidebar.Material.js
浏览文件 @
3d85d2ce
...
...
@@ -278,6 +278,32 @@ Sidebar.Material = function ( editor ) {
container
.
add
(
materialEnvMapRow
);
// light map
var
materialLightMapRow
=
new
UI
.
Panel
();
var
materialLightMapEnabled
=
new
UI
.
Checkbox
(
false
).
onChange
(
update
);
var
materialLightMap
=
new
UI
.
Texture
().
onChange
(
update
);
materialLightMapRow
.
add
(
new
UI
.
Text
(
'
Light Map
'
).
setWidth
(
'
90px
'
)
);
materialLightMapRow
.
add
(
materialLightMapEnabled
);
materialLightMapRow
.
add
(
materialLightMap
);
container
.
add
(
materialLightMapRow
);
// ambient occlusion map
var
materialAOMapRow
=
new
UI
.
Panel
();
var
materialAOMapEnabled
=
new
UI
.
Checkbox
(
false
).
onChange
(
update
);
var
materialAOMap
=
new
UI
.
Texture
().
onChange
(
update
);
var
materialAOScale
=
new
UI
.
Number
(
1
).
setRange
(
0
,
1
).
setWidth
(
'
30px
'
).
onChange
(
update
);
materialAOMapRow
.
add
(
new
UI
.
Text
(
'
AO Map
'
).
setWidth
(
'
90px
'
)
);
materialAOMapRow
.
add
(
materialAOMapEnabled
);
materialAOMapRow
.
add
(
materialAOMap
);
materialAOMapRow
.
add
(
materialAOScale
);
container
.
add
(
materialAOMapRow
);
// side
var
materialSideRow
=
new
UI
.
Panel
();
...
...
@@ -574,6 +600,41 @@ Sidebar.Material = function ( editor ) {
}
if
(
material
.
lightMap
!==
undefined
)
{
var
lightMapEnabled
=
materialLightMapEnabled
.
getValue
()
===
true
;
if
(
objectHasUvs
)
{
material
.
lightMap
=
specularMapEnabled
?
materialLightMap
.
getValue
()
:
null
;
material
.
needsUpdate
=
true
;
}
else
{
if
(
lightMapEnabled
)
textureWarning
=
true
;
}
}
if
(
material
.
aoMap
!==
undefined
)
{
var
aoMapEnabled
=
materialAOMapEnabled
.
getValue
()
===
true
;
if
(
objectHasUvs
)
{
material
.
aoMap
=
aoMapEnabled
?
materialAOMap
.
getValue
()
:
null
;
material
.
aoMapIntensity
=
materialAOScale
.
getValue
();
material
.
needsUpdate
=
true
;
}
else
{
if
(
aoMapEnabled
)
textureWarning
=
true
;
}
}
if
(
material
.
side
!==
undefined
)
{
material
.
side
=
parseInt
(
materialSide
.
getValue
()
);
...
...
@@ -650,6 +711,8 @@ Sidebar.Material = function ( editor ) {
'
normalMap
'
:
materialNormalMapRow
,
'
specularMap
'
:
materialSpecularMapRow
,
'
envMap
'
:
materialEnvMapRow
,
'
lightMap
'
:
materialLightMapRow
,
'
aoMap
'
:
materialAOMapRow
,
'
side
'
:
materialSideRow
,
'
shading
'
:
materialShadingRow
,
'
blending
'
:
materialBlendingRow
,
...
...
@@ -799,6 +862,21 @@ Sidebar.Material = function ( editor ) {
}
if
(
material
.
aoMap
!==
undefined
)
{
materialAOMapEnabled
.
setValue
(
material
.
aoMap
!==
null
);
materialAOMap
.
setValue
(
material
.
aoMap
);
materialAOScale
.
setValue
(
material
.
aoMapIntensity
);
}
if
(
material
.
lightMap
!==
undefined
)
{
materialLightMapEnabled
.
setValue
(
material
.
lightMap
!==
null
);
materialLightMap
.
setValue
(
material
.
lightMap
);
}
if
(
material
.
side
!==
undefined
)
{
materialSide
.
setValue
(
material
.
side
);
...
...
examples/webgl_materials_lightmap.html
浏览文件 @
3d85d2ce
...
...
@@ -100,12 +100,7 @@
// LIGHTS
var
directionalLight
=
new
THREE
.
DirectionalLight
(
0x333333
,
2
);
directionalLight
.
position
.
set
(
100
,
100
,
-
100
);
scene
.
add
(
directionalLight
);
var
hemiLight
=
new
THREE
.
HemisphereLight
(
0xaabbff
,
0x040404
,
1
);
var
hemiLight
=
new
THREE
.
HemisphereLight
(
0xaabbff
,
0x040404
,
0.3
);
hemiLight
.
position
.
y
=
500
;
scene
.
add
(
hemiLight
);
...
...
@@ -157,7 +152,12 @@
var
loader
=
new
THREE
.
JSONLoader
();
loader
.
load
(
"
obj/lightmap/lightmap.js
"
,
function
(
geometry
,
materials
)
{
for
(
var
i
=
0
;
i
<
materials
.
length
;
i
++
)
{
materials
[
i
].
lightMapIntensity
=
0.75
;
}
var
mesh
=
new
THREE
.
Mesh
(
geometry
,
new
THREE
.
MeshFaceMaterial
(
materials
)
);
mesh
.
scale
.
multiplyScalar
(
100
);
scene
.
add
(
mesh
);
...
...
src/loaders/Loader.js
浏览文件 @
3d85d2ce
...
...
@@ -347,6 +347,12 @@ THREE.Loader.prototype = {
}
if
(
m
.
mapAO
&&
texturePath
)
{
create_texture
(
mpars
,
'
aoMap
'
,
m
.
mapAO
,
m
.
mapAORepeat
,
m
.
mapAOOffset
,
m
.
mapAOWrap
,
m
.
mapAOAnisotropy
);
}
if
(
m
.
mapBump
&&
texturePath
)
{
create_texture
(
mpars
,
'
bumpMap
'
,
m
.
mapBump
,
m
.
mapBumpRepeat
,
m
.
mapBumpOffset
,
m
.
mapBumpWrap
,
m
.
mapBumpAnisotropy
);
...
...
src/loaders/ObjectLoader.js
浏览文件 @
3d85d2ce
...
...
@@ -247,7 +247,7 @@ THREE.ObjectLoader.prototype = {
if
(
data
.
bumpMap
!==
undefined
)
{
material
.
bumpMap
=
getTexture
(
data
.
bumpMap
);
if
(
data
.
bumpScale
)
{
if
(
data
.
bumpScale
!==
undefined
)
{
material
.
bumpScale
=
data
.
bumpScale
;
}
...
...
@@ -268,7 +268,7 @@ THREE.ObjectLoader.prototype = {
if
(
data
.
normalMap
!==
undefined
)
{
material
.
normalMap
=
getTexture
(
data
.
normalMap
);
if
(
data
.
normalScale
)
{
if
(
data
.
normalScale
!==
undefined
)
{
material
.
normalScale
=
new
THREE
.
Vector2
(
data
.
normalScale
,
data
.
normalScale
);
}
...
...
@@ -278,6 +278,18 @@ THREE.ObjectLoader.prototype = {
material
.
lightMap
=
getTexture
(
data
.
lightMap
);
if
(
data
.
lightMapIntensity
!==
undefined
)
{
material
.
lightMapIntensity
=
data
.
lightMapIntensity
;
}
}
if
(
data
.
aoMap
!==
undefined
)
{
material
.
aoMap
=
getTexture
(
data
.
aoMap
);
if
(
data
.
aoMapIntensity
!==
undefined
)
{
material
.
aoMapIntensity
=
data
.
aoMapIntensity
;
}
}
if
(
data
.
specularMap
!==
undefined
)
{
...
...
src/materials/MeshPhongMaterial.js
浏览文件 @
3d85d2ce
...
...
@@ -12,6 +12,10 @@
* map: new THREE.Texture( <Image> ),
*
* lightMap: new THREE.Texture( <Image> ),
* lightMapIntensity: <float>
*
* aoMap: new THREE.Texture( <Image> ),
* aoMapIntensity: <float>
*
* bumpMap: new THREE.Texture( <Image> ),
* bumpScale: <float>,
...
...
@@ -65,6 +69,10 @@ THREE.MeshPhongMaterial = function ( parameters ) {
this
.
map
=
null
;
this
.
lightMap
=
null
;
this
.
lightMapIntensity
=
1.0
;
this
.
aoMap
=
null
;
this
.
aoMapIntensity
=
1.0
;
this
.
bumpMap
=
null
;
this
.
bumpScale
=
1
;
...
...
@@ -122,6 +130,10 @@ THREE.MeshPhongMaterial.prototype.clone = function () {
material
.
map
=
this
.
map
;
material
.
lightMap
=
this
.
lightMap
;
material
.
lightMapIntensity
=
this
.
lightMapIntensity
;
material
.
aoMap
=
this
.
aoMap
;
material
.
aoMapIntensity
=
this
.
aoMapIntensity
;
material
.
bumpMap
=
this
.
bumpMap
;
material
.
bumpScale
=
this
.
bumpScale
;
...
...
src/renderers/WebGLRenderer.js
浏览文件 @
3d85d2ce
...
...
@@ -4139,6 +4139,7 @@ THREE.WebGLRenderer = function ( parameters ) {
envMap
:
!!
material
.
envMap
,
envMapMode
:
material
.
envMap
&&
material
.
envMap
.
mapping
,
lightMap
:
!!
material
.
lightMap
,
aoMap
:
!!
material
.
aoMap
,
bumpMap
:
!!
material
.
bumpMap
,
normalMap
:
!!
material
.
normalMap
,
specularMap
:
!!
material
.
specularMap
,
...
...
@@ -4581,6 +4582,9 @@ THREE.WebGLRenderer = function ( parameters ) {
uniforms
.
map
.
value
=
material
.
map
;
uniforms
.
lightMap
.
value
=
material
.
lightMap
;
uniforms
.
lightMapIntensity
.
value
=
material
.
lightMapIntensity
;
uniforms
.
aoMap
.
value
=
material
.
aoMap
;
uniforms
.
aoMapIntensity
.
value
=
material
.
aoMapIntensity
;
uniforms
.
specularMap
.
value
=
material
.
specularMap
;
uniforms
.
alphaMap
.
value
=
material
.
alphaMap
;
...
...
src/renderers/shaders/ShaderChunk/aomap_fragment.glsl
0 → 100644
浏览文件 @
3d85d2ce
#ifdef USE_AOMAP
outgoingLight
*=
(
texture2D
(
aoMap
,
vUv2
).
r
-
1
.
0
)
*
aoMapIntensity
+
1
.
0
;
#endif
\ No newline at end of file
src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl
0 → 100644
浏览文件 @
3d85d2ce
#ifdef USE_AOMAP
uniform
sampler2D
aoMap
;
uniform
float
aoMapIntensity
;
#endif
\ No newline at end of file
src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl
浏览文件 @
3d85d2ce
#ifdef USE_LIGHTMAP
outgoingLight
*=
diffuseColor
.
xyz
*
texture2D
(
lightMap
,
vUv2
).
xyz
;
outgoingLight
+=
diffuseColor
.
xyz
*
texture2D
(
lightMap
,
vUv2
).
xyz
*
lightMapIntensity
;
#endif
\ No newline at end of file
src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl
浏览文件 @
3d85d2ce
#ifdef USE_LIGHTMAP
varying
vec2
vUv2
;
uniform
sampler2D
lightMap
;
uniform
float
lightMapIntensity
;
#endif
\ No newline at end of file
src/renderers/shaders/ShaderChunk/lightmap_pars_vertex.glsl
已删除
100644 → 0
浏览文件 @
b1c1c3f8
#ifdef USE_LIGHTMAP
varying
vec2
vUv2
;
#endif
\ No newline at end of file
src/renderers/shaders/ShaderChunk/lightmap_vertex.glsl
已删除
100644 → 0
浏览文件 @
b1c1c3f8
#ifdef USE_LIGHTMAP
vUv2
=
uv2
;
#endif
\ No newline at end of file
src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl
浏览文件 @
3d85d2ce
#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP )
varying
vec2
vUv
;
#endif
#ifdef USE_MAP
uniform
sampler2D
map
;
...
...
src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl
0 → 100644
浏览文件 @
3d85d2ce
#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
varying
vec2
vUv2
;
#endif
\ No newline at end of file
src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl
0 → 100644
浏览文件 @
3d85d2ce
#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
attribute
vec2
uv2
;
varying
vec2
vUv2
;
#endif
\ No newline at end of file
src/renderers/shaders/ShaderChunk/uv2_vertex.glsl
0 → 100644
浏览文件 @
3d85d2ce
#if defined( USE_LIGHTMAP ) || defined( USE_AOMAP )
vUv2
=
uv2
;
#endif
\ No newline at end of file
src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl
0 → 100644
浏览文件 @
3d85d2ce
#if defined( USE_MAP ) || defined( USE_BUMPMAP ) || defined( USE_NORMALMAP ) || defined( USE_SPECULARMAP ) || defined( USE_ALPHAMAP )
varying
vec2
vUv
;
#endif
\ No newline at end of file
src/renderers/shaders/ShaderChunk/
map
_pars_vertex.glsl
→
src/renderers/shaders/ShaderChunk/
uv
_pars_vertex.glsl
浏览文件 @
3d85d2ce
文件已移动
src/renderers/shaders/ShaderChunk/
map
_vertex.glsl
→
src/renderers/shaders/ShaderChunk/
uv
_vertex.glsl
浏览文件 @
3d85d2ce
文件已移动
src/renderers/shaders/ShaderLib.js
浏览文件 @
3d85d2ce
...
...
@@ -22,8 +22,8 @@ THREE.ShaderLib = {
vertexShader
:
[
THREE
.
ShaderChunk
[
"
common
"
],
THREE
.
ShaderChunk
[
"
map
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
lightmap
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
uv
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
uv2
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
envmap_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
color_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
morphtarget_pars_vertex
"
],
...
...
@@ -33,8 +33,8 @@ THREE.ShaderLib = {
"
void main() {
"
,
THREE
.
ShaderChunk
[
"
map
_vertex
"
],
THREE
.
ShaderChunk
[
"
lightmap
_vertex
"
],
THREE
.
ShaderChunk
[
"
uv
_vertex
"
],
THREE
.
ShaderChunk
[
"
uv2
_vertex
"
],
THREE
.
ShaderChunk
[
"
color_vertex
"
],
THREE
.
ShaderChunk
[
"
skinbase_vertex
"
],
...
...
@@ -66,8 +66,11 @@ THREE.ShaderLib = {
THREE
.
ShaderChunk
[
"
common
"
],
THREE
.
ShaderChunk
[
"
color_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
uv_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
uv2_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
map_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
alphamap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
aomap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
lightmap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
envmap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
fog_pars_fragment
"
],
...
...
@@ -89,7 +92,8 @@ THREE.ShaderLib = {
"
outgoingLight = diffuseColor.rgb;
"
,
// simple shader
THREE
.
ShaderChunk
[
"
lightmap_fragment
"
],
// TODO: Light map on an otherwise unlit surface doesn't make sense.
THREE
.
ShaderChunk
[
"
aomap_fragment
"
],
THREE
.
ShaderChunk
[
"
lightmap_fragment
"
],
THREE
.
ShaderChunk
[
"
envmap_fragment
"
],
THREE
.
ShaderChunk
[
"
shadowmap_fragment
"
],
// TODO: Shadows on an otherwise unlit surface doesn't make sense.
...
...
@@ -134,8 +138,8 @@ THREE.ShaderLib = {
"
#endif
"
,
THREE
.
ShaderChunk
[
"
common
"
],
THREE
.
ShaderChunk
[
"
map
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
lightmap
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
uv
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
uv2
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
envmap_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
lights_lambert_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
color_pars_vertex
"
],
...
...
@@ -146,8 +150,8 @@ THREE.ShaderLib = {
"
void main() {
"
,
THREE
.
ShaderChunk
[
"
map
_vertex
"
],
THREE
.
ShaderChunk
[
"
lightmap
_vertex
"
],
THREE
.
ShaderChunk
[
"
uv
_vertex
"
],
THREE
.
ShaderChunk
[
"
uv2
_vertex
"
],
THREE
.
ShaderChunk
[
"
color_vertex
"
],
THREE
.
ShaderChunk
[
"
morphnormal_vertex
"
],
...
...
@@ -185,8 +189,11 @@ THREE.ShaderLib = {
THREE
.
ShaderChunk
[
"
common
"
],
THREE
.
ShaderChunk
[
"
color_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
uv_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
uv2_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
map_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
alphamap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
aomap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
lightmap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
envmap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
fog_pars_fragment
"
],
...
...
@@ -222,6 +229,7 @@ THREE.ShaderLib = {
"
#endif
"
,
THREE
.
ShaderChunk
[
"
aomap_fragment
"
],
THREE
.
ShaderChunk
[
"
lightmap_fragment
"
],
THREE
.
ShaderChunk
[
"
envmap_fragment
"
],
THREE
.
ShaderChunk
[
"
shadowmap_fragment
"
],
...
...
@@ -271,8 +279,8 @@ THREE.ShaderLib = {
"
#endif
"
,
THREE
.
ShaderChunk
[
"
common
"
],
THREE
.
ShaderChunk
[
"
map
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
lightmap
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
uv
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
uv2
_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
envmap_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
lights_phong_pars_vertex
"
],
THREE
.
ShaderChunk
[
"
color_pars_vertex
"
],
...
...
@@ -283,8 +291,8 @@ THREE.ShaderLib = {
"
void main() {
"
,
THREE
.
ShaderChunk
[
"
map
_vertex
"
],
THREE
.
ShaderChunk
[
"
lightmap
_vertex
"
],
THREE
.
ShaderChunk
[
"
uv
_vertex
"
],
THREE
.
ShaderChunk
[
"
uv2
_vertex
"
],
THREE
.
ShaderChunk
[
"
color_vertex
"
],
THREE
.
ShaderChunk
[
"
morphnormal_vertex
"
],
...
...
@@ -326,8 +334,11 @@ THREE.ShaderLib = {
THREE
.
ShaderChunk
[
"
common
"
],
THREE
.
ShaderChunk
[
"
color_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
uv_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
uv2_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
map_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
alphamap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
aomap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
lightmap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
envmap_pars_fragment
"
],
THREE
.
ShaderChunk
[
"
fog_pars_fragment
"
],
...
...
@@ -352,6 +363,7 @@ THREE.ShaderLib = {
THREE
.
ShaderChunk
[
"
lights_phong_fragment
"
],
THREE
.
ShaderChunk
[
"
aomap_fragment
"
],
THREE
.
ShaderChunk
[
"
lightmap_fragment
"
],
THREE
.
ShaderChunk
[
"
envmap_fragment
"
],
THREE
.
ShaderChunk
[
"
shadowmap_fragment
"
],
...
...
src/renderers/shaders/UniformsLib.js
浏览文件 @
3d85d2ce
...
...
@@ -13,6 +13,11 @@ THREE.UniformsLib = {
"
offsetRepeat
"
:
{
type
:
"
v4
"
,
value
:
new
THREE
.
Vector4
(
0
,
0
,
1
,
1
)
},
"
lightMap
"
:
{
type
:
"
t
"
,
value
:
null
},
"
lightMapIntensity
"
:
{
type
:
"
f
"
,
value
:
1
},
"
aoMap
"
:
{
type
:
"
t
"
,
value
:
null
},
"
aoMapIntensity
"
:
{
type
:
"
f
"
,
value
:
1
},
"
specularMap
"
:
{
type
:
"
t
"
,
value
:
null
},
"
alphaMap
"
:
{
type
:
"
t
"
,
value
:
null
},
...
...
src/renderers/webgl/WebGLProgram.js
浏览文件 @
3d85d2ce
...
...
@@ -182,6 +182,7 @@ THREE.WebGLProgram = ( function () {
parameters
.
envMap
?
'
#define USE_ENVMAP
'
:
''
,
parameters
.
envMap
?
'
#define
'
+
envMapModeDefine
:
''
,
parameters
.
lightMap
?
'
#define USE_LIGHTMAP
'
:
''
,
parameters
.
aoMap
?
'
#define USE_AOMAP
'
:
''
,
parameters
.
bumpMap
?
'
#define USE_BUMPMAP
'
:
''
,
parameters
.
normalMap
?
'
#define USE_NORMALMAP
'
:
''
,
parameters
.
specularMap
?
'
#define USE_SPECULARMAP
'
:
''
,
...
...
@@ -220,7 +221,6 @@ THREE.WebGLProgram = ( function () {
'
attribute vec3 position;
'
,
'
attribute vec3 normal;
'
,
'
attribute vec2 uv;
'
,
'
attribute vec2 uv2;
'
,
'
#ifdef USE_COLOR
'
,
...
...
@@ -295,6 +295,7 @@ THREE.WebGLProgram = ( function () {
parameters
.
envMap
?
'
#define
'
+
envMapModeDefine
:
''
,
parameters
.
envMap
?
'
#define
'
+
envMapBlendingDefine
:
''
,
parameters
.
lightMap
?
'
#define USE_LIGHTMAP
'
:
''
,
parameters
.
aoMap
?
'
#define USE_AOMAP
'
:
''
,
parameters
.
bumpMap
?
'
#define USE_BUMPMAP
'
:
''
,
parameters
.
normalMap
?
'
#define USE_NORMALMAP
'
:
''
,
parameters
.
specularMap
?
'
#define USE_SPECULARMAP
'
:
''
,
...
...
utils/build/includes/common.json
浏览文件 @
3d85d2ce
...
...
@@ -84,59 +84,63 @@
"src/scenes/Fog.js"
,
"src/scenes/FogExp2.js"
,
"src/renderers/shaders/ShaderChunk.js"
,
"src/renderers/shaders/ShaderChunk/common.glsl"
,
"src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/alphatest_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/aomap_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/aomap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/color_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/color_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/common.glsl"
,
"src/renderers/shaders/ShaderChunk/default_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/lightmap_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/envmap_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/envmap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/normalmap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_phong_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/envmap_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/fog_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/fog_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/lightmap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_lambert_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_lambert_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_phong_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_phong_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_phong_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/map_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/lightmap_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/color_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/color_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/skinning_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/envmap_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/linear_to_gamma_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/color_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_lambert_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/map_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/envmap_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/logdepthbuf_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/logdepthbuf_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/logdepthbuf_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/map_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/map_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/map_particle_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/map_particle_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/morphnormal_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/morphtarget_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/fog_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/bumpmap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/defaultnormal_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/lights_phong_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/skinbase_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/map_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/lightmap_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/color_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/morphtarget_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/
envmap_vertex
.glsl"
,
"src/renderers/shaders/ShaderChunk/
normalmap_pars_fragment
.glsl"
,
"src/renderers/shaders/ShaderChunk/shadowmap_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/shadowmap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/shadowmap_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/shadowmap_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/skinbase_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/skinning_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/logdepthbuf_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/alphamap_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/alphamap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/skinning_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/skinnormal_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/specularmap_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/specularmap_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/uv2_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/uv2_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/uv2_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/uv_pars_fragment.glsl"
,
"src/renderers/shaders/ShaderChunk/uv_pars_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/uv_vertex.glsl"
,
"src/renderers/shaders/ShaderChunk/worldpos_vertex.glsl"
,
"src/renderers/shaders/UniformsUtils.js"
,
"src/renderers/shaders/UniformsLib.js"
,
"src/renderers/shaders/ShaderLib.js"
,
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录