File tree Expand file tree Collapse file tree
Expand file tree Collapse file tree Original file line number Diff line number Diff line change 320320 ' int b = int(rgba.b);' ,
321321 ' int a = int(rgba.a);' ,
322322 ' int sign = a > 127 ? -1 : 1;' ,
323- ' int exponent = 2 * (a > 127 ? a - 128 : a) + (b > 127 ? 1 : 0);' ,
324- ' if (exponent == 0) return float(sign) * 0.0;' ,
325- ' exponent -= 127;' ,
326- ' float f = exp2(float(exponent));' ,
327- ' f += float(b > 127 ? b - 128 : b) * exp2(float(exponent-7));' ,
328- ' f += float(g) * exp2(float(exponent-15));' ,
329- ' f += float(r) * exp2(float(exponent-23));' ,
323+ ' float exponent = 2.0 * actuallyMod(rgba.a,128.0) + step(128.0,rgba.b) - 127.0;' ,
324+ ' if (abs(exponent + 127.0) < 0.001) return 0.0;' ,
325+ ' float f = exp2(exponent);' ,
326+ ' f += float(b > 127 ? b - 128 : b) * exp2(exponent-float(7));' ,
327+ ' f += float(g) * exp2(exponent-float(15));' ,
328+ ' f += float(r) * exp2(exponent-float(23));' ,
330329 ' f *= float(sign);' ,
331330 ' return f;' ,
332331 '}' ,
You can’t perform that action at this time.
0 commit comments