[Paraview] PointSprite with Recent Intel HD Graphics
Aashish Chaudhary
aashish.chaudhary at kitware.com
Mon Feb 10 12:58:36 EST 2014
John,
Having another shader active should not be a problem. Since for shader we
should be calling Use() before we start using it. My suspect is the shader
version because of the various warning.
@Bruce, don't compile again. Just look for shader files *.glsl (for eg.
Texture_vs.glsl) and add version info on the top (first line). See if that
gets into effect.
- Aashish
On Mon, Feb 10, 2014 at 12:53 PM, Bruce Jones
<bruce.david.jones at gmail.com>wrote:
> Hey Aashish,
>
> I am using the Paraview binaries, and havent compiled paraview on windows
> before. So this may take me a little while to set up, will get back to you
> when I've figured it out. I'm happy to run anything you build your end if
> that works.
>
> Thanks for the suggestion John. I get the same errors with depth peeling
> deactivated. All the settings I am using are default, other than the
> pointsprite plugin.
>
> Cheers,
> Bruce
>
>
> On Mon, Feb 10, 2014 at 12:47 PM, Biddiscombe, John A. <biddisco at cscs.ch>wrote:
>
>> NB. Before testing lots of other stuff ... Make sure you disable depth
>> peeling the main paraview options. The point sprite shader stuff will never
>> work if there's another shader active.
>>
>> From: Aashish Chaudhary <aashish.chaudhary at kitware.com<mailto:
>> aashish.chaudhary at kitware.com>>
>> Date: Monday 10 February 2014 18:45
>> To: Bruce Jones <bruce.david.jones at gmail.com<mailto:
>> bruce.david.jones at gmail.com>>
>> Cc: "paraview at paraview.org<mailto:paraview at paraview.org>" <
>> paraview at paraview.org<mailto:paraview at paraview.org>>
>> Subject: Re: [Paraview] PointSprite with Recent Intel HD Graphics
>>
>> Sorry, I hit send by mistake,
>>
>> In this directory,
>>
>> PARAVIEW_SRC/Plugins/PointSprite/Rendering/Resources/Shaders
>>
>> Can you add line below at the beginning of all of the shaders. You may
>> have to compile ParaView (or plugin again). This may not fix the problem
>> but it would be great if you can provide some
>> feedback after this.
>>
>> - Aashish
>>
>>
>> #version 150
>>
>>
>>
>> On Mon, Feb 10, 2014 at 12:43 PM, Aashish Chaudhary <
>> aashish.chaudhary at kitware.com<mailto:aashish.chaudhary at kitware.com>>
>> wrote:
>> Bruce,
>>
>> In the
>>
>>
>>
>> On Mon, Feb 10, 2014 at 12:08 PM, Aashish Chaudhary <
>> aashish.chaudhary at kitware.com<mailto:aashish.chaudhary at kitware.com>>
>> wrote:
>> This is very helpful. I am speculating that it could be related to the
>> default shader version on your system (yours is shader model 5 I believe).
>>
>> Let me come up with a quick fix (unless somone else beats me to it) which
>> you can try. I will send that in a separate email.
>>
>> - Aashish
>>
>>
>>
>> On Mon, Feb 10, 2014 at 11:57 AM, Bruce Jones <
>> bruce.david.jones at gmail.com<mailto:bruce.david.jones at gmail.com>> wrote:
>> Hi Aashish,
>>
>> Thanks for getting back to me, I'll have a look at the breakpoint this
>> afternoon. In the mean time, the full error logs are below, which appear to
>> show the shader source for the failed shader.
>>
>> Using PointSprite with Sphere(Texture) and a constant radius works fine.
>>
>> Using PointSprite with Sphere(Texture) and a variable radius fails with
>> the following message,
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 530
>>
>> vtkShaderProgram2 (0000000012D40520): the shader program failed to link.
>> Its log is:
>>
>> the shaders are:
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 540
>>
>> vtkShaderProgram2 (0000000012D40520): shader #0/3 (vertex shader) log is:
>>
>>
>> . Its source code is:
>>
>>
>> /*=========================================================================
>>
>>
>> Program: Visualization Toolkit
>>
>> Module: AttributeRadiusHelper.glsl
>>
>>
>> Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
>>
>> All rights reserved.
>>
>> See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
>>
>>
>> This software is distributed WITHOUT ANY WARRANTY; without even
>>
>> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
>>
>> PURPOSE. See the above copyright notice for more information.
>>
>>
>>
>> =========================================================================*/
>>
>>
>> // .NAME AttributeRadiusHelper.glsl
>>
>> // .SECTION Thanks
>>
>> // <verbatim>
>>
>> //
>>
>> // This file is part of the PointSprites plugin developed and contributed
>> by
>>
>> //
>>
>> // Copyright (c) CSCS - Swiss National Supercomputing Centre
>>
>> // EDF - Electricite de France
>>
>> //
>>
>> // John Biddiscombe, Ugo Varetto (CSCS)
>>
>> // Stephane Ploix (EDF)
>>
>> //
>>
>> // </verbatim>
>>
>>
>> uniform vec2 RadiusSpan;
>>
>> attribute float Radius;
>>
>>
>> float GetRadius()
>>
>> {
>>
>> return RadiusSpan.x + Radius*RadiusSpan.y;
>>
>> }
>>
>>
>>
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 540
>>
>> vtkShaderProgram2 (0000000012D40520): shader #1/3 (vertex shader) log is:
>>
>>
>> . Its source code is:
>>
>>
>> /*=========================================================================
>>
>>
>> Program: Visualization Toolkit
>>
>> Module: Texture_vs.glsl
>>
>>
>> Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
>>
>> All rights reserved.
>>
>> See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
>>
>>
>> This software is distributed WITHOUT ANY WARRANTY; without even
>>
>> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
>>
>> PURPOSE. See the above copyright notice for more information.
>>
>>
>>
>> =========================================================================*/
>>
>>
>> // .NAME Texture_vs.glsl
>>
>> // .SECTION Thanks
>>
>> // <verbatim>
>>
>> //
>>
>> // This file is part of the PointSprites plugin developed and contributed
>> by
>>
>> //
>>
>> // Copyright (c) CSCS - Swiss National Supercomputing Centre
>>
>> // EDF - Electricite de France
>>
>> //
>>
>> // John Biddiscombe, Ugo Varetto (CSCS)
>>
>> // Stephane Ploix (EDF)
>>
>> //
>>
>> // </verbatim>
>>
>>
>> uniform float MaxPixelSize;
>>
>> uniform vec2 viewport;
>>
>>
>> float GetRadius();
>>
>>
>> void propFuncVS()
>>
>> {
>>
>> float radius = GetRadius();
>>
>>
>> gl_ClipVertex = gl_ModelViewMatrix * gl_Vertex;
>>
>> gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;
>>
>> //
>>
>> // Convert position to window coordinates
>>
>> //
>>
>>
>> //
>>
>> // Convert Radius to window coordinates
>>
>> // radius/w is homogenous clip coord
>>
>> //
>>
>> float pixelSize = (radius/gl_Position.w)*(4.0*viewport.y);
>>
>>
>> // Clamp radius to prevent overloading if bad scalars were passed in
>>
>> if (pixelSize>MaxPixelSize)
>>
>> pixelSize = MaxPixelSize;
>>
>>
>> gl_PointSize = pixelSize;
>>
>> gl_FrontColor = gl_Color;
>>
>> }
>>
>>
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 540
>>
>> vtkShaderProgram2 (0000000012D40520): shader #2/3 (vertex shader) log is:
>>
>>
>> . Its source code is:
>>
>> //
>> ============================================================================
>>
>> //
>>
>> // Program: Visualization Toolkit
>>
>> // Module: vtkOpenGLPropertyDefaultMain_vs.glsl
>>
>> //
>>
>> // Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
>>
>> // All rights reserved.
>>
>> // See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
>>
>> //
>>
>> // This software is distributed WITHOUT ANY WARRANTY; without even
>>
>> // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
>>
>> // PURPOSE. See the above copyright notice for more information.
>>
>> //
>>
>> //
>> ============================================================================
>>
>>
>> // This is the default vertex shader with the main() function. It is used
>> when
>>
>> // no main() is provided at the renderer level and some vertex shader is
>>
>> // defined by the user on a property.
>>
>>
>> #version 110
>>
>>
>> void propFuncVS();
>>
>>
>> void main()
>>
>> {
>>
>> propFuncVS();
>>
>> }
>>
>>
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkOpenGLProperty.cxx,
>> line 415
>>
>> vtkPointSpriteProperty (000000001118DD20): Couldn't build the shader
>> program. At this point , it can be an error in a shader or a driver bug.
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 530
>>
>> vtkShaderProgram2 (0000000012D40520): the shader program failed to link.
>> Its log is:
>>
>> the shaders are:
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 540
>>
>> vtkShaderProgram2 (0000000012D40520): shader #0/3 (vertex shader) log is:
>>
>>
>> . Its source code is:
>>
>>
>> /*=========================================================================
>>
>>
>> Program: Visualization Toolkit
>>
>> Module: AttributeRadiusHelper.glsl
>>
>>
>> Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
>>
>> All rights reserved.
>>
>> See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
>>
>>
>> This software is distributed WITHOUT ANY WARRANTY; without even
>>
>> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
>>
>> PURPOSE. See the above copyright notice for more information.
>>
>>
>>
>> =========================================================================*/
>>
>>
>> // .NAME AttributeRadiusHelper.glsl
>>
>> // .SECTION Thanks
>>
>> // <verbatim>
>>
>> //
>>
>> // This file is part of the PointSprites plugin developed and contributed
>> by
>>
>> //
>>
>> // Copyright (c) CSCS - Swiss National Supercomputing Centre
>>
>> // EDF - Electricite de France
>>
>> //
>>
>> // John Biddiscombe, Ugo Varetto (CSCS)
>>
>> // Stephane Ploix (EDF)
>>
>> //
>>
>> // </verbatim>
>>
>>
>> uniform vec2 RadiusSpan;
>>
>> attribute float Radius;
>>
>>
>> float GetRadius()
>>
>> {
>>
>> return RadiusSpan.x + Radius*RadiusSpan.y;
>>
>> }
>>
>>
>>
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 540
>>
>> vtkShaderProgram2 (0000000012D40520): shader #1/3 (vertex shader) log is:
>>
>>
>> . Its source code is:
>>
>>
>> /*=========================================================================
>>
>>
>> Program: Visualization Toolkit
>>
>> Module: Texture_vs.glsl
>>
>>
>> Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
>>
>> All rights reserved.
>>
>> See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
>>
>>
>> This software is distributed WITHOUT ANY WARRANTY; without even
>>
>> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
>>
>> PURPOSE. See the above copyright notice for more information.
>>
>>
>>
>> =========================================================================*/
>>
>>
>> // .NAME Texture_vs.glsl
>>
>> // .SECTION Thanks
>>
>> // <verbatim>
>>
>> //
>>
>> // This file is part of the PointSprites plugin developed and contributed
>> by
>>
>> //
>>
>> // Copyright (c) CSCS - Swiss National Supercomputing Centre
>>
>> // EDF - Electricite de France
>>
>> //
>>
>> // John Biddiscombe, Ugo Varetto (CSCS)
>>
>> // Stephane Ploix (EDF)
>>
>> //
>>
>> // </verbatim>
>>
>>
>> uniform float MaxPixelSize;
>>
>> uniform vec2 viewport;
>>
>>
>> float GetRadius();
>>
>>
>> void propFuncVS()
>>
>> {
>>
>> float radius = GetRadius();
>>
>>
>> gl_ClipVertex = gl_ModelViewMatrix * gl_Vertex;
>>
>> gl_Position = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;
>>
>> //
>>
>> // Convert position to window coordinates
>>
>> //
>>
>>
>> //
>>
>> // Convert Radius to window coordinates
>>
>> // radius/w is homogenous clip coord
>>
>> //
>>
>> float pixelSize = (radius/gl_Position.w)*(4.0*viewport.y);
>>
>>
>> // Clamp radius to prevent overloading if bad scalars were passed in
>>
>> if (pixelSize>MaxPixelSize)
>>
>> pixelSize = MaxPixelSize;
>>
>>
>> gl_PointSize = pixelSize;
>>
>> gl_FrontColor = gl_Color;
>>
>> }
>>
>>
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 540
>>
>> vtkShaderProgram2 (0000000012D40520): shader #2/3 (vertex shader) log is:
>>
>>
>> . Its source code is:
>>
>> //
>> ============================================================================
>>
>> //
>>
>> // Program: Visualization Toolkit
>>
>> // Module: vtkOpenGLPropertyDefaultMain_vs.glsl
>>
>> //
>>
>> // Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
>>
>> // All rights reserved.
>>
>> // See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
>>
>> //
>>
>> // This software is distributed WITHOUT ANY WARRANTY; without even
>>
>> // the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
>>
>> // PURPOSE. See the above copyright notice for more information.
>>
>> //
>>
>> //
>> ============================================================================
>>
>>
>> // This is the default vertex shader with the main() function. It is used
>> when
>>
>> // no main() is provided at the renderer level and some vertex shader is
>>
>> // defined by the user on a property.
>>
>>
>> #version 110
>>
>>
>> void propFuncVS();
>>
>>
>> void main()
>>
>> {
>>
>> propFuncVS();
>>
>> }
>>
>>
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkOpenGLProperty.cxx,
>> line 415
>>
>> vtkPointSpriteProperty (000000001118DD20): Couldn't build the shader
>> program. At this point , it can be an error in a shader or a driver bug.
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 1084
>>
>> vtkShaderProgram2 (0000000012D40520): glGetAttribLocation 1 OpenGL errors
>> detected
>>
>> 0 : (1281) Invalid value
>>
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 1084
>>
>> vtkShaderProgram2 (0000000012D40520): glGetAttribLocation 1 OpenGL errors
>> detected
>>
>> 0 : (1281) Invalid value
>>
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 1084
>>
>> vtkShaderProgram2 (0000000012D40520): glGetAttribLocation 1 OpenGL errors
>> detected
>>
>> 0 : (1281) Invalid value
>>
>>
>> Using PointSprite with Sphere and a constant radius fails with the
>> following message,
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 481
>>
>> vtkShaderProgram2 (0000000012D40520): a shader failed to compile. Its log
>> is:
>>
>> WARNING: 0:89: 'assigning' : implict conversion between types allowed
>> from GLSL 1.20
>>
>> WARNING: 0:143: 'assigning' : implict conversion between types allowed
>> from GLSL 1.20
>>
>> WARNING: 0:159: 'assigning' : implict conversion between types allowed
>> from GLSL 1.20
>>
>> WARNING: 0:196: 'assigning' : implict conversion between types allowed
>> from GLSL 1.20
>>
>> WARNING: 0:207: 'assign' : implicit type conversion allowed from GLSL 1.20
>>
>> ERROR: 0:207: '=' : cannot convert from 'const int' to '3-component
>> vector of float'
>>
>> ERROR: 0:216: 'assign' : cannot convert from '4-component vector of
>> float' to '3-component vector of float'
>>
>> ERROR: 0:217: 'N' : undeclared identifier
>>
>> ERROR: 0:217: 'assign' : cannot convert from '3-component vector of
>> float' to 'float'
>>
>> ERROR: 0:218: 'dot' : no matching overloaded function found (using
>> implicit conversion)
>>
>> ERROR: 0:218: 'assign' : l-value required "d" (can't modify a varying)
>>
>> ERROR: 0:219: 'viewdir' : undeclared identifier
>>
>> ERROR: 0:219: 'assign' : cannot convert from '3-component vector of
>> float' to 'float'
>>
>> ERROR: 0:220: 'vl' : undeclared identifier
>>
>> ERROR: 0:220: 'reflect' : no matching overloaded function found (using
>> implicit conversion)
>>
>> ERROR: 0:221: 's' : undeclared identifier
>>
>> ERROR: 0:222: 'assign' : cannot convert from '4-component vector of
>> float' to '3-component vector of float'
>>
>> WARNING: 0:251: 'assigning' : implict conversion between types allowed
>> from GLSL 1.20
>>
>>
>>
>> . Its source code is:
>>
>>
>> /*=========================================================================
>>
>>
>> Program: Visualization Toolkit
>>
>> Module: Quadrics_fs.glsl
>>
>>
>> Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
>>
>> All rights reserved.
>>
>> See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
>>
>>
>> This software is distributed WITHOUT ANY WARRANTY; without even
>>
>> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
>>
>> PURPOSE. See the above copyright notice for more information.
>>
>>
>>
>> =========================================================================*/
>>
>>
>> // .NAME Quadrics_fs.glsl
>>
>> // .SECTION Thanks
>>
>> // <verbatim>
>>
>> //
>>
>> // This file is part of the PointSprites plugin developed and contributed
>> by
>>
>> //
>>
>> // Copyright (c) CSCS - Swiss National Supercomputing Centre
>>
>> // EDF - Electricite de France
>>
>> //
>>
>> // John Biddiscombe, Ugo Varetto (CSCS)
>>
>> // Stephane Ploix (EDF)
>>
>> //
>>
>> // </verbatim>
>>
>>
>> //
>>
>> // IN:
>>
>> // - vertex position
>>
>> // - point size
>>
>> // - ray origin
>>
>> // - perspective flag
>>
>> // - quadric equation coefficients
>>
>> // - color
>>
>> // - viewport (width and height only)
>>
>> // - min point size (pointThreshold)
>>
>> //
>>
>> // OUT:
>>
>> // - fragment color computed from point intersected by ray shot from
>>
>> // viewpoint through point computed from current fragment coordinate
>>
>> // - fragment depth computed by projecting the intersection point into
>> screen
>>
>> // coordinates
>>
>>
>>
>> // OPTIMAL
>>
>> #define ELLIPSOID
>>
>> //#define CYLINDER
>>
>> //#define CONE
>>
>> //#define HYPERBOLOID1
>>
>> //#define HYPERBOLOID2
>>
>> //#define PARABOLOID
>>
>>
>> // SUB OPTIMAL
>>
>> //#define HYPER_PARABOLOID
>>
>>
>> uniform vec2 viewport; // only width and height passed, no origin
>>
>> uniform float pointSizeThreshold; // minimum point size
>>
>>
>> varying vec4 color;
>>
>> varying float a;
>>
>> varying float b;
>>
>> varying float c;
>>
>> varying float d;
>>
>> varying float e;
>>
>> varying float f;
>>
>> varying float g;
>>
>> varying float h;
>>
>> varying float i;
>>
>> varying float j;
>>
>> varying float pointSize;
>>
>> varying float perspective;
>>
>>
>> vec3 raydir; // ray direction in screen space
>>
>> vec3 rayorigin; // ray origin in screen space
>>
>>
>> #ifndef ELLIPSOID
>>
>> varying mat4 Ti;
>>
>> #endif
>>
>>
>> const float FLAT_SHADE_POINT_SIZE = 1.0; //if point size < 1 use flat
>> shading
>>
>>
>> const float FEPS = 0.0001;
>>
>>
>> const float BOUND = 1.0 + FEPS;
>>
>>
>> const vec3 MIN_BOUND = vec3(-BOUND);
>>
>>
>> const vec3 MAX_BOUND = vec3(BOUND);
>>
>>
>>
>> //------------------------------------------------------------------------------
>>
>> // BOUNDS CHECK
>>
>> // in general it makes sense to check only along the z direction for:
>>
>> // - paraboloids
>>
>> // - hyperboloids of one sheet
>>
>> // - cylinders
>>
>> // - cones
>>
>> // and no checking at all is required for ellipsoids
>>
>> #ifndef ELLIPSOID
>>
>> bool InBounds( vec3 P )
>>
>> {
>>
>> vec4 v = Ti * gl_ModelViewMatrixInverse * vec4( P, 1. );
>>
>> #if defined( CYLINDER ) || defined( CONE ) || defined( HYPERBOLOID1 ) ||
>> defined( PARABOLOID )
>>
>> return v.z >= -BOUND && v.z <= BOUND;
>>
>> #else
>>
>> return all( greaterThanEqual( v.xyz, MIN_BOUND ) ) &&
>>
>> all( lessThanEqual( v.xyz, MAX_BOUND ) );
>>
>> #endif
>>
>> }
>>
>> #endif
>>
>>
>> //------------------------------------------------------------------------------
>>
>> // INTERSECTION
>>
>> struct I
>>
>> {
>>
>> vec3 P;
>>
>> vec3 N;
>>
>> float t;
>>
>> };
>>
>>
>> // compute unit normal from gradient
>>
>> vec3 ComputeNormal(vec3 P)
>>
>> {
>>
>> return normalize(vec3(dot(vec4(a, d, e, 1.), vec4(P, g)), // should
>> multiply by 2 for actual gradient
>>
>> dot(vec4(d, b, f, 1.), vec4(P, h)), // should multiply by 2 for actual
>> gradient
>>
>> dot(vec4(e, f, c, 1.), vec4(P, i)) // should multiply by 2 for actual
>> gradient
>>
>> ));
>>
>> }
>>
>>
>> // compute ray quadric intersection; if no intersection occurs I.t is < 0
>>
>> // main axis length and orientation are used to clip the quadric; not
>>
>> // required for closed quadrics (ellipsoids)
>>
>> // | a d e g |
>>
>> // | d b f h |
>>
>> // | e f c i |
>>
>> // | g h i j |
>>
>> // ax^2 + by^2 + cz^2 + 2dxy +2exz + 2fyz + 2gx + 2hy + 2iz + j = 0
>>
>> /// @todo pass vec3(a, b, c), vec3( d, e, f ) and vec3( g, h, i ) instead
>> of single coefficients
>>
>> I ComputeRayQuadricIntersection()
>>
>> {
>>
>> I ip;
>>
>> ip.t = -1.0;
>>
>> vec3 P = rayorigin;
>>
>> vec3 D = raydir;
>>
>> float A = 0.0;
>>
>> float B = 0.0;
>>
>> float C = 0.0;
>>
>> if (bool(perspective))
>>
>> {
>>
>> A = dot(vec3(a, b, c), D * D) + 2. * dot(vec3(d, e, f), D.xxy * D.yzz);
>>
>> B = 2. * dot(vec3(g, h, i), D);
>>
>> C = j;
>>
>> }
>>
>> else
>>
>> {
>>
>> A = c;
>>
>> //B = -2. * dot( vec4( c, e, f, 1. ), vec4( P.zxy, 1. ) );
>>
>> B = -2. * dot(vec4(d, e, f, i), vec4(P.zxy, 1.));
>>
>> C = dot(vec3(a, b, c), P * P) + 2. * (dot(vec3(d, e, f), P.xxy * P.yzz)
>>
>> + dot(vec3(g, h, i), P)) + j;
>>
>> }
>>
>> float delta = B * B - 4. * A * C;
>>
>> if (delta < 0.0)
>>
>> return ip;
>>
>> float d = sqrt(delta);
>>
>> A = 1. / A;
>>
>> A *= 0.5;
>>
>> float t2 = A * (-B + d);
>>
>> float t1 = A * (-B - d);
>>
>> #ifdef ELLIPSOID
>>
>> ip.P = rayorigin + D * min(t1, t2);
>>
>> ip.N = ComputeNormal(ip.P);
>>
>> ip.t = 0.;
>>
>> #else
>>
>> vec3 P1 = rayorigin + D * min( t1, t2 );
>>
>> vec3 P2 = rayorigin + D * max( t1, t2 );
>>
>> if( InBounds( P1 ) )
>>
>> {
>>
>> ip.P = P1;
>>
>> ip.N = ComputeNormal( P1 );
>>
>> ip.t = 0.;
>>
>> }
>>
>> else if( InBounds( P2 ) )
>>
>> {
>>
>> ip.P = P2;
>>
>> ip.N = ComputeNormal( P2 );
>>
>> ip.t = 0.;
>>
>> }
>>
>> #endif
>>
>> return ip;
>>
>> }
>>
>>
>>
>> //------------------------------------------------------------------------------
>>
>> // LIGHTING, standard phong lighting model
>>
>> vec3 lightDir = normalize(vec3(0.1, 0.1, 1.));
>>
>> float kd = 1.0;
>>
>> float ka = 0.01;
>>
>> float ks = .5;
>>
>> float sh = 90.0;
>>
>> vec4 refcolor = vec4(1., 1., 1., 1.);
>>
>> vec4 ComputeColor(vec4 color, vec3 n, vec3 P)
>>
>> {
>>
>> if (pointSize < FLAT_SHADE_POINT_SIZE)
>>
>> return color;
>>
>>
>> vec3 col = (0, 0, 0);
>>
>> vec3 N;
>>
>> float d;
>>
>> vec3 viewdir;
>>
>> float vl;
>>
>> float s;
>>
>>
>> for (int li = 0; li < 4; li++)
>>
>> {
>>
>> lightDir = normalize(gl_LightSource[li].position);
>>
>> N = faceforward(-n, lightDir, n);
>>
>> d = dot(N, lightDir);
>>
>> viewdir = normalize(-P);
>>
>> vl = max(0., dot(reflect(-lightDir, N), viewdir));
>>
>> s = pow(vl, gl_FrontMaterial.shininess);
>>
>> col += gl_FrontMaterial.specular * s * gl_LightSource[li].specular.rgb +
>> kd
>>
>> * d * color.rgb * gl_LightSource[li].diffuse.rgb + ka * color.rgb
>>
>> * gl_LightSource[li].ambient.rgb;
>>
>> }
>>
>>
>> return vec4(col, color.a);
>>
>>
>> }
>>
>>
>>
>> //------------------------------------------------------------------------------
>>
>> // MAIN
>>
>> void propFuncFS(void)
>>
>> {
>>
>> if (pointSize < pointSizeThreshold || color.a <= 0.0)
>>
>> discard;
>>
>> vec3 fc = gl_FragCoord.xyz;
>>
>> fc.xy /= viewport;
>>
>> fc *= 2.0;
>>
>> fc -= 1.0;
>>
>> vec4 p = gl_ProjectionMatrixInverse * vec4(fc, 1.);
>>
>> if (bool(perspective))
>>
>> {
>>
>> // in perspective mode, rayorigin is always at (0, 0, 0)
>>
>> rayorigin = vec3(0., 0., 0.);
>>
>> raydir = vec3(p) / p.w;
>>
>> }
>>
>> else
>>
>> {
>>
>> // in orthographic mode, raydir is always ( 0., 0., -1. );
>>
>> raydir = vec3(0., 0., -1.);
>>
>> rayorigin = vec3(p.x / p.w, p.y / p.w, 0.);
>>
>> }
>>
>> // compute intersection
>>
>> I i = ComputeRayQuadricIntersection();
>>
>> if (i.t < 0.0)
>>
>> discard;
>>
>> // compute color
>>
>> gl_FragColor = ComputeColor(color, i.N, i.P);
>>
>> // update depth by projecting point and updating depth coordinate
>>
>> // the transposed version of the projection matrix is used to
>>
>> // perform vector, matrix row product in one line:
>>
>> // M[2][*] x V = Vt x Mt[*][2] where:
>>
>> // % V is a column vector
>>
>> // % Vt is a row vector
>>
>> // % M is a square matrix
>>
>> // % Mt is the transpose of M
>>
>> float z = dot(vec4(i.P, 1.), gl_ProjectionMatrixTranspose[2]);
>>
>> float w = dot(vec4(i.P, 1.), gl_ProjectionMatrixTranspose[3]);
>>
>> gl_FragDepth = 0.5 * (z / w + 1.0);
>>
>> }
>>
>>
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkOpenGLProperty.cxx,
>> line 415
>>
>> vtkPointSpriteProperty (000000001118DD20): Couldn't build the shader
>> program. At this point , it can be an error in a shader or a driver bug.
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 481
>>
>> vtkShaderProgram2 (0000000012D40520): a shader failed to compile. Its log
>> is:
>>
>> WARNING: 0:89: 'assigning' : implict conversion between types allowed
>> from GLSL 1.20
>>
>> WARNING: 0:143: 'assigning' : implict conversion between types allowed
>> from GLSL 1.20
>>
>> WARNING: 0:159: 'assigning' : implict conversion between types allowed
>> from GLSL 1.20
>>
>> WARNING: 0:196: 'assigning' : implict conversion between types allowed
>> from GLSL 1.20
>>
>> WARNING: 0:207: 'assign' : implicit type conversion allowed from GLSL 1.20
>>
>> ERROR: 0:207: '=' : cannot convert from 'const int' to '3-component
>> vector of float'
>>
>> ERROR: 0:216: 'assign' : cannot convert from '4-component vector of
>> float' to '3-component vector of float'
>>
>> ERROR: 0:217: 'N' : undeclared identifier
>>
>> ERROR: 0:217: 'assign' : cannot convert from '3-component vector of
>> float' to 'float'
>>
>> ERROR: 0:218: 'dot' : no matching overloaded function found (using
>> implicit conversion)
>>
>> ERROR: 0:218: 'assign' : l-value required "d" (can't modify a varying)
>>
>> ERROR: 0:219: 'viewdir' : undeclared identifier
>>
>> ERROR: 0:219: 'assign' : cannot convert from '3-component vector of
>> float' to 'float'
>>
>> ERROR: 0:220: 'vl' : undeclared identifier
>>
>> ERROR: 0:220: 'reflect' : no matching overloaded function found (using
>> implicit conversion)
>>
>> ERROR: 0:221: 's' : undeclared identifier
>>
>> ERROR: 0:222: 'assign' : cannot convert from '4-component vector of
>> float' to '3-component vector of float'
>>
>> WARNING: 0:251: 'assigning' : implict conversion between types allowed
>> from GLSL 1.20
>>
>>
>>
>> . Its source code is:
>>
>>
>> /*=========================================================================
>>
>>
>> Program: Visualization Toolkit
>>
>> Module: Quadrics_fs.glsl
>>
>>
>> Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen
>>
>> All rights reserved.
>>
>> See Copyright.txt or http://www.kitware.com/Copyright.htm for details.
>>
>>
>> This software is distributed WITHOUT ANY WARRANTY; without even
>>
>> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR
>>
>> PURPOSE. See the above copyright notice for more information.
>>
>>
>>
>> =========================================================================*/
>>
>>
>> // .NAME Quadrics_fs.glsl
>>
>> // .SECTION Thanks
>>
>> // <verbatim>
>>
>> //
>>
>> // This file is part of the PointSprites plugin developed and contributed
>> by
>>
>> //
>>
>> // Copyright (c) CSCS - Swiss National Supercomputing Centre
>>
>> // EDF - Electricite de France
>>
>> //
>>
>> // John Biddiscombe, Ugo Varetto (CSCS)
>>
>> // Stephane Ploix (EDF)
>>
>> //
>>
>> // </verbatim>
>>
>>
>> //
>>
>> // IN:
>>
>> // - vertex position
>>
>> // - point size
>>
>> // - ray origin
>>
>> // - perspective flag
>>
>> // - quadric equation coefficients
>>
>> // - color
>>
>> // - viewport (width and height only)
>>
>> // - min point size (pointThreshold)
>>
>> //
>>
>> // OUT:
>>
>> // - fragment color computed from point intersected by ray shot from
>>
>> // viewpoint through point computed from current fragment coordinate
>>
>> // - fragment depth computed by projecting the intersection point into
>> screen
>>
>> // coordinates
>>
>>
>>
>> // OPTIMAL
>>
>> #define ELLIPSOID
>>
>> //#define CYLINDER
>>
>> //#define CONE
>>
>> //#define HYPERBOLOID1
>>
>> //#define HYPERBOLOID2
>>
>> //#define PARABOLOID
>>
>>
>> // SUB OPTIMAL
>>
>> //#define HYPER_PARABOLOID
>>
>>
>> uniform vec2 viewport; // only width and height passed, no origin
>>
>> uniform float pointSizeThreshold; // minimum point size
>>
>>
>> varying vec4 color;
>>
>> varying float a;
>>
>> varying float b;
>>
>> varying float c;
>>
>> varying float d;
>>
>> varying float e;
>>
>> varying float f;
>>
>> varying float g;
>>
>> varying float h;
>>
>> varying float i;
>>
>> varying float j;
>>
>> varying float pointSize;
>>
>> varying float perspective;
>>
>>
>> vec3 raydir; // ray direction in screen space
>>
>> vec3 rayorigin; // ray origin in screen space
>>
>>
>> #ifndef ELLIPSOID
>>
>> varying mat4 Ti;
>>
>> #endif
>>
>>
>> const float FLAT_SHADE_POINT_SIZE = 1.0; //if point size < 1 use flat
>> shading
>>
>>
>> const float FEPS = 0.0001;
>>
>>
>> const float BOUND = 1.0 + FEPS;
>>
>>
>> const vec3 MIN_BOUND = vec3(-BOUND);
>>
>>
>> const vec3 MAX_BOUND = vec3(BOUND);
>>
>>
>>
>> //------------------------------------------------------------------------------
>>
>> // BOUNDS CHECK
>>
>> // in general it makes sense to check only along the z direction for:
>>
>> // - paraboloids
>>
>> // - hyperboloids of one sheet
>>
>> // - cylinders
>>
>> // - cones
>>
>> // and no checking at all is required for ellipsoids
>>
>> #ifndef ELLIPSOID
>>
>> bool InBounds( vec3 P )
>>
>> {
>>
>> vec4 v = Ti * gl_ModelViewMatrixInverse * vec4( P, 1. );
>>
>> #if defined( CYLINDER ) || defined( CONE ) || defined( HYPERBOLOID1 ) ||
>> defined( PARABOLOID )
>>
>> return v.z >= -BOUND && v.z <= BOUND;
>>
>> #else
>>
>> return all( greaterThanEqual( v.xyz, MIN_BOUND ) ) &&
>>
>> all( lessThanEqual( v.xyz, MAX_BOUND ) );
>>
>> #endif
>>
>> }
>>
>> #endif
>>
>>
>> //------------------------------------------------------------------------------
>>
>> // INTERSECTION
>>
>> struct I
>>
>> {
>>
>> vec3 P;
>>
>> vec3 N;
>>
>> float t;
>>
>> };
>>
>>
>> // compute unit normal from gradient
>>
>> vec3 ComputeNormal(vec3 P)
>>
>> {
>>
>> return normalize(vec3(dot(vec4(a, d, e, 1.), vec4(P, g)), // should
>> multiply by 2 for actual gradient
>>
>> dot(vec4(d, b, f, 1.), vec4(P, h)), // should multiply by 2 for actual
>> gradient
>>
>> dot(vec4(e, f, c, 1.), vec4(P, i)) // should multiply by 2 for actual
>> gradient
>>
>> ));
>>
>> }
>>
>>
>> // compute ray quadric intersection; if no intersection occurs I.t is < 0
>>
>> // main axis length and orientation are used to clip the quadric; not
>>
>> // required for closed quadrics (ellipsoids)
>>
>> // | a d e g |
>>
>> // | d b f h |
>>
>> // | e f c i |
>>
>> // | g h i j |
>>
>> // ax^2 + by^2 + cz^2 + 2dxy +2exz + 2fyz + 2gx + 2hy + 2iz + j = 0
>>
>> /// @todo pass vec3(a, b, c), vec3( d, e, f ) and vec3( g, h, i ) instead
>> of single coefficients
>>
>> I ComputeRayQuadricIntersection()
>>
>> {
>>
>> I ip;
>>
>> ip.t = -1.0;
>>
>> vec3 P = rayorigin;
>>
>> vec3 D = raydir;
>>
>> float A = 0.0;
>>
>> float B = 0.0;
>>
>> float C = 0.0;
>>
>> if (bool(perspective))
>>
>> {
>>
>> A = dot(vec3(a, b, c), D * D) + 2. * dot(vec3(d, e, f), D.xxy * D.yzz);
>>
>> B = 2. * dot(vec3(g, h, i), D);
>>
>> C = j;
>>
>> }
>>
>> else
>>
>> {
>>
>> A = c;
>>
>> //B = -2. * dot( vec4( c, e, f, 1. ), vec4( P.zxy, 1. ) );
>>
>> B = -2. * dot(vec4(d, e, f, i), vec4(P.zxy, 1.));
>>
>> C = dot(vec3(a, b, c), P * P) + 2. * (dot(vec3(d, e, f), P.xxy * P.yzz)
>>
>> + dot(vec3(g, h, i), P)) + j;
>>
>> }
>>
>> float delta = B * B - 4. * A * C;
>>
>> if (delta < 0.0)
>>
>> return ip;
>>
>> float d = sqrt(delta);
>>
>> A = 1. / A;
>>
>> A *= 0.5;
>>
>> float t2 = A * (-B + d);
>>
>> float t1 = A * (-B - d);
>>
>> #ifdef ELLIPSOID
>>
>> ip.P = rayorigin + D * min(t1, t2);
>>
>> ip.N = ComputeNormal(ip.P);
>>
>> ip.t = 0.;
>>
>> #else
>>
>> vec3 P1 = rayorigin + D * min( t1, t2 );
>>
>> vec3 P2 = rayorigin + D * max( t1, t2 );
>>
>> if( InBounds( P1 ) )
>>
>> {
>>
>> ip.P = P1;
>>
>> ip.N = ComputeNormal( P1 );
>>
>> ip.t = 0.;
>>
>> }
>>
>> else if( InBounds( P2 ) )
>>
>> {
>>
>> ip.P = P2;
>>
>> ip.N = ComputeNormal( P2 );
>>
>> ip.t = 0.;
>>
>> }
>>
>> #endif
>>
>> return ip;
>>
>> }
>>
>>
>>
>> //------------------------------------------------------------------------------
>>
>> // LIGHTING, standard phong lighting model
>>
>> vec3 lightDir = normalize(vec3(0.1, 0.1, 1.));
>>
>> float kd = 1.0;
>>
>> float ka = 0.01;
>>
>> float ks = .5;
>>
>> float sh = 90.0;
>>
>> vec4 refcolor = vec4(1., 1., 1., 1.);
>>
>> vec4 ComputeColor(vec4 color, vec3 n, vec3 P)
>>
>> {
>>
>> if (pointSize < FLAT_SHADE_POINT_SIZE)
>>
>> return color;
>>
>>
>> vec3 col = (0, 0, 0);
>>
>> vec3 N;
>>
>> float d;
>>
>> vec3 viewdir;
>>
>> float vl;
>>
>> float s;
>>
>>
>> for (int li = 0; li < 4; li++)
>>
>> {
>>
>> lightDir = normalize(gl_LightSource[li].position);
>>
>> N = faceforward(-n, lightDir, n);
>>
>> d = dot(N, lightDir);
>>
>> viewdir = normalize(-P);
>>
>> vl = max(0., dot(reflect(-lightDir, N), viewdir));
>>
>> s = pow(vl, gl_FrontMaterial.shininess);
>>
>> col += gl_FrontMaterial.specular * s * gl_LightSource[li].specular.rgb +
>> kd
>>
>> * d * color.rgb * gl_LightSource[li].diffuse.rgb + ka * color.rgb
>>
>> * gl_LightSource[li].ambient.rgb;
>>
>> }
>>
>>
>> return vec4(col, color.a);
>>
>>
>> }
>>
>>
>>
>> //------------------------------------------------------------------------------
>>
>> // MAIN
>>
>> void propFuncFS(void)
>>
>> {
>>
>> if (pointSize < pointSizeThreshold || color.a <= 0.0)
>>
>> discard;
>>
>> vec3 fc = gl_FragCoord.xyz;
>>
>> fc.xy /= viewport;
>>
>> fc *= 2.0;
>>
>> fc -= 1.0;
>>
>> vec4 p = gl_ProjectionMatrixInverse * vec4(fc, 1.);
>>
>> if (bool(perspective))
>>
>> {
>>
>> // in perspective mode, rayorigin is always at (0, 0, 0)
>>
>> rayorigin = vec3(0., 0., 0.);
>>
>> raydir = vec3(p) / p.w;
>>
>> }
>>
>> else
>>
>> {
>>
>> // in orthographic mode, raydir is always ( 0., 0., -1. );
>>
>> raydir = vec3(0., 0., -1.);
>>
>> rayorigin = vec3(p.x / p.w, p.y / p.w, 0.);
>>
>> }
>>
>> // compute intersection
>>
>> I i = ComputeRayQuadricIntersection();
>>
>> if (i.t < 0.0)
>>
>> discard;
>>
>> // compute color
>>
>> gl_FragColor = ComputeColor(color, i.N, i.P);
>>
>> // update depth by projecting point and updating depth coordinate
>>
>> // the transposed version of the projection matrix is used to
>>
>> // perform vector, matrix row product in one line:
>>
>> // M[2][*] x V = Vt x Mt[*][2] where:
>>
>> // % V is a column vector
>>
>> // % Vt is a row vector
>>
>> // % M is a square matrix
>>
>> // % Mt is the transpose of M
>>
>> float z = dot(vec4(i.P, 1.), gl_ProjectionMatrixTranspose[2]);
>>
>> float w = dot(vec4(i.P, 1.), gl_ProjectionMatrixTranspose[3]);
>>
>> gl_FragDepth = 0.5 * (z / w + 1.0);
>>
>> }
>>
>>
>>
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkOpenGLProperty.cxx,
>> line 415
>>
>> vtkPointSpriteProperty (000000001118DD20): Couldn't build the shader
>> program. At this point , it can be an error in a shader or a driver bug.
>>
>>
>> Cheers,
>>
>> Bruce
>>
>>
>> On Mon, Feb 10, 2014 at 11:51 AM, Aashish Chaudhary <
>> aashish.chaudhary at kitware.com<mailto:aashish.chaudhary at kitware.com>>
>> wrote:
>> Atleast, we need to know what shader its trying to use which is failing
>> to compile on your system (TextureSprite, Quadrics (Attribute or Fixed
>> Radius))
>>
>>
>> On Mon, Feb 10, 2014 at 11:44 AM, Aashish Chaudhary <
>> aashish.chaudhary at kitware.com<mailto:aashish.chaudhary at kitware.com>>
>> wrote:
>> Hi Bruce,
>>
>> Sorry, I thought replied to your email. In the log you sent me, I do see
>> that it is stating that point sprites are supported. If you can put a break
>> point in vtkPointSpriteProperty (at the error line) then we can find out
>> exactly where the error is coming from.
>>
>> - Aashish
>>
>>
>>
>> On Mon, Feb 10, 2014 at 11:14 AM, Bruce Jones <
>> bruce.david.jones at gmail.com<mailto:bruce.david.jones at gmail.com>> wrote:
>> Is there anything else I can do to help debug this problem? It is quite
>> frustrating to not have pointsprite working on this machine.
>>
>> Cheers,
>> Bruce
>>
>>
>> On Sun, Jan 26, 2014 at 6:26 PM, Bruce Jones <bruce.david.jones at gmail.com
>> <mailto:bruce.david.jones at gmail.com>> wrote:
>> Ok, I've attached the output from glview. Everything is supported for
>> OpenGL <=4.2. versions 4.3 and 4.4 are partially supported.
>>
>> Cheers,
>> Bruce
>>
>>
>> On Thu, Jan 23, 2014 at 11:51 AM, Aashish Chaudhary <
>> aashish.chaudhary at kitware.com<mailto:aashish.chaudhary at kitware.com>>
>> wrote:
>> http://www.realtech-vr.com/glview/
>>
>>
>> On Wed, Jan 22, 2014 at 9:35 AM, Bruce Jones <bruce.david.jones at gmail.com
>> <mailto:bruce.david.jones at gmail.com>> wrote:
>> This is windows 8.1, is there a similar utility I can run on windows?
>>
>> Cheers,
>> Bruce
>>
>>
>> On Wed, Jan 22, 2014 at 9:31 AM, Aashish Chaudhary <
>> aashish.chaudhary at kitware.com<mailto:aashish.chaudhary at kitware.com>>
>> wrote:
>> Is this a windows OS or Linux? If Linux can you send us the output of
>> glxinfo (as a starting point to debug this).
>>
>> Thanks,
>>
>>
>>
>> On Wed, Jan 22, 2014 at 8:56 AM, Bruce Jones <bruce.david.jones at gmail.com
>> <mailto:bruce.david.jones at gmail.com>> wrote:
>> When using the PointSprite plugin on a new laptop I found two options
>> cause it to stop working.
>>
>> When changing from "Sphere (texture)" to "Sphere" get the following,
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkOpenGLProperty.cxx,
>> line 415
>>
>> vtkPointSpriteProperty (000000000BD110B0): Couldn't build the shader
>> program. At this point , it can be an error in a shader or a driver bug.
>>
>>
>> I thought this might be due to lack of opengl support for the graphics
>> chip, which comes bundled with the I7-4600u I have. However intel claim it
>> supports up to version 4.2 of OpenGL, so that should be fine...
>>
>>
>> Also, when i choose to scale the point sprite size by values in an array,
>> I get the following error,
>>
>>
>> ERROR: In
>> C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx,
>> line 1084
>>
>> vtkShaderProgram2 (0000000014D4A1A0): glGetAttribLocation 1 OpenGL errors
>> detected
>>
>> 0 : (1281) Invalid value
>>
>>
>> Is there any solution for this?
>>
>>
>> Cheers,
>>
>> Bruce
>>
>> _______________________________________________
>> Powered by www.kitware.com<http://www.kitware.com>
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Please keep messages on-topic and check the ParaView Wiki at:
>> http://paraview.org/Wiki/ParaView
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.paraview.org/mailman/listinfo/paraview
>>
>>
>>
>>
>> --
>> | Aashish Chaudhary
>> | R&D Engineer
>> | Kitware Inc.
>> | www.kitware.com<http://www.kitware.com>
>>
>>
>>
>>
>> --
>> | Aashish Chaudhary
>> | R&D Engineer
>> | Kitware Inc.
>> | www.kitware.com<http://www.kitware.com>
>>
>>
>>
>>
>>
>> --
>> | Aashish Chaudhary
>> | R&D Engineer
>> | Kitware Inc.
>> | www.kitware.com<http://www.kitware.com>
>>
>>
>>
>> --
>> | Aashish Chaudhary
>> | R&D Engineer
>> | Kitware Inc.
>> | www.kitware.com<http://www.kitware.com>
>>
>>
>>
>>
>> --
>> | Aashish Chaudhary
>> | R&D Engineer
>> | Kitware Inc.
>> | www.kitware.com<http://www.kitware.com>
>>
>>
>>
>> --
>> | Aashish Chaudhary
>> | R&D Engineer
>> | Kitware Inc.
>> | www.kitware.com<http://www.kitware.com>
>>
>>
>>
>> --
>> | Aashish Chaudhary
>> | R&D Engineer
>> | Kitware Inc.
>> | www.kitware.com<http://www.kitware.com>
>>
>
>
--
| Aashish Chaudhary
| R&D Engineer
| Kitware Inc.
| www.kitware.com
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.paraview.org/pipermail/paraview/attachments/20140210/d4371c6b/attachment-0001.html>
More information about the ParaView
mailing list