Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- Last login: Sun Mar 19 08:00:54 on ttys000
- The default interactive shell is now zsh.
- To update your account to use zsh, please run `chsh -s /bin/zsh`.
- For more details, please visit https://support.apple.com/kb/HT208050.
- Daniels-MacBook-Pro:~ daniel$ /Applications/Hugin/tools_mac/nona -o test --gpu --debug test.pto
- nona: using graphics card: Apple Apple M1 Pro
- destStart=[0, 0]
- destEnd=[3704, 2750]
- destSize=[(3704, 2750)]
- srcSize=[(4000, 3000)]
- srcBuffer=0x7f96f3900000
- srcAlphaBuffer=0x0
- destBuffer=0x7f96f5b5c000
- destAlphaBuffer=0x7f9700000000
- destGLInternalFormat=GL_RGBA8
- destGLFormat=GL_RGB
- destGLType=GL_UNSIGNED_BYTE
- srcGLInternalFormat=GL_RGBA8
- srcGLFormat=GL_RGB
- srcGLType=GL_UNSIGNED_BYTE
- srcAlphaGLType=GL_BYTE
- destAlphaGLType=GL_UNSIGNED_BYTE
- warparound=0
- needsAtanWorkaround=0
- Retrieving GL_MAX_RECTANGLE_TEXTURE_SIZE: 16384
- Testing texture size 16384, result=16384
- maxTextureSize=16384
- Source chunks:
- [(0, 0) to (4000, 3000) = (4000x3000)]
- Dest chunks:
- [(0, 0) to (3704, 2750) = (3704x2750)]
- Total GPU memory used: 532184000
- Interpolator chunks:
- [(0, 0) to (4, 4) = (4x4)]
- #version 110
- #extension GL_ARB_texture_rectangle : enable
- uniform sampler2DRect SrcTexture;
- float sinh(in float x) { return (exp(x) - exp(-x)) / 2.0; }
- float cosh(in float x) { return (exp(x) + exp(-x)) / 2.0; }
- float atan2_xge0(const in float y, const in float x) {
- return atan(y, x);
- }
- float atan2_safe(const in float y, const in float x) {
- return atan(y, x);
- }
- float atan_safe(const in float yx) {
- return atan(yx);
- }
- void main(void)
- {
- float discardA = 1.0;
- float discardB = 0.0;
- vec2 src = gl_TexCoord[0].st;
- src -= vec2(1850.0000000000000000, 1375.0000000000000000);
- // erect_rect(2565.4893433121469570)
- src.t = 2565.4893433121469570 * atan2_xge0(src.t, length(vec2(2565.4893433121469570, src.s)));
- src.s = 2565.4893433121469570 * atan2_safe(src.s, 2565.4893433121469570);
- // rotate_erect(8059.7224738123431962, -0.0000000000000000000)
- {
- //src.s += -0.0000000000000000000;
- float w = (abs(src.s) > 8059.7224738123431962) ? 1.0 : 0.0;
- float n = (src.s < 0.0) ? 0.5 : -0.5;
- src.s += w * -16119.444947624686392 * ceil(src.s / 16119.444947624686392 + n);
- }
- // sphere_tp_erect(2565.4893433121469570)
- {
- float phi = src.s / 2565.4893433121469570;
- float theta = -src.t / 2565.4893433121469570 + 1.5707963267948965580;
- if (theta < 0.0) {
- theta = -theta;
- phi += 3.1415926535897931160;
- }
- if (theta > 3.1415926535897931160) {
- theta = 3.1415926535897931160 - (theta - 3.1415926535897931160);
- phi += 3.1415926535897931160;
- }
- float s = sin(theta);
- vec2 v = vec2(s * sin(phi), cos(theta));
- float r = length(v);
- theta = 2565.4893433121469570 * atan2_safe(r, s * cos(phi));
- src = v * (theta / r);
- }
- // persp_sphere(2565.4893433121469570)
- {
- mat3 m = mat3(1.0000000000000000000, 0.0000000000000000000, 0.0000000000000000000,
- 0.0000000000000000000, 1.0000000000000000000, 0.0000000000000000000,
- 0.0000000000000000000, 0.0000000000000000000, 1.0000000000000000000);
- float r = length(src);
- float theta = r / 2565.4893433121469570;
- float s = 0.0;
- if (r != 0.0) s = sin(theta) / r;
- vec3 v = vec3(s * src.s, s * src.t, cos(theta));
- vec3 u = v * m;
- r = length(u.st);
- theta = 0.0;
- if (r != 0.0) theta = 2565.4893433121469570 * atan2_safe(r, u.p) / r;
- src = theta * u.st;
- }
- // rect_sphere_tp(2565.4893433121469570)
- {
- float r = length(src);
- float theta = r / 2565.4893433121469570;
- float rho = 0.0;
- if (theta >= 1.5707963267948965580) rho = 1.6e16;
- else if (theta == 0.0) rho = 1.0;
- else rho = tan(theta) / theta;
- src *= rho;
- }
- // resize(1.0810807128353780993, 1.0810807128353780993)
- src *= vec2(1.0810807128353780993, 1.0810807128353780993);
- src += vec2(1999.5000000000000000, 1499.5000000000000000);
- src = src * discardA + vec2(-1000.0, -1000.0) * discardB;
- gl_FragColor = vec4(src.s, 0.0, 0.0, src.t);
- }
- #version 110
- #extension GL_ARB_texture_rectangle : enable
- uniform sampler2DRect CoordTexture;
- uniform sampler2DRect SrcTexture;
- uniform sampler2DRect AccumTexture;
- uniform vec2 SrcUL;
- uniform vec2 SrcLR;
- uniform vec2 KernelUL;
- uniform vec2 KernelWH;
- float w(const in float i, const in float f) {
- float A = -0.75000000000000000000;
- float c = abs(i - 1.0);
- float m = (i > 1.0) ? -1.0 : 1.0;
- float p = c + m * f;
- if (i == 1.0 || i == 2.0) {
- return (( A + 2.0 )*p - ( A + 3.0 ))*p*p + 1.0;
- } else {
- return (( A * p - 5.0 * A ) * p + 8.0 * A ) * p - 4.0 * A;
- }
- }
- void main(void)
- {
- vec2 src = texture2DRect(CoordTexture, gl_TexCoord[0].st).sq;
- vec4 accum = texture2DRect(AccumTexture, gl_TexCoord[0].st);
- src -= SrcUL;
- vec2 t = floor(src) + -0.50000000000000000000;
- vec2 f = fract(src);
- vec2 k = vec2(0.0, 0.0);
- for (float ky = 0.0; ky < 4.0000000000000000000; ky += 1.0) {
- k.t = ky + KernelUL.t;
- float wy = w(k.t, f.t);
- for (float kx = 0.0; kx < 4.0000000000000000000; kx += 1.0) {
- k.s = kx + KernelUL.s;
- float wx = w(k.s, f.s);
- vec2 ix = t + k;
- vec4 sp = texture2DRect(SrcTexture, ix);
- float weight = wx * wy * sp.a;
- accum += sp * weight;
- }
- }
- gl_FragColor = accum;
- }
- #version 120
- #extension GL_ARB_texture_rectangle : enable
- uniform sampler2DRect NormTexture;
- uniform sampler2DRect CoordTexture;
- uniform sampler2DRect InvLutTexture;
- uniform sampler2DRect DestLutTexture;
- void main(void)
- {
- // Normalization
- vec4 n = texture2DRect(NormTexture, gl_TexCoord[0].st);
- vec4 p = vec4(0.0, 0.0, 0.0, 0.0);
- if (n.a >= 0.2) p = n / n.a;
- // Photometric
- // invLutSize = 256.00000000000000000
- // pixelMax = 255.00000000000000000
- // destLutSize = 1024.0000000000000000
- // destExposure = 0.00019929594818414287749
- // srcExposure = 0.00019929847914560141152
- // whiteBalanceRed = 1.0000000000000000000
- // whiteBalanceBlue = 1.0000000000000000000
- p.rgb = p.rgb * 255.00000000000000000;
- vec2 invR = texture2DRect(InvLutTexture, vec2(p.r, 0.0)).sq;
- vec2 invG = texture2DRect(InvLutTexture, vec2(p.g, 0.0)).sq;
- vec2 invB = texture2DRect(InvLutTexture, vec2(p.b, 0.0)).sq;
- vec3 invX = vec3(invR.x, invG.x, invB.x);
- vec3 invY = vec3(invR.y, invG.y, invB.y);
- vec3 invA = fract(p.rgb);
- p.rgb = mix(invX, invY, invA);
- // VigCorrMode=VIGCORR_RADIAL
- float vig = 1.0;
- {
- vec2 vigCorrCenter = vec2(1999.5000000000000000, 1499.5000000000000000);
- float radiusScale=0.00040000000000000001917;
- float radialVigCorrCoeff0 = 1.0000000000000000000;
- float radialVigCorrCoeff1 = 0.0000000000000000000;
- float radialVigCorrCoeff2 = 0.0000000000000000000;
- float radialVigCorrCoeff3 = 0.0000000000000000000;
- vec2 src = texture2DRect(CoordTexture, gl_TexCoord[0].st).sq;
- vec2 d = src - vigCorrCenter;
- d *= radiusScale;
- vig = radialVigCorrCoeff0;
- float r2 = dot(d, d);
- float r = r2;
- vig += radialVigCorrCoeff1 * r;
- r *= r2;
- vig += radialVigCorrCoeff2 * r;
- r *= r2;
- vig += radialVigCorrCoeff3 * r;
- }
- vec3 exposure_whitebalance = vec3(0.99998730064840746223, 0.99998730064840746223, 0.99998730064840746223);
- p.rgb = (p.rgb * exposure_whitebalance) / vig;
- p.rgb = p.rgb * 1023.0000000000000000;
- vec2 destR = texture2DRect(DestLutTexture, vec2(p.r, 0.0)).sq;
- vec2 destG = texture2DRect(DestLutTexture, vec2(p.g, 0.0)).sq;
- vec2 destB = texture2DRect(DestLutTexture, vec2(p.b, 0.0)).sq;
- vec3 destX = vec3(destR.x, destG.x, destB.x);
- vec3 destY = vec3(destR.y, destG.y, destB.y);
- vec3 destA = fract(p.rgb);
- p.rgb = mix(destX, destY, destA);
- gl_FragColor = p;
- }
- gpu shader program compile time = 0.014
- gpu shader texture/framebuffer setup time = 0.001
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] coord image render time = 0.049
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] src upload = 0.037
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] src render = 0.004
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] interpolation chunk=[(0, 0) to (4, 4) = (4x4)] setup = 0.009
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] interpolation chunk=[(0, 0) to (4, 4) = (4x4)] render = 0.014
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] normalization setup = 0
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] normalization render = 0.004
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest rgb disassembly setup = 0
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest rgb disassembly render = 0.003
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] rgb readback = 0.004
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest alpha disassembly setup = 0
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest alpha disassembly render = 0.003
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] alpha readback = 0.002
- gpu destruct time = 0.006
- gpu total time = 0.15
- destStart=[0, 0]
- destEnd=[3704, 2750]
- destSize=[(3704, 2750)]
- srcSize=[(4000, 3000)]
- srcBuffer=0x7f96f3900000
- srcAlphaBuffer=0x0
- destBuffer=0x7f96f5b5c000
- destAlphaBuffer=0x7f9710000000
- destGLInternalFormat=GL_RGBA8
- destGLFormat=GL_RGB
- destGLType=GL_UNSIGNED_BYTE
- srcGLInternalFormat=GL_RGBA8
- srcGLFormat=GL_RGB
- srcGLType=GL_UNSIGNED_BYTE
- srcAlphaGLType=GL_BYTE
- destAlphaGLType=GL_UNSIGNED_BYTE
- warparound=0
- needsAtanWorkaround=0
- Retrieving GL_MAX_RECTANGLE_TEXTURE_SIZE: 16384
- Testing texture size 16384, result=16384
- maxTextureSize=16384
- Source chunks:
- [(0, 0) to (4000, 3000) = (4000x3000)]
- Dest chunks:
- [(0, 0) to (3704, 2750) = (3704x2750)]
- Total GPU memory used: 532184000
- Interpolator chunks:
- [(0, 0) to (4, 4) = (4x4)]
- #version 110
- #extension GL_ARB_texture_rectangle : enable
- uniform sampler2DRect SrcTexture;
- float sinh(in float x) { return (exp(x) - exp(-x)) / 2.0; }
- float cosh(in float x) { return (exp(x) + exp(-x)) / 2.0; }
- float atan2_xge0(const in float y, const in float x) {
- return atan(y, x);
- }
- float atan2_safe(const in float y, const in float x) {
- return atan(y, x);
- }
- float atan_safe(const in float yx) {
- return atan(yx);
- }
- void main(void)
- {
- float discardA = 1.0;
- float discardB = 0.0;
- vec2 src = gl_TexCoord[0].st;
- src -= vec2(1850.0000000000000000, 1375.0000000000000000);
- // erect_rect(2565.4893433121469570)
- src.t = 2565.4893433121469570 * atan2_xge0(src.t, length(vec2(2565.4893433121469570, src.s)));
- src.s = 2565.4893433121469570 * atan2_safe(src.s, 2565.4893433121469570);
- // rotate_erect(8059.7224738123431962, 0.62763801957168108281)
- {
- src.s += 0.62763801957168108281;
- float w = (abs(src.s) > 8059.7224738123431962) ? 1.0 : 0.0;
- float n = (src.s < 0.0) ? 0.5 : -0.5;
- src.s += w * -16119.444947624686392 * ceil(src.s / 16119.444947624686392 + n);
- }
- // sphere_tp_erect(2565.4893433121469570)
- {
- float phi = src.s / 2565.4893433121469570;
- float theta = -src.t / 2565.4893433121469570 + 1.5707963267948965580;
- if (theta < 0.0) {
- theta = -theta;
- phi += 3.1415926535897931160;
- }
- if (theta > 3.1415926535897931160) {
- theta = 3.1415926535897931160 - (theta - 3.1415926535897931160);
- phi += 3.1415926535897931160;
- }
- float s = sin(theta);
- vec2 v = vec2(s * sin(phi), cos(theta));
- float r = length(v);
- theta = 2565.4893433121469570 * atan2_safe(r, s * cos(phi));
- src = v * (theta / r);
- }
- // persp_sphere(2565.4893433121469570)
- {
- mat3 m = mat3(0.99999999761966595901, 6.8997594513900772722e-05, 1.0996696250148663720e-09,
- -6.8997594522663918096e-05, 0.99999999749265933158, 1.5937796527617674111e-05,
- 0.0000000000000000000, -1.5937796565554955059e-05, 0.99999999987299337256);
- float r = length(src);
- float theta = r / 2565.4893433121469570;
- float s = 0.0;
- if (r != 0.0) s = sin(theta) / r;
- vec3 v = vec3(s * src.s, s * src.t, cos(theta));
- vec3 u = v * m;
- r = length(u.st);
- theta = 0.0;
- if (r != 0.0) theta = 2565.4893433121469570 * atan2_safe(r, u.p) / r;
- src = theta * u.st;
- }
- // rect_sphere_tp(2565.4893433121469570)
- {
- float r = length(src);
- float theta = r / 2565.4893433121469570;
- float rho = 0.0;
- if (theta >= 1.5707963267948965580) rho = 1.6e16;
- else if (theta == 0.0) rho = 1.0;
- else rho = tan(theta) / theta;
- src *= rho;
- }
- // resize(1.0810807128353780993, 1.0810807128353780993)
- src *= vec2(1.0810807128353780993, 1.0810807128353780993);
- src += vec2(1999.5000000000000000, 1499.5000000000000000);
- src = src * discardA + vec2(-1000.0, -1000.0) * discardB;
- gl_FragColor = vec4(src.s, 0.0, 0.0, src.t);
- }
- #version 110
- #extension GL_ARB_texture_rectangle : enable
- uniform sampler2DRect CoordTexture;
- uniform sampler2DRect SrcTexture;
- uniform sampler2DRect AccumTexture;
- uniform vec2 SrcUL;
- uniform vec2 SrcLR;
- uniform vec2 KernelUL;
- uniform vec2 KernelWH;
- float w(const in float i, const in float f) {
- float A = -0.75000000000000000000;
- float c = abs(i - 1.0);
- float m = (i > 1.0) ? -1.0 : 1.0;
- float p = c + m * f;
- if (i == 1.0 || i == 2.0) {
- return (( A + 2.0 )*p - ( A + 3.0 ))*p*p + 1.0;
- } else {
- return (( A * p - 5.0 * A ) * p + 8.0 * A ) * p - 4.0 * A;
- }
- }
- void main(void)
- {
- vec2 src = texture2DRect(CoordTexture, gl_TexCoord[0].st).sq;
- vec4 accum = texture2DRect(AccumTexture, gl_TexCoord[0].st);
- src -= SrcUL;
- vec2 t = floor(src) + -0.50000000000000000000;
- vec2 f = fract(src);
- vec2 k = vec2(0.0, 0.0);
- for (float ky = 0.0; ky < 4.0000000000000000000; ky += 1.0) {
- k.t = ky + KernelUL.t;
- float wy = w(k.t, f.t);
- for (float kx = 0.0; kx < 4.0000000000000000000; kx += 1.0) {
- k.s = kx + KernelUL.s;
- float wx = w(k.s, f.s);
- vec2 ix = t + k;
- vec4 sp = texture2DRect(SrcTexture, ix);
- float weight = wx * wy * sp.a;
- accum += sp * weight;
- }
- }
- gl_FragColor = accum;
- }
- #version 120
- #extension GL_ARB_texture_rectangle : enable
- uniform sampler2DRect NormTexture;
- uniform sampler2DRect CoordTexture;
- uniform sampler2DRect InvLutTexture;
- uniform sampler2DRect DestLutTexture;
- void main(void)
- {
- // Normalization
- vec4 n = texture2DRect(NormTexture, gl_TexCoord[0].st);
- vec4 p = vec4(0.0, 0.0, 0.0, 0.0);
- if (n.a >= 0.2) p = n / n.a;
- // Photometric
- // invLutSize = 256.00000000000000000
- // pixelMax = 255.00000000000000000
- // destLutSize = 1024.0000000000000000
- // destExposure = 0.00019929594818414287749
- // srcExposure = 0.00012755103081087685235
- // whiteBalanceRed = 1.0000000000000000000
- // whiteBalanceBlue = 1.0000000000000000000
- p.rgb = p.rgb * 255.00000000000000000;
- vec2 invR = texture2DRect(InvLutTexture, vec2(p.r, 0.0)).sq;
- vec2 invG = texture2DRect(InvLutTexture, vec2(p.g, 0.0)).sq;
- vec2 invB = texture2DRect(InvLutTexture, vec2(p.b, 0.0)).sq;
- vec3 invX = vec3(invR.x, invG.x, invB.x);
- vec3 invY = vec3(invR.y, invG.y, invB.y);
- vec3 invA = fract(p.rgb);
- p.rgb = mix(invX, invY, invA);
- // VigCorrMode=VIGCORR_RADIAL
- float vig = 1.0;
- {
- vec2 vigCorrCenter = vec2(1999.5000000000000000, 1499.5000000000000000);
- float radiusScale=0.00040000000000000001917;
- float radialVigCorrCoeff0 = 1.0000000000000000000;
- float radialVigCorrCoeff1 = 0.0000000000000000000;
- float radialVigCorrCoeff2 = 0.0000000000000000000;
- float radialVigCorrCoeff3 = 0.0000000000000000000;
- vec2 src = texture2DRect(CoordTexture, gl_TexCoord[0].st).sq;
- vec2 d = src - vigCorrCenter;
- d *= radiusScale;
- vig = radialVigCorrCoeff0;
- float r2 = dot(d, d);
- float r = r2;
- vig += radialVigCorrCoeff1 * r;
- r *= r2;
- vig += radialVigCorrCoeff2 * r;
- r *= r2;
- vig += radialVigCorrCoeff3 * r;
- }
- vec3 exposure_whitebalance = vec3(1.5624801063320612471, 1.5624801063320612471, 1.5624801063320612471);
- p.rgb = (p.rgb * exposure_whitebalance) / vig;
- p.rgb = p.rgb * 1023.0000000000000000;
- vec2 destR = texture2DRect(DestLutTexture, vec2(p.r, 0.0)).sq;
- vec2 destG = texture2DRect(DestLutTexture, vec2(p.g, 0.0)).sq;
- vec2 destB = texture2DRect(DestLutTexture, vec2(p.b, 0.0)).sq;
- vec3 destX = vec3(destR.x, destG.x, destB.x);
- vec3 destY = vec3(destR.y, destG.y, destB.y);
- vec3 destA = fract(p.rgb);
- p.rgb = mix(destX, destY, destA);
- gl_FragColor = p;
- }
- gpu shader program compile time = 0.007
- gpu shader texture/framebuffer setup time = 0.001
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] coord image render time = 0.018
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] src upload = 0.025
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] src render = 0.003
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] interpolation chunk=[(0, 0) to (4, 4) = (4x4)] setup = 0.009
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] interpolation chunk=[(0, 0) to (4, 4) = (4x4)] render = 0.014
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] normalization setup = 0
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] normalization render = 0.003
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest rgb disassembly setup = 0
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest rgb disassembly render = 0.003
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] rgb readback = 0.002
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest alpha disassembly setup = 0
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest alpha disassembly render = 0.003
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] alpha readback = 0.002
- gpu destruct time = 0.005
- gpu total time = 0.096
- destStart=[0, 0]
- destEnd=[3704, 2750]
- destSize=[(3704, 2750)]
- srcSize=[(4000, 3000)]
- srcBuffer=0x7f96f3900000
- srcAlphaBuffer=0x0
- destBuffer=0x7f96f5b5c000
- destAlphaBuffer=0x7f9700000000
- destGLInternalFormat=GL_RGBA8
- destGLFormat=GL_RGB
- destGLType=GL_UNSIGNED_BYTE
- srcGLInternalFormat=GL_RGBA8
- srcGLFormat=GL_RGB
- srcGLType=GL_UNSIGNED_BYTE
- srcAlphaGLType=GL_BYTE
- destAlphaGLType=GL_UNSIGNED_BYTE
- warparound=0
- needsAtanWorkaround=0
- Retrieving GL_MAX_RECTANGLE_TEXTURE_SIZE: 16384
- Testing texture size 16384, result=16384
- maxTextureSize=16384
- Source chunks:
- [(0, 0) to (4000, 3000) = (4000x3000)]
- Dest chunks:
- [(0, 0) to (3704, 2750) = (3704x2750)]
- Total GPU memory used: 532184000
- Interpolator chunks:
- [(0, 0) to (4, 4) = (4x4)]
- #version 110
- #extension GL_ARB_texture_rectangle : enable
- uniform sampler2DRect SrcTexture;
- float sinh(in float x) { return (exp(x) - exp(-x)) / 2.0; }
- float cosh(in float x) { return (exp(x) + exp(-x)) / 2.0; }
- float atan2_xge0(const in float y, const in float x) {
- return atan(y, x);
- }
- float atan2_safe(const in float y, const in float x) {
- return atan(y, x);
- }
- float atan_safe(const in float yx) {
- return atan(yx);
- }
- void main(void)
- {
- float discardA = 1.0;
- float discardB = 0.0;
- vec2 src = gl_TexCoord[0].st;
- src -= vec2(1850.0000000000000000, 1375.0000000000000000);
- // erect_rect(2565.4893433121469570)
- src.t = 2565.4893433121469570 * atan2_xge0(src.t, length(vec2(2565.4893433121469570, src.s)));
- src.s = 2565.4893433121469570 * atan2_safe(src.s, 2565.4893433121469570);
- // rotate_erect(8059.7224738123431962, 1.1012479165175173002)
- {
- src.s += 1.1012479165175173002;
- float w = (abs(src.s) > 8059.7224738123431962) ? 1.0 : 0.0;
- float n = (src.s < 0.0) ? 0.5 : -0.5;
- src.s += w * -16119.444947624686392 * ceil(src.s / 16119.444947624686392 + n);
- }
- // sphere_tp_erect(2565.4893433121469570)
- {
- float phi = src.s / 2565.4893433121469570;
- float theta = -src.t / 2565.4893433121469570 + 1.5707963267948965580;
- if (theta < 0.0) {
- theta = -theta;
- phi += 3.1415926535897931160;
- }
- if (theta > 3.1415926535897931160) {
- theta = 3.1415926535897931160 - (theta - 3.1415926535897931160);
- phi += 3.1415926535897931160;
- }
- float s = sin(theta);
- vec2 v = vec2(s * sin(phi), cos(theta));
- float r = length(v);
- theta = 2565.4893433121469570 * atan2_safe(r, s * cos(phi));
- src = v * (theta / r);
- }
- // persp_sphere(2565.4893433121469570)
- {
- mat3 m = mat3(0.99999998665116685004, 0.00016339420484989285501, 5.6918562158017812270e-09,
- -0.00016339420494903108194, 0.99999998604442419392, 3.4835116346982139155e-05,
- 0.0000000000000000000, -3.4835116811990298087e-05, 0.99999999939325734388);
- float r = length(src);
- float theta = r / 2565.4893433121469570;
- float s = 0.0;
- if (r != 0.0) s = sin(theta) / r;
- vec3 v = vec3(s * src.s, s * src.t, cos(theta));
- vec3 u = v * m;
- r = length(u.st);
- theta = 0.0;
- if (r != 0.0) theta = 2565.4893433121469570 * atan2_safe(r, u.p) / r;
- src = theta * u.st;
- }
- // rect_sphere_tp(2565.4893433121469570)
- {
- float r = length(src);
- float theta = r / 2565.4893433121469570;
- float rho = 0.0;
- if (theta >= 1.5707963267948965580) rho = 1.6e16;
- else if (theta == 0.0) rho = 1.0;
- else rho = tan(theta) / theta;
- src *= rho;
- }
- // resize(1.0810807128353780993, 1.0810807128353780993)
- src *= vec2(1.0810807128353780993, 1.0810807128353780993);
- src += vec2(1999.5000000000000000, 1499.5000000000000000);
- src = src * discardA + vec2(-1000.0, -1000.0) * discardB;
- gl_FragColor = vec4(src.s, 0.0, 0.0, src.t);
- }
- #version 110
- #extension GL_ARB_texture_rectangle : enable
- uniform sampler2DRect CoordTexture;
- uniform sampler2DRect SrcTexture;
- uniform sampler2DRect AccumTexture;
- uniform vec2 SrcUL;
- uniform vec2 SrcLR;
- uniform vec2 KernelUL;
- uniform vec2 KernelWH;
- float w(const in float i, const in float f) {
- float A = -0.75000000000000000000;
- float c = abs(i - 1.0);
- float m = (i > 1.0) ? -1.0 : 1.0;
- float p = c + m * f;
- if (i == 1.0 || i == 2.0) {
- return (( A + 2.0 )*p - ( A + 3.0 ))*p*p + 1.0;
- } else {
- return (( A * p - 5.0 * A ) * p + 8.0 * A ) * p - 4.0 * A;
- }
- }
- void main(void)
- {
- vec2 src = texture2DRect(CoordTexture, gl_TexCoord[0].st).sq;
- vec4 accum = texture2DRect(AccumTexture, gl_TexCoord[0].st);
- src -= SrcUL;
- vec2 t = floor(src) + -0.50000000000000000000;
- vec2 f = fract(src);
- vec2 k = vec2(0.0, 0.0);
- for (float ky = 0.0; ky < 4.0000000000000000000; ky += 1.0) {
- k.t = ky + KernelUL.t;
- float wy = w(k.t, f.t);
- for (float kx = 0.0; kx < 4.0000000000000000000; kx += 1.0) {
- k.s = kx + KernelUL.s;
- float wx = w(k.s, f.s);
- vec2 ix = t + k;
- vec4 sp = texture2DRect(SrcTexture, ix);
- float weight = wx * wy * sp.a;
- accum += sp * weight;
- }
- }
- gl_FragColor = accum;
- }
- #version 120
- #extension GL_ARB_texture_rectangle : enable
- uniform sampler2DRect NormTexture;
- uniform sampler2DRect CoordTexture;
- uniform sampler2DRect InvLutTexture;
- uniform sampler2DRect DestLutTexture;
- void main(void)
- {
- // Normalization
- vec4 n = texture2DRect(NormTexture, gl_TexCoord[0].st);
- vec4 p = vec4(0.0, 0.0, 0.0, 0.0);
- if (n.a >= 0.2) p = n / n.a;
- // Photometric
- // invLutSize = 256.00000000000000000
- // pixelMax = 255.00000000000000000
- // destLutSize = 1024.0000000000000000
- // destExposure = 0.00019929594818414287749
- // srcExposure = 0.00031887755475383414107
- // whiteBalanceRed = 1.0000000000000000000
- // whiteBalanceBlue = 1.0000000000000000000
- p.rgb = p.rgb * 255.00000000000000000;
- vec2 invR = texture2DRect(InvLutTexture, vec2(p.r, 0.0)).sq;
- vec2 invG = texture2DRect(InvLutTexture, vec2(p.g, 0.0)).sq;
- vec2 invB = texture2DRect(InvLutTexture, vec2(p.b, 0.0)).sq;
- vec3 invX = vec3(invR.x, invG.x, invB.x);
- vec3 invY = vec3(invR.y, invG.y, invB.y);
- vec3 invA = fract(p.rgb);
- p.rgb = mix(invX, invY, invA);
- // VigCorrMode=VIGCORR_RADIAL
- float vig = 1.0;
- {
- vec2 vigCorrCenter = vec2(1999.5000000000000000, 1499.5000000000000000);
- float radiusScale=0.00040000000000000001917;
- float radialVigCorrCoeff0 = 1.0000000000000000000;
- float radialVigCorrCoeff1 = 0.0000000000000000000;
- float radialVigCorrCoeff2 = 0.0000000000000000000;
- float radialVigCorrCoeff3 = 0.0000000000000000000;
- vec2 src = texture2DRect(CoordTexture, gl_TexCoord[0].st).sq;
- vec2 d = src - vigCorrCenter;
- d *= radiusScale;
- vig = radialVigCorrCoeff0;
- float r2 = dot(d, d);
- float r = r2;
- vig += radialVigCorrCoeff1 * r;
- r *= r2;
- vig += radialVigCorrCoeff2 * r;
- r *= r2;
- vig += radialVigCorrCoeff3 * r;
- }
- vec3 exposure_whitebalance = vec3(0.62499208618804980020, 0.62499208618804980020, 0.62499208618804980020);
- p.rgb = (p.rgb * exposure_whitebalance) / vig;
- p.rgb = p.rgb * 1023.0000000000000000;
- vec2 destR = texture2DRect(DestLutTexture, vec2(p.r, 0.0)).sq;
- vec2 destG = texture2DRect(DestLutTexture, vec2(p.g, 0.0)).sq;
- vec2 destB = texture2DRect(DestLutTexture, vec2(p.b, 0.0)).sq;
- vec3 destX = vec3(destR.x, destG.x, destB.x);
- vec3 destY = vec3(destR.y, destG.y, destB.y);
- vec3 destA = fract(p.rgb);
- p.rgb = mix(destX, destY, destA);
- gl_FragColor = p;
- }
- gpu shader program compile time = 0.006
- gpu shader texture/framebuffer setup time = 0.001
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] coord image render time = 0.019
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] src upload = 0.024
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] src render = 0.002
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] interpolation chunk=[(0, 0) to (4, 4) = (4x4)] setup = 0.01
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] source chunk=[(0, 0) to (4000, 3000) = (4000x3000)] interpolation chunk=[(0, 0) to (4, 4) = (4x4)] render = 0.014
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] normalization setup = 0
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] normalization render = 0.003
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest rgb disassembly setup = 0
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest rgb disassembly render = 0.003
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] rgb readback = 0.001
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest alpha disassembly setup = 0
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] dest alpha disassembly render = 0.003
- gpu dest chunk=[(0, 0) to (3704, 2750) = (3704x2750)] alpha readback = 0.002
- gpu destruct time = 0.005
- gpu total time = 0.093
- Daniels-MacBook-Pro:~ daniel$
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement