提交 d6ee54be 编写于 作者: M Mr.doob

WebGLRenderer: MAX_ to NUM_. See 8c82186d.

上级 ad228224
...@@ -170,9 +170,9 @@ THREE.ShaderSkin = { ...@@ -170,9 +170,9 @@ THREE.ShaderSkin = {
"vec3 totalSpecularLight = vec3( 0.0 );", "vec3 totalSpecularLight = vec3( 0.0 );",
"vec3 totalDiffuseLight = vec3( 0.0 );", "vec3 totalDiffuseLight = vec3( 0.0 );",
"#if POINT_LIGHTS > 0", "#if NUM_POINT_LIGHTS > 0",
"for ( int i = 0; i < POINT_LIGHTS; i ++ ) {", "for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {",
"vec3 lVector = pointLights[ i ].position + vViewPosition.xyz;", "vec3 lVector = pointLights[ i ].position + vViewPosition.xyz;",
...@@ -195,9 +195,9 @@ THREE.ShaderSkin = { ...@@ -195,9 +195,9 @@ THREE.ShaderSkin = {
// directional lights // directional lights
"#if DIR_LIGHTS > 0", "#if NUM_DIR_LIGHTS > 0",
"for( int i = 0; i < DIR_LIGHTS; i++ ) {", "for( int i = 0; i < NUM_DIR_LIGHTS; i++ ) {",
"vec3 dirVector = directionalLights[ i ].direction;", "vec3 dirVector = directionalLights[ i ].direction;",
...@@ -216,9 +216,9 @@ THREE.ShaderSkin = { ...@@ -216,9 +216,9 @@ THREE.ShaderSkin = {
// hemisphere lights // hemisphere lights
"#if HEMI_LIGHTS > 0", "#if NUM_HEMI_LIGHTS > 0",
"for ( int i = 0; i < HEMI_LIGHTS; i ++ ) {", "for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {",
"vec3 lVector = hemisphereLightDirection[ i ];", "vec3 lVector = hemisphereLightDirection[ i ];",
...@@ -452,9 +452,9 @@ THREE.ShaderSkin = { ...@@ -452,9 +452,9 @@ THREE.ShaderSkin = {
"vec3 totalDiffuseLight = vec3( 0.0 );", "vec3 totalDiffuseLight = vec3( 0.0 );",
"vec3 totalSpecularLight = vec3( 0.0 );", "vec3 totalSpecularLight = vec3( 0.0 );",
"#if POINT_LIGHTS > 0", "#if NUM_POINT_LIGHTS > 0",
"for ( int i = 0; i < POINT_LIGHTS; i ++ ) {", "for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {",
"vec3 pointVector = normalize( pointLights[ i ].direction );", "vec3 pointVector = normalize( pointLights[ i ].direction );",
"float attenuation = calcLightAttenuation( length( lVector ), pointLights[ i ].distance, pointLights[ i ].decay );", "float attenuation = calcLightAttenuation( length( lVector ), pointLights[ i ].distance, pointLights[ i ].decay );",
...@@ -477,9 +477,9 @@ THREE.ShaderSkin = { ...@@ -477,9 +477,9 @@ THREE.ShaderSkin = {
// directional lights // directional lights
"#if DIR_LIGHTS > 0", "#if NUM_DIR_LIGHTS > 0",
"for( int i = 0; i < DIR_LIGHTS; i++ ) {", "for( int i = 0; i < NUM_DIR_LIGHTS; i++ ) {",
"vec3 dirVector = directionalLights[ i ].direction;", "vec3 dirVector = directionalLights[ i ].direction;",
......
...@@ -142,9 +142,9 @@ THREE.ShaderTerrain = { ...@@ -142,9 +142,9 @@ THREE.ShaderTerrain = {
// point lights // point lights
"#if POINT_LIGHTS > 0", "#if NUM_POINT_LIGHTS > 0",
"for ( int i = 0; i < POINT_LIGHTS; i ++ ) {", "for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {",
"vec3 lVector = pointLights[ i ].position + vViewPosition.xyz;", "vec3 lVector = pointLights[ i ].position + vViewPosition.xyz;",
...@@ -168,12 +168,12 @@ THREE.ShaderTerrain = { ...@@ -168,12 +168,12 @@ THREE.ShaderTerrain = {
// directional lights // directional lights
"#if DIR_LIGHTS > 0", "#if NUM_DIR_LIGHTS > 0",
"vec3 dirDiffuse = vec3( 0.0 );", "vec3 dirDiffuse = vec3( 0.0 );",
"vec3 dirSpecular = vec3( 0.0 );", "vec3 dirSpecular = vec3( 0.0 );",
"for( int i = 0; i < DIR_LIGHTS; i++ ) {", "for( int i = 0; i < NUM_DIR_LIGHTS; i++ ) {",
"vec3 dirVector = directionalLights[ i ].direction;", "vec3 dirVector = directionalLights[ i ].direction;",
"vec3 dirHalfVector = normalize( dirVector + viewPosition );", "vec3 dirHalfVector = normalize( dirVector + viewPosition );",
...@@ -192,12 +192,12 @@ THREE.ShaderTerrain = { ...@@ -192,12 +192,12 @@ THREE.ShaderTerrain = {
// hemisphere lights // hemisphere lights
"#if HEMI_LIGHTS > 0", "#if NUM_HEMI_LIGHTS > 0",
"vec3 hemiDiffuse = vec3( 0.0 );", "vec3 hemiDiffuse = vec3( 0.0 );",
"vec3 hemiSpecular = vec3( 0.0 );", "vec3 hemiSpecular = vec3( 0.0 );",
"for( int i = 0; i < HEMI_LIGHTS; i ++ ) {", "for( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {",
"vec3 lVector = hemisphereLightDirection[ i ];", "vec3 lVector = hemisphereLightDirection[ i ];",
......
...@@ -166,11 +166,11 @@ ...@@ -166,11 +166,11 @@
"void main() {", "void main() {",
"vec3 normal = normalize( -vNormal );", "vec3 normal = normalize( -vNormal );",
"vec3 viewPosition = normalize( vViewPosition );", "vec3 viewPosition = normalize( vViewPosition );",
"#if DIR_LIGHTS > 0", "#if NUM_DIR_LIGHTS > 0",
"vec3 dirDiffuse = vec3( 0.0 );", "vec3 dirDiffuse = vec3( 0.0 );",
"for( int i = 0; i < DIR_LIGHTS; i ++ ) {", "for( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {",
"vec4 lDirection = viewMatrix * vec4( directionalLights[i].direction, 0.0 );", "vec4 lDirection = viewMatrix * vec4( directionalLights[i].direction, 0.0 );",
"vec3 dirVector = normalize( lDirection.xyz );", "vec3 dirVector = normalize( lDirection.xyz );",
......
...@@ -9,9 +9,9 @@ vLightFront = vec3( 0.0 ); ...@@ -9,9 +9,9 @@ vLightFront = vec3( 0.0 );
vLightBack = vec3( 0.0 ); vLightBack = vec3( 0.0 );
#endif #endif
#if POINT_LIGHTS > 0 #if NUM_POINT_LIGHTS > 0
for ( int i = 0; i < POINT_LIGHTS; i ++ ) { for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
IncidentLight directLight = getPointDirectLight( pointLights[ i ], geometry ); IncidentLight directLight = getPointDirectLight( pointLights[ i ], geometry );
...@@ -30,9 +30,9 @@ vLightFront = vec3( 0.0 ); ...@@ -30,9 +30,9 @@ vLightFront = vec3( 0.0 );
#endif #endif
#if SPOT_LIGHTS > 0 #if NUM_SPOT_LIGHTS > 0
for ( int i = 0; i < SPOT_LIGHTS; i ++ ) { for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
IncidentLight directLight = getSpotDirectLight( spotLights[ i ], geometry ); IncidentLight directLight = getSpotDirectLight( spotLights[ i ], geometry );
...@@ -50,9 +50,9 @@ vLightFront = vec3( 0.0 ); ...@@ -50,9 +50,9 @@ vLightFront = vec3( 0.0 );
#endif #endif
#if DIR_LIGHTS > 0 #if NUM_DIR_LIGHTS > 0
for ( int i = 0; i < DIR_LIGHTS; i ++ ) { for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
IncidentLight directLight = getDirectionalDirectLight( directionalLights[ i ], geometry ); IncidentLight directLight = getDirectionalDirectLight( directionalLights[ i ], geometry );
...@@ -81,9 +81,9 @@ vLightFront = vec3( 0.0 ); ...@@ -81,9 +81,9 @@ vLightFront = vec3( 0.0 );
#endif #endif
#if HEMI_LIGHTS > 0 #if NUM_HEMI_LIGHTS > 0
for ( int i = 0; i < HEMI_LIGHTS; i ++ ) { for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
vLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry ); vLightFront += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );
......
...@@ -7,14 +7,14 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { ...@@ -7,14 +7,14 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
} }
#if DIR_LIGHTS > 0 #if NUM_DIR_LIGHTS > 0
struct DirectionalLight { struct DirectionalLight {
vec3 direction; vec3 direction;
vec3 color; vec3 color;
}; };
uniform DirectionalLight directionalLights[ DIR_LIGHTS ]; uniform DirectionalLight directionalLights[ NUM_DIR_LIGHTS ];
IncidentLight getDirectionalDirectLight( const in DirectionalLight directionalLight, const in GeometricContext geometry ) { IncidentLight getDirectionalDirectLight( const in DirectionalLight directionalLight, const in GeometricContext geometry ) {
...@@ -29,7 +29,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { ...@@ -29,7 +29,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
#endif #endif
#if POINT_LIGHTS > 0 #if NUM_POINT_LIGHTS > 0
struct PointLight { struct PointLight {
vec3 position; vec3 position;
...@@ -38,7 +38,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { ...@@ -38,7 +38,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
float decay; float decay;
}; };
uniform PointLight pointLights[ POINT_LIGHTS ]; uniform PointLight pointLights[ NUM_POINT_LIGHTS ];
IncidentLight getPointDirectLight( const in PointLight pointLight, const in GeometricContext geometry ) { IncidentLight getPointDirectLight( const in PointLight pointLight, const in GeometricContext geometry ) {
...@@ -56,7 +56,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { ...@@ -56,7 +56,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
#endif #endif
#if SPOT_LIGHTS > 0 #if NUM_SPOT_LIGHTS > 0
struct SpotLight { struct SpotLight {
vec3 position; vec3 position;
...@@ -68,7 +68,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { ...@@ -68,7 +68,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
float exponent; float exponent;
}; };
uniform SpotLight spotLights[ SPOT_LIGHTS ]; uniform SpotLight spotLights[ NUM_SPOT_LIGHTS ];
IncidentLight getSpotDirectLight( const in SpotLight spotLight, const in GeometricContext geometry ) { IncidentLight getSpotDirectLight( const in SpotLight spotLight, const in GeometricContext geometry ) {
...@@ -100,7 +100,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { ...@@ -100,7 +100,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
#endif #endif
#if HEMI_LIGHTS > 0 #if NUM_HEMI_LIGHTS > 0
struct HemisphereLight { struct HemisphereLight {
vec3 direction; vec3 direction;
...@@ -108,7 +108,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) { ...@@ -108,7 +108,7 @@ vec3 getAmbientLightIrradiance( const in vec3 ambientLightColor ) {
vec3 groundColor; vec3 groundColor;
}; };
uniform HemisphereLight hemisphereLights[ HEMI_LIGHTS ]; uniform HemisphereLight hemisphereLights[ NUM_HEMI_LIGHTS ];
vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) { vec3 getHemisphereLightIrradiance( const in HemisphereLight hemiLight, const in GeometricContext geometry ) {
......
...@@ -4,8 +4,8 @@ ...@@ -4,8 +4,8 @@
#endif #endif
#if POINT_LIGHTS > 0 #if NUM_POINT_LIGHTS > 0
uniform vec3 pointLightPosition[ POINT_LIGHTS ]; uniform vec3 pointLightPosition[ NUM_POINT_LIGHTS ];
#endif #endif
...@@ -15,9 +15,9 @@ ...@@ -15,9 +15,9 @@
GeometricContext geometry = GeometricContext( -vViewPosition, normalize( normal ), normalize(vViewPosition ) ); GeometricContext geometry = GeometricContext( -vViewPosition, normalize( normal ), normalize(vViewPosition ) );
#if ( POINT_LIGHTS > 0 ) && defined( Material_RE_DirectLight ) #if ( NUM_POINT_LIGHTS > 0 ) && defined( Material_RE_DirectLight )
for ( int i = 0; i < POINT_LIGHTS; i ++ ) { for ( int i = 0; i < NUM_POINT_LIGHTS; i ++ ) {
IncidentLight directLight = getPointDirectLight( pointLights[ i ], geometry ); IncidentLight directLight = getPointDirectLight( pointLights[ i ], geometry );
...@@ -27,9 +27,9 @@ GeometricContext geometry = GeometricContext( -vViewPosition, normalize( normal ...@@ -27,9 +27,9 @@ GeometricContext geometry = GeometricContext( -vViewPosition, normalize( normal
#endif #endif
#if ( SPOT_LIGHTS > 0 ) && defined( Material_RE_DirectLight ) #if ( NUM_SPOT_LIGHTS > 0 ) && defined( Material_RE_DirectLight )
for ( int i = 0; i < SPOT_LIGHTS; i ++ ) { for ( int i = 0; i < NUM_SPOT_LIGHTS; i ++ ) {
IncidentLight directLight = getSpotDirectLight( spotLights[ i ], geometry ); IncidentLight directLight = getSpotDirectLight( spotLights[ i ], geometry );
...@@ -39,9 +39,9 @@ GeometricContext geometry = GeometricContext( -vViewPosition, normalize( normal ...@@ -39,9 +39,9 @@ GeometricContext geometry = GeometricContext( -vViewPosition, normalize( normal
#endif #endif
#if ( DIR_LIGHTS > 0 ) && defined( Material_RE_DirectLight ) #if ( NUM_DIR_LIGHTS > 0 ) && defined( Material_RE_DirectLight )
for ( int i = 0; i < DIR_LIGHTS; i ++ ) { for ( int i = 0; i < NUM_DIR_LIGHTS; i ++ ) {
IncidentLight directLight = getDirectionalDirectLight( directionalLights[ i ], geometry ); IncidentLight directLight = getDirectionalDirectLight( directionalLights[ i ], geometry );
...@@ -63,9 +63,9 @@ GeometricContext geometry = GeometricContext( -vViewPosition, normalize( normal ...@@ -63,9 +63,9 @@ GeometricContext geometry = GeometricContext( -vViewPosition, normalize( normal
#endif #endif
#if ( HEMI_LIGHTS > 0 ) #if ( NUM_HEMI_LIGHTS > 0 )
for ( int i = 0; i < HEMI_LIGHTS; i ++ ) { for ( int i = 0; i < NUM_HEMI_LIGHTS; i ++ ) {
indirectDiffuseIrradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry ); indirectDiffuseIrradiance += getHemisphereLightIrradiance( hemisphereLights[ i ], geometry );
......
...@@ -245,10 +245,10 @@ THREE.WebGLProgram = ( function () { ...@@ -245,10 +245,10 @@ THREE.WebGLProgram = ( function () {
renderer.gammaOutput ? '#define GAMMA_OUTPUT' : '', renderer.gammaOutput ? '#define GAMMA_OUTPUT' : '',
'#define GAMMA_FACTOR ' + gammaFactorDefine, '#define GAMMA_FACTOR ' + gammaFactorDefine,
'#define DIR_LIGHTS ' + parameters.dirLights, '#define NUM_DIR_LIGHTS ' + parameters.numDirLights,
'#define POINT_LIGHTS ' + parameters.pointLights, '#define NUM_POINT_LIGHTS ' + parameters.numPointLights,
'#define SPOT_LIGHTS ' + parameters.spotLights, '#define NUM_SPOT_LIGHTS ' + parameters.numSpotLights,
'#define HEMI_LIGHTS ' + parameters.hemiLights, '#define NUM_HEMI_LIGHTS ' + parameters.numHemiLights,
'#define MAX_SHADOWS ' + parameters.maxShadows, '#define MAX_SHADOWS ' + parameters.maxShadows,
...@@ -356,10 +356,10 @@ THREE.WebGLProgram = ( function () { ...@@ -356,10 +356,10 @@ THREE.WebGLProgram = ( function () {
customDefines, customDefines,
'#define DIR_LIGHTS ' + parameters.dirLights, '#define NUM_DIR_LIGHTS ' + parameters.numDirLights,
'#define POINT_LIGHTS ' + parameters.pointLights, '#define NUM_POINT_LIGHTS ' + parameters.numPointLights,
'#define SPOT_LIGHTS ' + parameters.spotLights, '#define NUM_SPOT_LIGHTS ' + parameters.numSpotLights,
'#define HEMI_LIGHTS ' + parameters.hemiLights, '#define NUM_HEMI_LIGHTS ' + parameters.numHemiLights,
'#define MAX_SHADOWS ' + parameters.maxShadows, '#define MAX_SHADOWS ' + parameters.maxShadows,
......
...@@ -21,8 +21,8 @@ THREE.WebGLPrograms = function ( renderer, capabilities ) { ...@@ -21,8 +21,8 @@ THREE.WebGLPrograms = function ( renderer, capabilities ) {
"alphaMap", "combine", "vertexColors", "fog", "useFog", "fogExp", "alphaMap", "combine", "vertexColors", "fog", "useFog", "fogExp",
"flatShading", "sizeAttenuation", "logarithmicDepthBuffer", "skinning", "flatShading", "sizeAttenuation", "logarithmicDepthBuffer", "skinning",
"maxBones", "useVertexTexture", "morphTargets", "morphNormals", "maxBones", "useVertexTexture", "morphTargets", "morphNormals",
"maxMorphTargets", "maxMorphNormals", "dirLights", "pointLights", "maxMorphTargets", "maxMorphNormals", "numDirLights", "numPointLights",
"spotLights", "hemiLights", "maxShadows", "shadowMapEnabled", "pointLightShadows", "numSpotLights", "numHemiLights", "maxShadows", "shadowMapEnabled", "pointLightShadows",
"shadowMapType", "shadowMapDebug", "alphaTest", "doubleSided", "shadowMapType", "shadowMapDebug", "alphaTest", "doubleSided",
"flipSided" "flipSided"
]; ];
...@@ -131,10 +131,10 @@ THREE.WebGLPrograms = function ( renderer, capabilities ) { ...@@ -131,10 +131,10 @@ THREE.WebGLPrograms = function ( renderer, capabilities ) {
maxMorphTargets: renderer.maxMorphTargets, maxMorphTargets: renderer.maxMorphTargets,
maxMorphNormals: renderer.maxMorphNormals, maxMorphNormals: renderer.maxMorphNormals,
dirLights: lights.directional.length, numDirLights: lights.directional.length,
pointLights: lights.point.length, numPointLights: lights.point.length,
spotLights: lights.spot.length, numSpotLights: lights.spot.length,
hemiLights: lights.hemi.length, numHemiLights: lights.hemi.length,
maxShadows: lights.shadows, maxShadows: lights.shadows,
pointLightShadows: lights.shadowsPointLight, pointLightShadows: lights.shadowsPointLight,
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册