fix unlikely division by zero
This commit is contained in:
		@ -20,7 +20,7 @@
 | 
			
		||||
 | 
			
		||||
#define color_conversion
 | 
			
		||||
#define texture_filtering
 | 
			
		||||
//#define rotate_180
 | 
			
		||||
#define rotate_180
 | 
			
		||||
//#define debug_borders
 | 
			
		||||
 | 
			
		||||
#undef highp // defined by Qt-OpenGl
 | 
			
		||||
@ -67,7 +67,7 @@ vec2 equidistant_to_rectilinear(const in vec2 equidistant) {
 | 
			
		||||
    float rectilinear_radius = length(equidistant);
 | 
			
		||||
    float rectilinear_angle = atan(rectilinear_radius / rectilinear_focal_length);
 | 
			
		||||
    float equidistant_radius = rectilinear_angle * equidistant_focal_length;
 | 
			
		||||
    return equidistant * (equidistant_radius / rectilinear_radius);
 | 
			
		||||
    return equidistant * (equidistant_radius / (rectilinear_radius > 0.0 ? rectilinear_radius : 1.0));
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
// color space (https://en.wikipedia.org/wiki/Rec._709)
 | 
			
		||||
@ -136,7 +136,6 @@ vec2 bilinear_params(const in vec2 coord, out vec2 a, out vec2 b, out vec2 c, ou
 | 
			
		||||
 | 
			
		||||
vec3 texture_filter(const in vec2 y_coord) {
 | 
			
		||||
    vec2 a, b, c, d, f = bilinear_params(y_coord, a, b, c, d);
 | 
			
		||||
 | 
			
		||||
    float luminance = mix(
 | 
			
		||||
        mix(
 | 
			
		||||
            decode_luminance(texture2DRect(myTextureY, a).x),
 | 
			
		||||
@ -147,9 +146,7 @@ vec3 texture_filter(const in vec2 y_coord) {
 | 
			
		||||
            decode_luminance(texture2DRect(myTextureY, d).x),
 | 
			
		||||
            f.x),
 | 
			
		||||
        f.y);
 | 
			
		||||
 | 
			
		||||
    f = bilinear_params(y_coord * 0.5, a, b, c, d);
 | 
			
		||||
 | 
			
		||||
    vec2 chroma = mix(
 | 
			
		||||
        mix(
 | 
			
		||||
            decode_chroma(vec2(texture2DRect(myTextureU, a).x, texture2DRect(myTextureV, a).x)),
 | 
			
		||||
@ -160,7 +157,6 @@ vec3 texture_filter(const in vec2 y_coord) {
 | 
			
		||||
            decode_chroma(vec2(texture2DRect(myTextureU, d).x, texture2DRect(myTextureV, d).x)),
 | 
			
		||||
            f.x),
 | 
			
		||||
        f.y);
 | 
			
		||||
 | 
			
		||||
    return vec3(luminance, chroma);
 | 
			
		||||
}
 | 
			
		||||
 | 
			
		||||
 | 
			
		||||
		Reference in New Issue
	
	Block a user