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

WebGLRenderer: MAX_ to NUM_. See 8c82186d.

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