提交 6dda5e7a 编写于 作者: B Ben Houston

implementation of ambient occlusion map in materials and in WebGLRenderer/Program.

上级 b76ad9f2
......@@ -8,6 +8,7 @@
* map: new THREE.Texture( <Image> ),
*
* lightMap: new THREE.Texture( <Image> ),
* ambientOcclusionMap: new THREE.Texture( <Image> ),
*
* specularMap: new THREE.Texture( <Image> ),
*
......@@ -46,6 +47,7 @@ THREE.MeshBasicMaterial = function ( parameters ) {
this.map = null;
this.lightMap = null;
this.ambientOcclusionMap = null;
this.specularMap = null;
......@@ -88,6 +90,7 @@ THREE.MeshBasicMaterial.prototype.clone = function () {
material.map = this.map;
material.lightMap = this.lightMap;
material.ambientOcclusionMap = this.ambientOcclusionMap;
material.specularMap = this.specularMap;
......
......@@ -10,6 +10,7 @@
* map: new THREE.Texture( <Image> ),
*
* lightMap: new THREE.Texture( <Image> ),
* ambientOcclusionMap: new THREE.Texture( <Image> ),
*
* specularMap: new THREE.Texture( <Image> ),
*
......@@ -53,6 +54,7 @@ THREE.MeshLambertMaterial = function ( parameters ) {
this.map = null;
this.lightMap = null;
this.ambientOcclusionMap = null;
this.specularMap = null;
......@@ -100,6 +102,7 @@ THREE.MeshLambertMaterial.prototype.clone = function () {
material.map = this.map;
material.lightMap = this.lightMap;
material.ambientOcclusionMap = this.ambientOcclusionMap;
material.specularMap = this.specularMap;
......
......@@ -12,6 +12,7 @@
* map: new THREE.Texture( <Image> ),
*
* lightMap: new THREE.Texture( <Image> ),
* ambientOcclusionMap: new THREE.Texture( <Image> ),
*
* bumpMap: new THREE.Texture( <Image> ),
* bumpScale: <float>,
......@@ -65,6 +66,7 @@ THREE.MeshPhongMaterial = function ( parameters ) {
this.map = null;
this.lightMap = null;
this.ambientOcclusionMap = null;
this.bumpMap = null;
this.bumpScale = 1;
......@@ -122,6 +124,7 @@ THREE.MeshPhongMaterial.prototype.clone = function () {
material.map = this.map;
material.lightMap = this.lightMap;
material.ambientOcclusionMap = this.ambientOcclusionMap;
material.bumpMap = this.bumpMap;
material.bumpScale = this.bumpScale;
......
......@@ -4153,6 +4153,7 @@ THREE.WebGLRenderer = function ( parameters ) {
envMap: !! material.envMap,
envMapMode: material.envMap && material.envMap.mapping,
lightMap: !! material.lightMap,
ambientOcclusionMap: !! material.ambientOcclusionMap,
bumpMap: !! material.bumpMap,
normalMap: !! material.normalMap,
specularMap: !! material.specularMap,
......@@ -4595,6 +4596,7 @@ THREE.WebGLRenderer = function ( parameters ) {
uniforms.map.value = material.map;
uniforms.lightMap.value = material.lightMap;
uniforms.ambientOcclusionMap.value = material.ambientOcclusionMap;
uniforms.specularMap.value = material.specularMap;
uniforms.alphaMap.value = material.alphaMap;
......
......@@ -13,6 +13,7 @@ THREE.UniformsLib = {
"offsetRepeat" : { type: "v4", value: new THREE.Vector4( 0, 0, 1, 1 ) },
"lightMap" : { type: "t", value: null },
"ambientOcclusionMap" : { type: "t", value: null },
"specularMap" : { type: "t", value: null },
"alphaMap" : { type: "t", value: null },
......
......@@ -182,6 +182,7 @@ THREE.WebGLProgram = ( function () {
parameters.envMap ? '#define USE_ENVMAP' : '',
parameters.envMap ? '#define ' + envMapModeDefine : '',
parameters.lightMap ? '#define USE_LIGHTMAP' : '',
parameters.ambientOcclusionMap ? '#define USE_AMBIENTOCCLUSIONMAP' : '',
parameters.bumpMap ? '#define USE_BUMPMAP' : '',
parameters.normalMap ? '#define USE_NORMALMAP' : '',
parameters.specularMap ? '#define USE_SPECULARMAP' : '',
......@@ -295,6 +296,7 @@ THREE.WebGLProgram = ( function () {
parameters.envMap ? '#define ' + envMapModeDefine : '',
parameters.envMap ? '#define ' + envMapBlendingDefine : '',
parameters.lightMap ? '#define USE_LIGHTMAP' : '',
parameters.ambientOcclusionMap ? '#define USE_AMBIENTOCCLUSIONMAP' : '',
parameters.bumpMap ? '#define USE_BUMPMAP' : '',
parameters.normalMap ? '#define USE_NORMALMAP' : '',
parameters.specularMap ? '#define USE_SPECULARMAP' : '',
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册