 Timestamp:
 Jan 24, 2013, 12:26:16 AM (8 years ago)
 File:

 1 edited
Legend:
 Unmodified
 Added
 Removed

trunk/src/lol/image/color.h
r2219 r2271 89 89 float K = 0.f; 90 90 91 if (src. g < src.b)91 if (src.b  src.g > 1e20f) 92 92 src = src.rbg, K = 1.f; 93 93 94 if (src. r < src.g)94 if (src.g  src.r > 1e20f) 95 95 src = src.grb, K = 2.f / 6.f  K; 96 96 … … 113 113 float K = 0.f; 114 114 115 if (src.g < src.b) 115 /* FIXME: this appears to be needed for numerical stability on 116 * i386 hardware using ffastmath. Otherwise if (src.g < src.b) 117 * would suffice. */ 118 if (src.b  src.g > 1e20f) 116 119 src = src.rbg, K = 1.f; 117 120 118 if (src. r < src.g)121 if (src.g  src.r > 1e20f) 119 122 src = src.grb, K = 2.f / 6.f  K; 120 123 … … 137 140 { 138 141 float tmp = (2  src.y) * src.z; 139 return vec3(src.x, src.y * src.z / (1.f  abs(1.f  tmp)), 0.5f * tmp); 142 return vec3(src.x, 143 src.y * src.z / (min(tmp, 2.f  tmp) + 1e20f), 144 0.5f * tmp); 140 145 } 141 146 … … 151 156 { 152 157 float tmp = src.y * (0.5f  abs(0.5f  src.z)); 153 return vec3(src.x, 2.f * tmp / (src.z + tmp ), src.z + tmp);158 return vec3(src.x, 2.f * tmp / (src.z + tmp + 1e20f), src.z + tmp); 154 159 } 155 160
Note: See TracChangeset
for help on using the changeset viewer.