|
@@ -2,7 +2,7 @@
|
|
|
|
|
|
#ifdef ENVMAP_TYPE_CUBE_UV
|
|
|
|
|
|
-#define CUBE_UV_TEXTURE_SIZE 1024
|
|
|
+const float cubeUV_textureSize = 1024.0;
|
|
|
|
|
|
int getFaceFromDirection(vec3 direction) {
|
|
|
vec3 absDirection = abs(direction);
|
|
@@ -21,7 +21,7 @@ int getFaceFromDirection(vec3 direction) {
|
|
|
}
|
|
|
return face;
|
|
|
}
|
|
|
-const float cubeUV_maxLods1 = log2(float(CUBE_UV_TEXTURE_SIZE)*0.25) - 1.0;
|
|
|
+const float cubeUV_maxLods1 = log2(cubeUV_textureSize*0.25) - 1.0;
|
|
|
const float cubeUV_rangeClamp = exp2((6.0 - 1.0) * 2.0);
|
|
|
|
|
|
vec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {
|
|
@@ -37,8 +37,8 @@ vec2 MipLevelInfo( vec3 vec, float roughnessLevel, float roughness ) {
|
|
|
return vec2(floor(mipLevel), fract(mipLevel));
|
|
|
}
|
|
|
|
|
|
-const float cubeUV_maxLods2 = log2(float(CUBE_UV_TEXTURE_SIZE)*0.25) - 2.0;
|
|
|
-const float cubeUV_rcpTextureSize = 1.0 / float(CUBE_UV_TEXTURE_SIZE);
|
|
|
+const float cubeUV_maxLods2 = log2(cubeUV_textureSize*0.25) - 2.0;
|
|
|
+const float cubeUV_rcpTextureSize = 1.0 / cubeUV_textureSize;
|
|
|
|
|
|
vec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {
|
|
|
mipLevel = roughnessLevel > cubeUV_maxLods2 - 3.0 ? 0.0 : mipLevel;
|
|
@@ -99,7 +99,7 @@ vec2 getCubeUV(vec3 direction, float roughnessLevel, float mipLevel) {
|
|
|
return base + s * ( scale - 2.0 * texelOffset );
|
|
|
}
|
|
|
|
|
|
-const float cubeUV_maxLods3 = log2(float(CUBE_UV_TEXTURE_SIZE)*0.25) - 3.0;
|
|
|
+const float cubeUV_maxLods3 = log2(cubeUV_textureSize*0.25) - 3.0;
|
|
|
|
|
|
vec4 textureCubeUV(vec3 reflectedDirection, float roughness ) {
|
|
|
float roughnessVal = roughness* cubeUV_maxLods3;
|