← Back to team overview

hugin-devs team mailing list archive

[Bug 1322695] [NEW] Hugin won't create a panorama with "Use GPU for remapping" checked.

 

Public bug reported:

I've got a SandyBridge i7, no external graphics card.
Hugin supplied with xubuntu 14.04.


===========================================================================
***************  Panorama makefile generated by Hugin       ***************
===========================================================================
System information
===========================================================================
Operating system: GNU/Linux
Release: 3.13.0-24-generic
Kernel version: #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014
Machine: x86_64
Disc usage
Filesystem                                          Size  Used Avail Use% Mounted on
/dev/sda3                                            94G  5.0G   84G   6% /
none                                                4.0K     0  4.0K   0% /sys/fs/cgroup
udev                                                3.8G  4.0K  3.8G   1% /dev
tmpfs                                               771M  1.4M  769M   1% /run
none                                                5.0M     0  5.0M   0% /run/lock
none                                                3.8G  808K  3.8G   1% /run/shm
none                                                100M   48K  100M   1% /run/user
/dev/sda1                                           180M   36M  132M  22% /boot
/dev/sda4                                           816G  436G  339G  57% /home

             total       used       free     shared    buffers     cached
Mem:          7701       6183       1518        342         67       2464
-/+ buffers/cache:       3650       4050
Swap:         7812         56       7756
===========================================================================
Output options
===========================================================================
Hugin Version: 2013.0.0.4692917e7a55
Project file: /tmp/huginpto_N2njr0
Output prefix: IMG_8429-1 - IMG_8430-1
Projection: Equirectangular (2)
Field of view: 74 x 74
Canvas dimensions: 4098 x 4098
Crop area: (88,168) - (4027,3132)
Output exposure value: 11.39
Output stacks minimum overlap: 0.700
Output layers maximum Ev difference: 0.50
Selected outputs
Normal panorama
* Blended panorama
Using GPU for remapping
===========================================================================
Input images
===========================================================================
Number of images in project file: 2
Number of active images: 2
Image 0: /home/ian/Pictures/2014-05-10 Boat Trip Leeds Liverpool/2014-05-12 Wigan Flight Down  Wigam Pier/converted/IMG_8429-1.tif
Image 0: Size 2848x4282, Exposure: 11.40
Image 1: /home/ian/Pictures/2014-05-10 Boat Trip Leeds Liverpool/2014-05-12 Wigan Flight Down  Wigam Pier/converted/IMG_8430-1.tif
Image 1: Size 2848x4282, Exposure: 11.39
===========================================================================
Testing programs
===========================================================================
Checking nona...[OK]
Checking enblend...[OK]
Checking enfuse...[OK]
Checking hugin_hdrmerge...[OK]
Checking exiftool...[OK]
===========================================================================
Stitching panorama
===========================================================================
nona -g  -z LZW -r ldr -m TIFF_m -o IMG_8429-1\ -\ IMG_8430-1 -i 0 /tmp/huginpto_N2njr0
nona: using graphics card: Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Desktop 
destStart=[88, 168]
destEnd=[2664, 3132]
destSize=[(2576, 2964)]
srcSize=[(2848, 4282)]
srcBuffer=0x2b1c5c686010
srcAlphaBuffer=0
destBuffer=0x2b1c60c4e010
destAlphaBuffer=0x2b1c637ff010
destGLInternalFormat=GL_RGBA16
destGLFormat=GL_RGB
destGLType=GL_UNSIGNED_SHORT
srcGLInternalFormat=GL_RGBA16
srcGLFormat=GL_RGB
srcGLType=GL_UNSIGNED_SHORT
srcAlphaGLType=GL_BYTE
destAlphaGLType=GL_UNSIGNED_BYTE
warparound=0
needsAtanWorkaround=0
maxTextureSize=8192
Source chunks:
    [(0, 0) to (2848, 4282) = (2848x4282)]
Dest chunks:
    [(0, 0) to (1288, 1482) = (1288x1482)]
    [(1288, 0) to (2576, 1482) = (1288x1482)]
    [(0, 1482) to (1288, 2964) = (1288x1482)]
    [(1288, 1482) to (2576, 2964) = (1288x1482)]
Total GPU memory used: 260446256
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(2049.0000000000000000, 2049.0000000000000000);

    // rotate_erect(9968.1081081081083539, 734.44677103224705661)
    {
        src.s += 734.44677103224705661;
        float w = (abs(src.s) > 9968.1081081081083539) ? 1.0 : 0.0;
        float n = (src.s < 0.0) ? 0.5 : -0.5;
        src.s += w * -19936.216216216216708 * ceil(src.s / 19936.216216216216708 + n);
    }

    // sphere_tp_erect(3172.9473573596128517)
    {
        float phi = src.s / 3172.9473573596128517;
        float theta = -src.t / 3172.9473573596128517 + 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 = 3172.9473573596128517 * atan2_safe(r, s * cos(phi));
        src = v * (theta / r);
    }

    // persp_sphere(3172.9473573596128517)
    {
        mat3 m = mat3(1.0000000000000000000, 8.3266726846886789836e-17, 6.1716875719902952767e-18,
                      -8.3495134752153772000e-17, 0.99726441659211662039, 0.073916732876835020138,
                      0.0000000000000000000, -0.073916732876835020138, 0.99726441659211662039);
        float r = length(src);
        float theta = r / 3172.9473573596128517;
        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 = 3172.9473573596128517 * atan2_safe(r, u.p) / r;
        src = theta * u.st;
    }

    // rect_sphere_tp(3172.9473573596128517)
    {
        float r = length(src);
        float theta = r / 3172.9473573596128517;
        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.0270517266772629661, 1.0270517266772629661)
    src *= vec2(1.0270517266772629661, 1.0270517266772629661);

    // radial(0.97371777052458663437, 0.0000000000000000000, 0.026282229475413400321, 0.0000000000000000000, 1424.0000000000000000, 1000.0000000000000000)
    {
        float r = length(src) / 1424.0000000000000000;
        float scale = 1000.0; 
        if (r < 1000.0000000000000000) {
            scale = ((0.0000000000000000000 * r + 0.026282229475413400321) * r + 0.0000000000000000000) * r + 0.97371777052458663437;
        }
        src *= scale;
    }

    src += vec2(1423.5000000000000000, 2140.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 = 1024.0000000000000000
    // pixelMax = 65535.000000000000000
    // destLutSize = 1024.0000000000000000
    // destExposure = 0.00037251857878706234493
    // srcExposure = 0.00037127799462741026227
    // whiteBalanceRed = 1.0000000000000000000
    // whiteBalanceBlue = 1.0000000000000000000
    p.rgb = p.rgb * 1023.0000000000000000;
    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(1423.5000000000000000, 2140.5000000000000000);
        float radiusScale=0.00038890617819337537208;
        float radialVigCorrCoeff0 = 1.0000000000000000000;
        float radialVigCorrCoeff1 = 0.016847625337309098809;
        float radialVigCorrCoeff2 = 0.081252655071550994315;
        float radialVigCorrCoeff3 = -0.059167709616513797233;
        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.0033413888719611151, 1.0033413888719611151, 1.0033413888719611151);
    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.028
nona: Unsupported framebuffer format in: /build/buildd/hugin-2013.0.0+dfsg/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp:714
make: *** [IMG_8429-1 - IMG_8430-10000.tif] Error 1

** Affects: hugin
     Importance: Undecided
         Status: New

-- 
You received this bug notification because you are a member of Hugin
Developers, which is subscribed to Hugin.
https://bugs.launchpad.net/bugs/1322695

Title:
  Hugin won't create a panorama with "Use GPU for remapping" checked.

Status in Hugin - Panorama Tools GUI:
  New

Bug description:
  I've got a SandyBridge i7, no external graphics card.
  Hugin supplied with xubuntu 14.04.

  
  ===========================================================================
  ***************  Panorama makefile generated by Hugin       ***************
  ===========================================================================
  System information
  ===========================================================================
  Operating system: GNU/Linux
  Release: 3.13.0-24-generic
  Kernel version: #47-Ubuntu SMP Fri May 2 23:30:00 UTC 2014
  Machine: x86_64
  Disc usage
  Filesystem                                          Size  Used Avail Use% Mounted on
  /dev/sda3                                            94G  5.0G   84G   6% /
  none                                                4.0K     0  4.0K   0% /sys/fs/cgroup
  udev                                                3.8G  4.0K  3.8G   1% /dev
  tmpfs                                               771M  1.4M  769M   1% /run
  none                                                5.0M     0  5.0M   0% /run/lock
  none                                                3.8G  808K  3.8G   1% /run/shm
  none                                                100M   48K  100M   1% /run/user
  /dev/sda1                                           180M   36M  132M  22% /boot
  /dev/sda4                                           816G  436G  339G  57% /home

               total       used       free     shared    buffers     cached
  Mem:          7701       6183       1518        342         67       2464
  -/+ buffers/cache:       3650       4050
  Swap:         7812         56       7756
  ===========================================================================
  Output options
  ===========================================================================
  Hugin Version: 2013.0.0.4692917e7a55
  Project file: /tmp/huginpto_N2njr0
  Output prefix: IMG_8429-1 - IMG_8430-1
  Projection: Equirectangular (2)
  Field of view: 74 x 74
  Canvas dimensions: 4098 x 4098
  Crop area: (88,168) - (4027,3132)
  Output exposure value: 11.39
  Output stacks minimum overlap: 0.700
  Output layers maximum Ev difference: 0.50
  Selected outputs
  Normal panorama
  * Blended panorama
  Using GPU for remapping
  ===========================================================================
  Input images
  ===========================================================================
  Number of images in project file: 2
  Number of active images: 2
  Image 0: /home/ian/Pictures/2014-05-10 Boat Trip Leeds Liverpool/2014-05-12 Wigan Flight Down  Wigam Pier/converted/IMG_8429-1.tif
  Image 0: Size 2848x4282, Exposure: 11.40
  Image 1: /home/ian/Pictures/2014-05-10 Boat Trip Leeds Liverpool/2014-05-12 Wigan Flight Down  Wigam Pier/converted/IMG_8430-1.tif
  Image 1: Size 2848x4282, Exposure: 11.39
  ===========================================================================
  Testing programs
  ===========================================================================
  Checking nona...[OK]
  Checking enblend...[OK]
  Checking enfuse...[OK]
  Checking hugin_hdrmerge...[OK]
  Checking exiftool...[OK]
  ===========================================================================
  Stitching panorama
  ===========================================================================
  nona -g  -z LZW -r ldr -m TIFF_m -o IMG_8429-1\ -\ IMG_8430-1 -i 0 /tmp/huginpto_N2njr0
  nona: using graphics card: Intel Open Source Technology Center Mesa DRI Intel(R) Sandybridge Desktop 
  destStart=[88, 168]
  destEnd=[2664, 3132]
  destSize=[(2576, 2964)]
  srcSize=[(2848, 4282)]
  srcBuffer=0x2b1c5c686010
  srcAlphaBuffer=0
  destBuffer=0x2b1c60c4e010
  destAlphaBuffer=0x2b1c637ff010
  destGLInternalFormat=GL_RGBA16
  destGLFormat=GL_RGB
  destGLType=GL_UNSIGNED_SHORT
  srcGLInternalFormat=GL_RGBA16
  srcGLFormat=GL_RGB
  srcGLType=GL_UNSIGNED_SHORT
  srcAlphaGLType=GL_BYTE
  destAlphaGLType=GL_UNSIGNED_BYTE
  warparound=0
  needsAtanWorkaround=0
  maxTextureSize=8192
  Source chunks:
      [(0, 0) to (2848, 4282) = (2848x4282)]
  Dest chunks:
      [(0, 0) to (1288, 1482) = (1288x1482)]
      [(1288, 0) to (2576, 1482) = (1288x1482)]
      [(0, 1482) to (1288, 2964) = (1288x1482)]
      [(1288, 1482) to (2576, 2964) = (1288x1482)]
  Total GPU memory used: 260446256
  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(2049.0000000000000000, 2049.0000000000000000);

      // rotate_erect(9968.1081081081083539, 734.44677103224705661)
      {
          src.s += 734.44677103224705661;
          float w = (abs(src.s) > 9968.1081081081083539) ? 1.0 : 0.0;
          float n = (src.s < 0.0) ? 0.5 : -0.5;
          src.s += w * -19936.216216216216708 * ceil(src.s / 19936.216216216216708 + n);
      }

      // sphere_tp_erect(3172.9473573596128517)
      {
          float phi = src.s / 3172.9473573596128517;
          float theta = -src.t / 3172.9473573596128517 + 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 = 3172.9473573596128517 * atan2_safe(r, s * cos(phi));
          src = v * (theta / r);
      }

      // persp_sphere(3172.9473573596128517)
      {
          mat3 m = mat3(1.0000000000000000000, 8.3266726846886789836e-17, 6.1716875719902952767e-18,
                        -8.3495134752153772000e-17, 0.99726441659211662039, 0.073916732876835020138,
                        0.0000000000000000000, -0.073916732876835020138, 0.99726441659211662039);
          float r = length(src);
          float theta = r / 3172.9473573596128517;
          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 = 3172.9473573596128517 * atan2_safe(r, u.p) / r;
          src = theta * u.st;
      }

      // rect_sphere_tp(3172.9473573596128517)
      {
          float r = length(src);
          float theta = r / 3172.9473573596128517;
          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.0270517266772629661, 1.0270517266772629661)
      src *= vec2(1.0270517266772629661, 1.0270517266772629661);

      // radial(0.97371777052458663437, 0.0000000000000000000, 0.026282229475413400321, 0.0000000000000000000, 1424.0000000000000000, 1000.0000000000000000)
      {
          float r = length(src) / 1424.0000000000000000;
          float scale = 1000.0; 
          if (r < 1000.0000000000000000) {
              scale = ((0.0000000000000000000 * r + 0.026282229475413400321) * r + 0.0000000000000000000) * r + 0.97371777052458663437;
          }
          src *= scale;
      }

      src += vec2(1423.5000000000000000, 2140.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 = 1024.0000000000000000
      // pixelMax = 65535.000000000000000
      // destLutSize = 1024.0000000000000000
      // destExposure = 0.00037251857878706234493
      // srcExposure = 0.00037127799462741026227
      // whiteBalanceRed = 1.0000000000000000000
      // whiteBalanceBlue = 1.0000000000000000000
      p.rgb = p.rgb * 1023.0000000000000000;
      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(1423.5000000000000000, 2140.5000000000000000);
          float radiusScale=0.00038890617819337537208;
          float radialVigCorrCoeff0 = 1.0000000000000000000;
          float radialVigCorrCoeff1 = 0.016847625337309098809;
          float radialVigCorrCoeff2 = 0.081252655071550994315;
          float radialVigCorrCoeff3 = -0.059167709616513797233;
          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.0033413888719611151, 1.0033413888719611151, 1.0033413888719611151);
      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.028
  nona: Unsupported framebuffer format in: /build/buildd/hugin-2013.0.0+dfsg/src/hugin_base/vigra_ext/ImageTransformsGPU.cpp:714
  make: *** [IMG_8429-1 - IMG_8430-10000.tif] Error 1

To manage notifications about this bug go to:
https://bugs.launchpad.net/hugin/+bug/1322695/+subscriptions


Follow ups

References