mirror of
https://github.com/overte-org/overte.git
synced 2025-08-03 22:43:15 +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);
|
||||
}
|
||||
|
||||
float getZEyeAtPixel(ivec2 pixel, int level) {
|
||||
return -texelFetch(depthPyramidTex, pixel, level).x;
|
||||
}
|
||||
|
||||
float getZEyeAtUV(vec2 texCoord, int level) {
|
||||
float getZEyeAtUV(vec2 texCoord, float level) {
|
||||
return -textureLod(depthPyramidTex, texCoord, level).x;
|
||||
}
|
||||
|
||||
|
@ -289,7 +285,7 @@ float getZEyeAtUV(vec2 texCoord, int level) {
|
|||
-textureLodOffset(depthPyramidTex, <$texCoord$>, <$level$>, <$texelOffset$>).x;
|
||||
<@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());
|
||||
return getZEyeAtUV(texCoord, level);
|
||||
}
|
||||
|
@ -303,19 +299,15 @@ vec3 unpackNormal(vec3 packedNormal) {
|
|||
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);
|
||||
}
|
||||
|
||||
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());
|
||||
return getNormalEyeAtUV(texCoord, level);
|
||||
}
|
||||
|
||||
vec3 getNormalEyeAtPixel(ivec2 pixel, int level) {
|
||||
return unpackNormal(texelFetch(normalTex, pixel, level).xyz);
|
||||
}
|
||||
|
||||
vec2 snapToTexel(vec2 uv, vec2 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) {
|
||||
float Zeye = getZEyeAtUV(side, fragUVPos, 0);
|
||||
float Zeye = getZEyeAtUV(side, fragUVPos, 0.0);
|
||||
return evalEyePositionFromZeye(side.x, Zeye, fragUVPos);
|
||||
}
|
||||
|
||||
|
|
|
@ -44,7 +44,7 @@ int getBlurRadius() {
|
|||
|
||||
vec4 fetchOcclusionPacked(ivec4 side, vec2 texCoord) {
|
||||
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) {
|
||||
|
@ -81,10 +81,10 @@ vec4 getBlurredOcclusion(ivec2 destPixelCoord, vec2 occlusionTexCoord, vec2 dept
|
|||
// Stereo side info
|
||||
ivec4 side = getStereoSideInfo(destPixelCoord.x, 0);
|
||||
|
||||
float fragDepth = getZEyeAtUV(depthTexCoord, 0);
|
||||
float fragDepth = getZEyeAtUV(depthTexCoord, 0.0);
|
||||
float fragDepthKey = CSZToDepthKey(fragDepth);
|
||||
#if SSAO_BILATERAL_BLUR_USE_NORMAL
|
||||
vec3 fragNormal = getNormalEyeAtUV(depthTexCoord, 0);
|
||||
vec3 fragNormal = getNormalEyeAtUV(depthTexCoord, 0.0);
|
||||
#else
|
||||
vec3 fragNormal = vec3(0, 0, 1);
|
||||
#endif
|
||||
|
|
|
@ -32,7 +32,7 @@ void main(void) {
|
|||
vec2 fragUVPos = varTexCoord0;
|
||||
|
||||
#if SSAO_USE_QUAD_SPLIT
|
||||
vec3 fragNormalES = getNormalEyeAtUV(fragUVPos, 0);
|
||||
vec3 fragNormalES = getNormalEyeAtUV(fragUVPos, 0.0);
|
||||
#endif
|
||||
|
||||
// Stereo side info based on the real viewport size of this pass
|
||||
|
|
Loading…
Reference in a new issue