mirror of
https://github.com/overte-org/overte.git
synced 2025-08-06 20:29:40 +02:00
Fixed android shader compilation
This commit is contained in:
parent
9d5dcec0a0
commit
7e93d91bfa
3 changed files with 9 additions and 17 deletions
|
@ -277,11 +277,7 @@ vec2 getStereoSideSizeRoundUp(int resolutionLevel) {
|
||||||
return vec2((fullRes + resolutionDivisor - 1) / resolutionDivisor);
|
return vec2((fullRes + resolutionDivisor - 1) / resolutionDivisor);
|
||||||
}
|
}
|
||||||
|
|
||||||
float getZEyeAtPixel(ivec2 pixel, int level) {
|
float getZEyeAtUV(vec2 texCoord, float level) {
|
||||||
return -texelFetch(depthPyramidTex, pixel, level).x;
|
|
||||||
}
|
|
||||||
|
|
||||||
float getZEyeAtUV(vec2 texCoord, int level) {
|
|
||||||
return -textureLod(depthPyramidTex, texCoord, level).x;
|
return -textureLod(depthPyramidTex, texCoord, level).x;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@ -289,7 +285,7 @@ float getZEyeAtUV(vec2 texCoord, int level) {
|
||||||
-textureLodOffset(depthPyramidTex, <$texCoord$>, <$level$>, <$texelOffset$>).x;
|
-textureLodOffset(depthPyramidTex, <$texCoord$>, <$level$>, <$texelOffset$>).x;
|
||||||
<@endfunc@>
|
<@endfunc@>
|
||||||
|
|
||||||
float getZEyeAtUV(ivec4 side, vec2 texCoord, int level) {
|
float getZEyeAtUV(ivec4 side, vec2 texCoord, float level) {
|
||||||
texCoord.x = mix(texCoord.x, (texCoord.x + getStereoSide(side)) * 0.5, isStereo());
|
texCoord.x = mix(texCoord.x, (texCoord.x + getStereoSide(side)) * 0.5, isStereo());
|
||||||
return getZEyeAtUV(texCoord, level);
|
return getZEyeAtUV(texCoord, level);
|
||||||
}
|
}
|
||||||
|
@ -303,19 +299,15 @@ vec3 unpackNormal(vec3 packedNormal) {
|
||||||
return normalize(packedNormal*2.0 - 1.0);
|
return normalize(packedNormal*2.0 - 1.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec3 getNormalEyeAtUV(vec2 texCoord, int level) {
|
vec3 getNormalEyeAtUV(vec2 texCoord, float level) {
|
||||||
return unpackNormal(textureLod(normalTex, texCoord, level).xyz);
|
return unpackNormal(textureLod(normalTex, texCoord, level).xyz);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec3 getNormalEyeAtUV(ivec4 side, vec2 texCoord, int level) {
|
vec3 getNormalEyeAtUV(ivec4 side, vec2 texCoord, float level) {
|
||||||
texCoord.x = mix(texCoord.x, (texCoord.x + getStereoSide(side)) * 0.5, isStereo());
|
texCoord.x = mix(texCoord.x, (texCoord.x + getStereoSide(side)) * 0.5, isStereo());
|
||||||
return getNormalEyeAtUV(texCoord, level);
|
return getNormalEyeAtUV(texCoord, level);
|
||||||
}
|
}
|
||||||
|
|
||||||
vec3 getNormalEyeAtPixel(ivec2 pixel, int level) {
|
|
||||||
return unpackNormal(texelFetch(normalTex, pixel, level).xyz);
|
|
||||||
}
|
|
||||||
|
|
||||||
vec2 snapToTexel(vec2 uv, vec2 pixelSize) {
|
vec2 snapToTexel(vec2 uv, vec2 pixelSize) {
|
||||||
return (floor(uv * pixelSize - 0.5) + 0.5) / pixelSize;
|
return (floor(uv * pixelSize - 0.5) + 0.5) / pixelSize;
|
||||||
}
|
}
|
||||||
|
@ -339,7 +331,7 @@ vec2 fetchTap(ivec4 side, vec2 tapUV, float tapRadius) {
|
||||||
}
|
}
|
||||||
|
|
||||||
vec3 buildPosition(ivec4 side, vec2 fragUVPos) {
|
vec3 buildPosition(ivec4 side, vec2 fragUVPos) {
|
||||||
float Zeye = getZEyeAtUV(side, fragUVPos, 0);
|
float Zeye = getZEyeAtUV(side, fragUVPos, 0.0);
|
||||||
return evalEyePositionFromZeye(side.x, Zeye, fragUVPos);
|
return evalEyePositionFromZeye(side.x, Zeye, fragUVPos);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -44,7 +44,7 @@ int getBlurRadius() {
|
||||||
|
|
||||||
vec4 fetchOcclusionPacked(ivec4 side, vec2 texCoord) {
|
vec4 fetchOcclusionPacked(ivec4 side, vec2 texCoord) {
|
||||||
texCoord.x = mix(texCoord.x, (texCoord.x + getStereoSide(side) * getBlurOcclusionUVLimit().x) * 0.5, isStereo());
|
texCoord.x = mix(texCoord.x, (texCoord.x + getStereoSide(side) * getBlurOcclusionUVLimit().x) * 0.5, isStereo());
|
||||||
return textureLod(occlusionMap, texCoord, 0);
|
return textureLod(occlusionMap, texCoord, 0.0);
|
||||||
}
|
}
|
||||||
|
|
||||||
float evalBlurCoefficient(vec3 blurScales, float radialDistance, float zDistance, float normalDistance) {
|
float evalBlurCoefficient(vec3 blurScales, float radialDistance, float zDistance, float normalDistance) {
|
||||||
|
@ -81,10 +81,10 @@ vec4 getBlurredOcclusion(ivec2 destPixelCoord, vec2 occlusionTexCoord, vec2 dept
|
||||||
// Stereo side info
|
// Stereo side info
|
||||||
ivec4 side = getStereoSideInfo(destPixelCoord.x, 0);
|
ivec4 side = getStereoSideInfo(destPixelCoord.x, 0);
|
||||||
|
|
||||||
float fragDepth = getZEyeAtUV(depthTexCoord, 0);
|
float fragDepth = getZEyeAtUV(depthTexCoord, 0.0);
|
||||||
float fragDepthKey = CSZToDepthKey(fragDepth);
|
float fragDepthKey = CSZToDepthKey(fragDepth);
|
||||||
#if SSAO_BILATERAL_BLUR_USE_NORMAL
|
#if SSAO_BILATERAL_BLUR_USE_NORMAL
|
||||||
vec3 fragNormal = getNormalEyeAtUV(depthTexCoord, 0);
|
vec3 fragNormal = getNormalEyeAtUV(depthTexCoord, 0.0);
|
||||||
#else
|
#else
|
||||||
vec3 fragNormal = vec3(0, 0, 1);
|
vec3 fragNormal = vec3(0, 0, 1);
|
||||||
#endif
|
#endif
|
||||||
|
|
|
@ -32,7 +32,7 @@ void main(void) {
|
||||||
vec2 fragUVPos = varTexCoord0;
|
vec2 fragUVPos = varTexCoord0;
|
||||||
|
|
||||||
#if SSAO_USE_QUAD_SPLIT
|
#if SSAO_USE_QUAD_SPLIT
|
||||||
vec3 fragNormalES = getNormalEyeAtUV(fragUVPos, 0);
|
vec3 fragNormalES = getNormalEyeAtUV(fragUVPos, 0.0);
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
// Stereo side info based on the real viewport size of this pass
|
// Stereo side info based on the real viewport size of this pass
|
||||||
|
|
Loading…
Reference in a new issue