<div dir="ltr">Bruce, <div><br></div><div>In the </div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Feb 10, 2014 at 12:08 PM, Aashish Chaudhary <span dir="ltr"><<a href="mailto:aashish.chaudhary@kitware.com" target="_blank">aashish.chaudhary@kitware.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">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). <div>
<br></div><div>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. </div>
<div><br></div><div>- Aashish</div><div><br></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">On Mon, Feb 10, 2014 at 11:57 AM, Bruce Jones <span dir="ltr"><<a href="mailto:bruce.david.jones@gmail.com" target="_blank">bruce.david.jones@gmail.com</a>></span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div dir="ltr">Hi Aashish,<div><br></div><div>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.</div>


<div><br></div><div>Using PointSprite with Sphere(Texture) and a constant radius works fine.</div><div><br></div><div>Using PointSprite with Sphere(Texture) and a variable radius fails with the following message,</div><div>


<br></div><div><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 530</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520):  the shader program failed to link. Its log is:</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">the shaders are: </span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 540</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520): shader #0/3 (vertex shader) log is:</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">. Its source code is:</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">/*=========================================================================</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Program:   Visualization Toolkit</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Module:    AttributeRadiusHelper.glsl</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  All rights reserved.</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  See Copyright.txt or <a href="http://www.kitware.com/Copyright.htm" target="_blank">http://www.kitware.com/Copyright.htm</a> for details.</span></p>



<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     This software is distributed WITHOUT ANY WARRANTY; without even</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     PURPOSE.  See the above copyright notice for more information.</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">=========================================================================*/</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .NAME AttributeRadiusHelper.glsl</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .SECTION Thanks</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// <verbatim></span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  This file is part of the PointSprites plugin developed and contributed by</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Copyright (c) CSCS - Swiss National Supercomputing Centre</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//                EDF - Electricite de France</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  John Biddiscombe, Ugo Varetto (CSCS)</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Stephane Ploix (EDF)</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// </verbatim></span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">uniform vec2 RadiusSpan;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">attribute float Radius;</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float GetRadius()</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  return RadiusSpan.x + Radius*RadiusSpan.y;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 540</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520): shader #1/3 (vertex shader) log is:</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">. Its source code is:</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">/*=========================================================================</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Program:   Visualization Toolkit</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Module:    Texture_vs.glsl</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  All rights reserved.</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  See Copyright.txt or <a href="http://www.kitware.com/Copyright.htm" target="_blank">http://www.kitware.com/Copyright.htm</a> for details.</span></p>



<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     This software is distributed WITHOUT ANY WARRANTY; without even</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     PURPOSE.  See the above copyright notice for more information.</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">=========================================================================*/</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .NAME Texture_vs.glsl</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .SECTION Thanks</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// <verbatim></span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  This file is part of the PointSprites plugin developed and contributed by</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Copyright (c) CSCS - Swiss National Supercomputing Centre</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//                EDF - Electricite de France</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  John Biddiscombe, Ugo Varetto (CSCS)</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Stephane Ploix (EDF)</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// </verbatim></span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">uniform float MaxPixelSize;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">uniform vec2  viewport;</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float GetRadius();</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">void propFuncVS()</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  float radius = GetRadius();</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  gl_ClipVertex = gl_ModelViewMatrix * gl_Vertex;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  gl_Position   = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  //</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  // Convert position to window coordinates</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  //</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  //</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  // Convert Radius to window coordinates</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  // radius/w is homogenous clip coord</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  //</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  float pixelSize  = (radius/gl_Position.w)*(4.0*viewport.y);</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  // Clamp radius to prevent overloading if bad scalars were passed in</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  if (pixelSize>MaxPixelSize)</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    pixelSize = MaxPixelSize;</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  gl_PointSize  = pixelSize;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  gl_FrontColor = gl_Color;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 540</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520): shader #2/3 (vertex shader) log is:</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">. Its source code is:</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// ============================================================================</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Program:   Visualization Toolkit</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Module:    vtkOpenGLPropertyDefaultMain_vs.glsl</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  All rights reserved.</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  See Copyright.txt or <a href="http://www.kitware.com/Copyright.htm" target="_blank">http://www.kitware.com/Copyright.htm</a> for details.</span></p>



<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//     This software is distributed WITHOUT ANY WARRANTY; without even</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//     PURPOSE.  See the above copyright notice for more information.</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// ============================================================================</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// This is the default vertex shader with the main() function. It is used when</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// no main() is provided at the renderer level and some vertex shader is</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// defined by the user on a property.</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#version 110</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">void propFuncVS();</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">void main()</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  propFuncVS();</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkOpenGLProperty.cxx, line 415</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkPointSpriteProperty (000000001118DD20): Couldn't build the shader program. At this point , it can be an error in a shader or a driver bug.</span></p>



<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 530</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520):  the shader program failed to link. Its log is:</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">the shaders are: </span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 540</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520): shader #0/3 (vertex shader) log is:</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">. Its source code is:</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">/*=========================================================================</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Program:   Visualization Toolkit</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Module:    AttributeRadiusHelper.glsl</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  All rights reserved.</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  See Copyright.txt or <a href="http://www.kitware.com/Copyright.htm" target="_blank">http://www.kitware.com/Copyright.htm</a> for details.</span></p>



<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     This software is distributed WITHOUT ANY WARRANTY; without even</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     PURPOSE.  See the above copyright notice for more information.</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">=========================================================================*/</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .NAME AttributeRadiusHelper.glsl</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .SECTION Thanks</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// <verbatim></span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  This file is part of the PointSprites plugin developed and contributed by</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Copyright (c) CSCS - Swiss National Supercomputing Centre</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//                EDF - Electricite de France</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  John Biddiscombe, Ugo Varetto (CSCS)</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Stephane Ploix (EDF)</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// </verbatim></span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">uniform vec2 RadiusSpan;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">attribute float Radius;</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float GetRadius()</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  return RadiusSpan.x + Radius*RadiusSpan.y;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 540</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520): shader #1/3 (vertex shader) log is:</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">. Its source code is:</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">/*=========================================================================</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Program:   Visualization Toolkit</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Module:    Texture_vs.glsl</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  All rights reserved.</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  See Copyright.txt or <a href="http://www.kitware.com/Copyright.htm" target="_blank">http://www.kitware.com/Copyright.htm</a> for details.</span></p>



<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     This software is distributed WITHOUT ANY WARRANTY; without even</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     PURPOSE.  See the above copyright notice for more information.</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">=========================================================================*/</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .NAME Texture_vs.glsl</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .SECTION Thanks</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// <verbatim></span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  This file is part of the PointSprites plugin developed and contributed by</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Copyright (c) CSCS - Swiss National Supercomputing Centre</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//                EDF - Electricite de France</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  John Biddiscombe, Ugo Varetto (CSCS)</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Stephane Ploix (EDF)</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// </verbatim></span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">uniform float MaxPixelSize;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">uniform vec2  viewport;</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float GetRadius();</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">void propFuncVS()</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  float radius = GetRadius();</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  gl_ClipVertex = gl_ModelViewMatrix * gl_Vertex;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  gl_Position   = gl_ProjectionMatrix * gl_ModelViewMatrix * gl_Vertex;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  //</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  // Convert position to window coordinates</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  //</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  //</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  // Convert Radius to window coordinates</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  // radius/w is homogenous clip coord</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  //</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  float pixelSize  = (radius/gl_Position.w)*(4.0*viewport.y);</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  // Clamp radius to prevent overloading if bad scalars were passed in</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  if (pixelSize>MaxPixelSize)</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    pixelSize = MaxPixelSize;</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  gl_PointSize  = pixelSize;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  gl_FrontColor = gl_Color;</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 540</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520): shader #2/3 (vertex shader) log is:</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">. Its source code is:</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// ============================================================================</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Program:   Visualization Toolkit</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Module:    vtkOpenGLPropertyDefaultMain_vs.glsl</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  All rights reserved.</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  See Copyright.txt or <a href="http://www.kitware.com/Copyright.htm" target="_blank">http://www.kitware.com/Copyright.htm</a> for details.</span></p>



<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//     This software is distributed WITHOUT ANY WARRANTY; without even</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//     the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//     PURPOSE.  See the above copyright notice for more information.</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// ============================================================================</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// This is the default vertex shader with the main() function. It is used when</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// no main() is provided at the renderer level and some vertex shader is</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// defined by the user on a property.</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#version 110</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">void propFuncVS();</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">void main()</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  propFuncVS();</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkOpenGLProperty.cxx, line 415</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkPointSpriteProperty (000000001118DD20): Couldn't build the shader program. At this point , it can be an error in a shader or a driver bug.</span></p>



<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 1084</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520): glGetAttribLocation 1 OpenGL errors detected</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  0 : (1281) Invalid value</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 1084</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520): glGetAttribLocation 1 OpenGL errors detected</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  0 : (1281) Invalid value</span></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 1084</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520): glGetAttribLocation 1 OpenGL errors detected</span></p>
<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  0 : (1281) Invalid value</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br>


</span></p><p style="margin:0px">Using PointSprite with Sphere and a constant radius fails with the following message,<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></span></p><p style="margin:0px">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 481</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520):  a shader failed to compile. Its log is:</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:89: 'assigning' : implict conversion between types allowed from GLSL 1.20 </span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:143: 'assigning' : implict conversion between types allowed from GLSL 1.20 </span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:159: 'assigning' : implict conversion between types allowed from GLSL 1.20 </span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:196: 'assigning' : implict conversion between types allowed from GLSL 1.20 </span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:207: 'assign' : implicit type conversion allowed from GLSL 1.20 </span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:207: '=' :  cannot convert from 'const int' to '3-component vector of float'</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:216: 'assign' :  cannot convert from '4-component vector of float' to '3-component vector of float'</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:217: 'N' : undeclared identifier </span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:217: 'assign' :  cannot convert from '3-component vector of float' to 'float'</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:218: 'dot' : no matching overloaded function found (using implicit conversion) </span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:218: 'assign' :  l-value required "d" (can't modify a varying)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:219: 'viewdir' : undeclared identifier </span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:219: 'assign' :  cannot convert from '3-component vector of float' to 'float'</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:220: 'vl' : undeclared identifier </span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:220: 'reflect' : no matching overloaded function found (using implicit conversion) </span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:221: 's' : undeclared identifier </span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:222: 'assign' :  cannot convert from '4-component vector of float' to '3-component vector of float'</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:251: 'assigning' : implict conversion between types allowed from GLSL 1.20 </span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">. Its source code is:</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">/*=========================================================================</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> Program:   Visualization Toolkit</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> Module:    Quadrics_fs.glsl</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> All rights reserved.</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> See Copyright.txt or <a href="http://www.kitware.com/Copyright.htm" target="_blank">http://www.kitware.com/Copyright.htm</a> for details.</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> This software is distributed WITHOUT ANY WARRANTY; without even</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> PURPOSE.  See the above copyright notice for more information.</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> =========================================================================*/</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .NAME Quadrics_fs.glsl</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .SECTION Thanks</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// <verbatim></span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  This file is part of the PointSprites plugin developed and contributed by</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Copyright (c) CSCS - Swiss National Supercomputing Centre</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//                EDF - Electricite de France</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  John Biddiscombe, Ugo Varetto (CSCS)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Stephane Ploix (EDF)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// </verbatim></span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// IN:</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - vertex position</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - point size</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - ray origin</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - perspective flag</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - quadric equation coefficients</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - color</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - viewport (width and height only)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - min point size (pointThreshold)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// OUT:</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - fragment color computed from point intersected by ray shot from</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//     viewpoint through point computed from current fragment coordinate</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - fragment depth computed by projecting the intersection point into screen</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//     coordinates</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// OPTIMAL</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#define ELLIPSOID</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define CYLINDER</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define CONE</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define HYPERBOLOID1</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define HYPERBOLOID2</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define PARABOLOID</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// SUB OPTIMAL</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define HYPER_PARABOLOID</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">uniform vec2 viewport; // only width and height passed, no origin</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">uniform float pointSizeThreshold; // minimum point size</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying vec4 color;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float a;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float b;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float c;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float d;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float e;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float f;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float g;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float h;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float i;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float j;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float pointSize;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float perspective;</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec3 raydir; // ray direction in screen space</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec3 rayorigin; // ray origin in screen space</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#ifndef ELLIPSOID</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying mat4 Ti;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#endif</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">const float FLAT_SHADE_POINT_SIZE = 1.0; //if point size < 1 use flat shading</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">const float FEPS = 0.0001;</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">const float BOUND = 1.0 + FEPS;</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>

<p style="margin:0px">
<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">const vec3 MIN_BOUND = vec3(-BOUND);</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">const vec3 MAX_BOUND = vec3(BOUND);</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//------------------------------------------------------------------------------</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// BOUNDS CHECK</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// in general it makes sense to check only along the z direction for:</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// - paraboloids</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// - hyperboloids of one sheet</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// - cylinders</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// - cones</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// and no checking at all is required for ellipsoids</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#ifndef ELLIPSOID</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">bool InBounds( vec3 P )</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    vec4 v = Ti * gl_ModelViewMatrixInverse * vec4( P, 1. );</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#if defined( CYLINDER ) || defined( CONE ) || defined( HYPERBOLOID1 ) || defined( PARABOLOID )</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">   return v.z >= -BOUND && v.z <= BOUND;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#else</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    return all( greaterThanEqual( v.xyz, MIN_BOUND ) ) &&</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    all( lessThanEqual( v.xyz, MAX_BOUND ) );</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#endif</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#endif</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//------------------------------------------------------------------------------</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// INTERSECTION</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">struct I</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 P;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">      vec3 N;</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  float t;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">};</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// compute unit normal from gradient</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec3 ComputeNormal(vec3 P)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        return normalize(vec3(dot(vec4(a, d, e, 1.), vec4(P, g)), // should multiply by 2 for actual gradient</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                    dot(vec4(d, b, f, 1.), vec4(P, h)), // should multiply by 2 for actual gradient</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                      dot(vec4(e, f, c, 1.), vec4(P, i)) // should multiply by 2 for actual gradient</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                    ));</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// compute ray quadric intersection; if no intersection occurs I.t is < 0</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// main axis length and orientation are used to clip the quadric; not</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// required for closed quadrics (ellipsoids)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// | a d e g |</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// | d b f h |</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// | e f c i |</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// | g h i j |</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// ax^2 + by^2 + cz^2 + 2dxy +2exz + 2fyz + 2gx + 2hy + 2iz + j = 0</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">/// @todo pass vec3(a, b, c), vec3( d, e, f ) and vec3( g, h, i ) instead of single coefficients</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">I ComputeRayQuadricIntersection()</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  I ip;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        ip.t = -1.0;</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 P = rayorigin;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 D = raydir;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    float A = 0.0;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">       float B = 0.0;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    float C = 0.0;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">       if (bool(perspective))</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            A = dot(vec3(a, b, c), D * D) + 2. * dot(vec3(d, e, f), D.xxy * D.yzz);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            B = 2. * dot(vec3(g, h, i), D);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">              C = j;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    else</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            A = c;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">               //B = -2. * dot(  vec4( c, e, f, 1. ), vec4( P.zxy, 1. ) );</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            B = -2. * dot(vec4(d, e, f, i), vec4(P.zxy, 1.));</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            C = dot(vec3(a, b, c), P * P) + 2. * (dot(vec3(d, e, f), P.xxy * P.yzz)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                            + dot(vec3(g, h, i), P)) + j;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                }</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    float delta = B * B - 4. * A * C;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    if (delta < 0.0)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            return ip;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">   float d = sqrt(delta);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    A = 1. / A;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  A *= 0.5;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    float t2 = A * (-B + d);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     float t1 = A * (-B - d);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#ifdef ELLIPSOID</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> ip.P = rayorigin + D * min(t1, t2);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    ip.N = ComputeNormal(ip.P);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  ip.t = 0.;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#else</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    vec3 P1 = rayorigin + D * min( t1, t2 );</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    vec3 P2 = rayorigin + D * max( t1, t2 );</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     if( InBounds( P1 ) )</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            ip.P = P1;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            ip.N = ComputeNormal( P1 );</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          ip.t = 0.;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    else if( InBounds( P2 ) )</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            ip.P = P2;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            ip.N = ComputeNormal( P2 );</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          ip.t = 0.;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#endif</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  return ip;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//------------------------------------------------------------------------------</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// LIGHTING, standard phong lighting model</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec3 lightDir = normalize(vec3(0.1, 0.1, 1.));</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float kd = 1.0;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float ka = 0.01;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float ks = .5;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float sh = 90.0;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec4 refcolor = vec4(1., 1., 1., 1.);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec4 ComputeColor(vec4 color, vec3 n, vec3 P)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    if (pointSize < FLAT_SHADE_POINT_SIZE)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            return color;</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 col = (0, 0, 0);</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 N;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">      float d;</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 viewdir;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        float vl;</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  float s;</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">   for (int li = 0; li < 4; li++)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            lightDir = normalize(gl_LightSource[li].position);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            N = faceforward(-n, lightDir, n);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            d = dot(N, lightDir);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            viewdir = normalize(-P);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">             vl = max(0., dot(reflect(-lightDir, N), viewdir));</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            s = pow(vl, gl_FrontMaterial.shininess);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">             col += gl_FrontMaterial.specular * s * gl_LightSource[li].specular.rgb + kd</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                            * d * color.rgb * gl_LightSource[li].diffuse.rgb + ka * color.rgb</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                            * gl_LightSource[li].ambient.rgb;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  return vec4(col, color.a);</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//------------------------------------------------------------------------------</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// MAIN</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">void propFuncFS(void)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    if (pointSize < pointSizeThreshold || color.a <= 0.0)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          discard;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    vec3 fc = gl_FragCoord.xyz;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  fc.xy /= viewport;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    fc *= 2.0;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">   fc -= 1.0;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    vec4 p = gl_ProjectionMatrixInverse * vec4(fc, 1.);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  if (bool(perspective))</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            // in perspective mode, rayorigin is always at (0, 0, 0)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            rayorigin = vec3(0., 0., 0.);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                raydir = vec3(p) / p.w;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    else</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            // in orthographic mode, raydir is always ( 0., 0., -1. );</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            raydir = vec3(0., 0., -1.);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          rayorigin = vec3(p.x / p.w, p.y / p.w, 0.);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    // compute intersection</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    I i = ComputeRayQuadricIntersection();</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">       if (i.t < 0.0)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            discard;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     // compute color</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    gl_FragColor = ComputeColor(color, i.N, i.P);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        // update depth by projecting point and updating depth coordinate</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    // the transposed version of the projection matrix is used to</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        // perform vector, matrix row product in one line:</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    // M[2][*] x V = Vt x Mt[*][2] where:</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        //   % V  is a column vector</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    //   % Vt is a row vector</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    //   % M is a square matrix</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    //   % Mt is the transpose of M</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">      float z = dot(vec4(i.P, 1.), gl_ProjectionMatrixTranspose[2]);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    float w = dot(vec4(i.P, 1.), gl_ProjectionMatrixTranspose[3]);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">       gl_FragDepth = 0.5 * (z / w + 1.0);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkOpenGLProperty.cxx, line 415</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkPointSpriteProperty (000000001118DD20): Couldn't build the shader program. At this point , it can be an error in a shader or a driver bug.</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 481</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkShaderProgram2 (0000000012D40520):  a shader failed to compile. Its log is:</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:89: 'assigning' : implict conversion between types allowed from GLSL 1.20 </span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:143: 'assigning' : implict conversion between types allowed from GLSL 1.20 </span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:159: 'assigning' : implict conversion between types allowed from GLSL 1.20 </span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:196: 'assigning' : implict conversion between types allowed from GLSL 1.20 </span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:207: 'assign' : implicit type conversion allowed from GLSL 1.20 </span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:207: '=' :  cannot convert from 'const int' to '3-component vector of float'</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:216: 'assign' :  cannot convert from '4-component vector of float' to '3-component vector of float'</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:217: 'N' : undeclared identifier </span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:217: 'assign' :  cannot convert from '3-component vector of float' to 'float'</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:218: 'dot' : no matching overloaded function found (using implicit conversion) </span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:218: 'assign' :  l-value required "d" (can't modify a varying)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:219: 'viewdir' : undeclared identifier </span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:219: 'assign' :  cannot convert from '3-component vector of float' to 'float'</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:220: 'vl' : undeclared identifier </span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:220: 'reflect' : no matching overloaded function found (using implicit conversion) </span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:221: 's' : undeclared identifier </span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: 0:222: 'assign' :  cannot convert from '4-component vector of float' to '3-component vector of float'</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">WARNING: 0:251: 'assigning' : implict conversion between types allowed from GLSL 1.20 </span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">. Its source code is:</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">/*=========================================================================</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> Program:   Visualization Toolkit</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> Module:    Quadrics_fs.glsl</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> Copyright (c) Ken Martin, Will Schroeder, Bill Lorensen</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> All rights reserved.</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> See Copyright.txt or <a href="http://www.kitware.com/Copyright.htm" target="_blank">http://www.kitware.com/Copyright.htm</a> for details.</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> This software is distributed WITHOUT ANY WARRANTY; without even</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> PURPOSE.  See the above copyright notice for more information.</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> =========================================================================*/</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .NAME Quadrics_fs.glsl</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// .SECTION Thanks</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// <verbatim></span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  This file is part of the PointSprites plugin developed and contributed by</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Copyright (c) CSCS - Swiss National Supercomputing Centre</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//                EDF - Electricite de France</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  John Biddiscombe, Ugo Varetto (CSCS)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//  Stephane Ploix (EDF)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// </verbatim></span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// IN:</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - vertex position</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - point size</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - ray origin</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - perspective flag</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - quadric equation coefficients</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - color</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - viewport (width and height only)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - min point size (pointThreshold)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// OUT:</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - fragment color computed from point intersected by ray shot from</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//     viewpoint through point computed from current fragment coordinate</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//   - fragment depth computed by projecting the intersection point into screen</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//     coordinates</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// OPTIMAL</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#define ELLIPSOID</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define CYLINDER</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define CONE</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define HYPERBOLOID1</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define HYPERBOLOID2</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define PARABOLOID</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// SUB OPTIMAL</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//#define HYPER_PARABOLOID</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">uniform vec2 viewport; // only width and height passed, no origin</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">uniform float pointSizeThreshold; // minimum point size</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying vec4 color;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float a;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float b;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float c;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float d;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float e;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float f;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float g;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float h;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float i;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float j;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float pointSize;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying float perspective;</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec3 raydir; // ray direction in screen space</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec3 rayorigin; // ray origin in screen space</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#ifndef ELLIPSOID</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">varying mat4 Ti;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#endif</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">const float FLAT_SHADE_POINT_SIZE = 1.0; //if point size < 1 use flat shading</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">const float FEPS = 0.0001;</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">const float BOUND = 1.0 + FEPS;</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p>

<p style="margin:0px">
<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">const vec3 MIN_BOUND = vec3(-BOUND);</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">const vec3 MAX_BOUND = vec3(BOUND);</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//------------------------------------------------------------------------------</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// BOUNDS CHECK</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// in general it makes sense to check only along the z direction for:</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// - paraboloids</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// - hyperboloids of one sheet</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// - cylinders</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// - cones</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// and no checking at all is required for ellipsoids</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#ifndef ELLIPSOID</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">bool InBounds( vec3 P )</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    vec4 v = Ti * gl_ModelViewMatrixInverse * vec4( P, 1. );</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#if defined( CYLINDER ) || defined( CONE ) || defined( HYPERBOLOID1 ) || defined( PARABOLOID )</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">   return v.z >= -BOUND && v.z <= BOUND;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#else</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    return all( greaterThanEqual( v.xyz, MIN_BOUND ) ) &&</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    all( lessThanEqual( v.xyz, MAX_BOUND ) );</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#endif</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#endif</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//------------------------------------------------------------------------------</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// INTERSECTION</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">struct I</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 P;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">      vec3 N;</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  float t;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">};</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// compute unit normal from gradient</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec3 ComputeNormal(vec3 P)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        return normalize(vec3(dot(vec4(a, d, e, 1.), vec4(P, g)), // should multiply by 2 for actual gradient</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                    dot(vec4(d, b, f, 1.), vec4(P, h)), // should multiply by 2 for actual gradient</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                      dot(vec4(e, f, c, 1.), vec4(P, i)) // should multiply by 2 for actual gradient</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                    ));</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// compute ray quadric intersection; if no intersection occurs I.t is < 0</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// main axis length and orientation are used to clip the quadric; not</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// required for closed quadrics (ellipsoids)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// | a d e g |</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// | d b f h |</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// | e f c i |</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// | g h i j |</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// ax^2 + by^2 + cz^2 + 2dxy +2exz + 2fyz + 2gx + 2hy + 2iz + j = 0</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">/// @todo pass vec3(a, b, c), vec3( d, e, f ) and vec3( g, h, i ) instead of single coefficients</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">I ComputeRayQuadricIntersection()</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  I ip;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        ip.t = -1.0;</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 P = rayorigin;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 D = raydir;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    float A = 0.0;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">       float B = 0.0;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    float C = 0.0;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">       if (bool(perspective))</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            A = dot(vec3(a, b, c), D * D) + 2. * dot(vec3(d, e, f), D.xxy * D.yzz);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            B = 2. * dot(vec3(g, h, i), D);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">              C = j;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    else</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            A = c;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">               //B = -2. * dot(  vec4( c, e, f, 1. ), vec4( P.zxy, 1. ) );</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            B = -2. * dot(vec4(d, e, f, i), vec4(P.zxy, 1.));</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            C = dot(vec3(a, b, c), P * P) + 2. * (dot(vec3(d, e, f), P.xxy * P.yzz)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                            + dot(vec3(g, h, i), P)) + j;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                }</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    float delta = B * B - 4. * A * C;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    if (delta < 0.0)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            return ip;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">   float d = sqrt(delta);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    A = 1. / A;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  A *= 0.5;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    float t2 = A * (-B + d);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     float t1 = A * (-B - d);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#ifdef ELLIPSOID</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"> ip.P = rayorigin + D * min(t1, t2);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    ip.N = ComputeNormal(ip.P);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  ip.t = 0.;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#else</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    vec3 P1 = rayorigin + D * min( t1, t2 );</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    vec3 P2 = rayorigin + D * max( t1, t2 );</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     if( InBounds( P1 ) )</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            ip.P = P1;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            ip.N = ComputeNormal( P1 );</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          ip.t = 0.;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    else if( InBounds( P2 ) )</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            ip.P = P2;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            ip.N = ComputeNormal( P2 );</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          ip.t = 0.;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">#endif</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  return ip;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//------------------------------------------------------------------------------</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// LIGHTING, standard phong lighting model</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec3 lightDir = normalize(vec3(0.1, 0.1, 1.));</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float kd = 1.0;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float ka = 0.01;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float ks = .5;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">float sh = 90.0;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec4 refcolor = vec4(1., 1., 1., 1.);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vec4 ComputeColor(vec4 color, vec3 n, vec3 P)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    if (pointSize < FLAT_SHADE_POINT_SIZE)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            return color;</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 col = (0, 0, 0);</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 N;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">      float d;</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  vec3 viewdir;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        float vl;</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  float s;</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">   for (int li = 0; li < 4; li++)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            lightDir = normalize(gl_LightSource[li].position);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            N = faceforward(-n, lightDir, n);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            d = dot(N, lightDir);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            viewdir = normalize(-P);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">             vl = max(0., dot(reflect(-lightDir, N), viewdir));</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            s = pow(vl, gl_FrontMaterial.shininess);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">             col += gl_FrontMaterial.specular * s * gl_LightSource[li].specular.rgb + kd</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                            * d * color.rgb * gl_LightSource[li].diffuse.rgb + ka * color.rgb</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                            * gl_LightSource[li].ambient.rgb;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  return vec4(col, color.a);</span></p>


<p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">//------------------------------------------------------------------------------</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">// MAIN</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">void propFuncFS(void)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">{</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    if (pointSize < pointSizeThreshold || color.a <= 0.0)</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          discard;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    vec3 fc = gl_FragCoord.xyz;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  fc.xy /= viewport;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    fc *= 2.0;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">   fc -= 1.0;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    vec4 p = gl_ProjectionMatrixInverse * vec4(fc, 1.);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">  if (bool(perspective))</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            // in perspective mode, rayorigin is always at (0, 0, 0)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            rayorigin = vec3(0., 0., 0.);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">                raydir = vec3(p) / p.w;</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    else</span></p><p style="margin:0px">


<span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          {</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            // in orthographic mode, raydir is always ( 0., 0., -1. );</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            raydir = vec3(0., 0., -1.);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">          rayorigin = vec3(p.x / p.w, p.y / p.w, 0.);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            }</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    // compute intersection</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    I i = ComputeRayQuadricIntersection();</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">       if (i.t < 0.0)</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">            discard;</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">     // compute color</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    gl_FragColor = ComputeColor(color, i.N, i.P);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        // update depth by projecting point and updating depth coordinate</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    // the transposed version of the projection matrix is used to</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        // perform vector, matrix row product in one line:</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    // M[2][*] x V = Vt x Mt[*][2] where:</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">        //   % V  is a column vector</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    //   % Vt is a row vector</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    //   % M is a square matrix</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    //   % Mt is the transpose of M</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">      float z = dot(vec4(i.P, 1.), gl_ProjectionMatrixTranspose[2]);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">    float w = dot(vec4(i.P, 1.), gl_ProjectionMatrixTranspose[3]);</span></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">       gl_FragDepth = 0.5 * (z / w + 1.0);</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">}</span></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">


<br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkOpenGLProperty.cxx, line 415</span></p>


<p style="margin:0px"><span style="font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)">vtkPointSpriteProperty (000000001118DD20): Couldn't build the shader program. At this point , it can be an error in a shader or a driver bug.</span></p>


<p style="margin:0px">

























































































































































































































































































































































































































































































































































































































</p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><br></p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><span style="color:rgb(34,34,34);font-family:arial;font-size:small">Cheers,</span><br>


</p><p style="margin:0px;font-family:Courier;font-size:8.25pt;color:rgb(128,0,0)"><span style="color:rgb(34,34,34);font-family:arial;font-size:small">Bruce</span></p></div></div><div class="gmail_extra"><br><br><div class="gmail_quote">


On Mon, Feb 10, 2014 at 11:51 AM, Aashish Chaudhary <span dir="ltr"><<a href="mailto:aashish.chaudhary@kitware.com" target="_blank">aashish.chaudhary@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">


<div dir="ltr">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))</div><div><div><div class="gmail_extra">
<br><br><div class="gmail_quote">
On Mon, Feb 10, 2014 at 11:44 AM, Aashish Chaudhary <span dir="ltr"><<a href="mailto:aashish.chaudhary@kitware.com" target="_blank">aashish.chaudhary@kitware.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">



<div dir="ltr"><font size="4" face="garamond, serif">Hi Bruce, </font><div><font size="4" face="garamond, serif"><br></font></div><div><font size="4" face="garamond, serif">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. </font></div>



<span><font color="#888888">
<div><font size="4" face="garamond, serif"><br></font></div><div><font size="4" face="garamond, serif">- Aashish</font></div></font></span><div><div><div><font size="4" face="garamond, serif"><br></font></div>
<div class="gmail_extra"><font size="4" face="garamond, serif"><br>
<br></font><div class="gmail_quote"><font size="4" face="garamond, serif">On Mon, Feb 10, 2014 at 11:14 AM, Bruce Jones <span dir="ltr"><<a href="mailto:bruce.david.jones@gmail.com" target="_blank">bruce.david.jones@gmail.com</a>></span> wrote:<br>




</font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><font size="4" face="garamond, serif">Is there anything else I can do to help debug this problem? It is quite frustrating to not have pointsprite working on this machine.</font><div>




<font size="4" face="garamond, serif"><br></font></div><div><font size="4" face="garamond, serif">Cheers,</font></div><div><font size="4" face="garamond, serif">Bruce</font></div></div><div><div><div class="gmail_extra">





<font size="4" face="garamond, serif"><br><br></font><div class="gmail_quote"><font size="4" face="garamond, serif">On Sun, Jan 26, 2014 at 6:26 PM, Bruce Jones <span dir="ltr"><<a href="mailto:bruce.david.jones@gmail.com" target="_blank">bruce.david.jones@gmail.com</a>></span> wrote:<br>




</font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">
<div dir="ltr"><font size="4" face="garamond, serif">Ok, I've attached the output from glview. Everything is supported for OpenGL <=4.2. versions 4.3 and 4.4 are partially supported.</font><div><font size="4" face="garamond, serif"><br>




</font></div><div><font size="4" face="garamond, serif">Cheers,</font></div><div><font size="4" face="garamond, serif">Bruce</font></div></div><div>
<div><div class="gmail_extra">
<font size="4" face="garamond, serif"><br><br></font><div class="gmail_quote"><font size="4" face="garamond, serif">On Thu, Jan 23, 2014 at 11:51 AM, Aashish Chaudhary <span dir="ltr"><<a href="mailto:aashish.chaudhary@kitware.com" target="_blank">aashish.chaudhary@kitware.com</a>></span> wrote:<br>






</font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><font size="4" face="garamond, serif"><a href="http://www.realtech-vr.com/glview/" target="_blank">http://www.realtech-vr.com/glview/</a><br>





</font></div>
<div><div><div class="gmail_extra"><font size="4" face="garamond, serif"><br><br></font><div class="gmail_quote"><font size="4" face="garamond, serif">On Wed, Jan 22, 2014 at 9:35 AM, Bruce Jones <span dir="ltr"><<a href="mailto:bruce.david.jones@gmail.com" target="_blank">bruce.david.jones@gmail.com</a>></span> wrote:<br>







</font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><font size="4" face="garamond, serif">This is windows 8.1, is there a similar utility I can run on windows?</font><div>




<font size="4" face="garamond, serif"><br></font></div><div><font size="4" face="garamond, serif">Cheers,</font></div><div><font size="4" face="garamond, serif">


Bruce</font></div></div><div><div><div class="gmail_extra"><font size="4" face="garamond, serif"><br><br></font><div class="gmail_quote"><font size="4" face="garamond, serif">On Wed, Jan 22, 2014 at 9:31 AM, Aashish Chaudhary <span dir="ltr"><<a href="mailto:aashish.chaudhary@kitware.com" target="_blank">aashish.chaudhary@kitware.com</a>></span> wrote:<br>








</font><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><font size="4" face="garamond, serif">Is this a windows OS or Linux? If Linux can you send us the output of glxinfo (as a starting point to debug this). </font><div>








<font size="4" face="garamond, serif"><br></font></div><div><font size="4" face="garamond, serif">Thanks,</font></div><div><font size="4" face="garamond, serif"><br></font></div></div><div class="gmail_extra"><font size="4" face="garamond, serif"><br>




<br></font><div class="gmail_quote"><div><div><font size="4" face="garamond, serif">
On Wed, Jan 22, 2014 at 8:56 AM, Bruce Jones <span dir="ltr"><<a href="mailto:bruce.david.jones@gmail.com" target="_blank">bruce.david.jones@gmail.com</a>></span> wrote:<br></font></div></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex">








<div><div>
<div dir="ltr"><font size="4" face="garamond, serif">When using the PointSprite plugin on a new laptop I found two options cause it to stop working.</font><div><font size="4" face="garamond, serif"><br></font></div><div>




<font size="4" face="garamond, serif">When changing from "Sphere (texture)" to "Sphere"  get the following,</font></div>





<div><font size="4" face="garamond, serif"><br></font></div><div><p style="margin:0px"><span style="color:rgb(128,0,0)"><font size="4" face="garamond, serif">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkOpenGLProperty.cxx, line 415</font></span></p>











<p style="margin:0px"><span style="color:rgb(128,0,0)"><font size="4" face="garamond, serif">vtkPointSpriteProperty (000000000BD110B0): Couldn't build the shader program. At this point , it can be an error in a shader or a driver bug.</font></span></p>










<p style="margin:0px"><span style="color:rgb(128,0,0)"><font size="4" face="garamond, serif"><br></font></span></p><p style="margin:0px"><font size="4" face="garamond, serif">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...<span style="color:rgb(128,0,0)"><br>










</span></font></p><p style="margin:0px"><font size="4" face="garamond, serif"><br></font></p><p style="margin:0px"><font size="4" face="garamond, serif">Also, when i choose to scale the point sprite size by values in an array, I get the following error,</font></p>




<p style="margin:0px"><font size="4" face="garamond, serif"><br></font></p><p style="margin:0px"><span style="color:rgb(128,0,0)"><font size="4" face="garamond, serif">ERROR: In C:\DBD\pvs-x64\paraview\src\paraview\VTK\Rendering\OpenGL\vtkShaderProgram2.cxx, line 1084</font></span></p>










<p style="margin:0px"><span style="color:rgb(128,0,0)"><font size="4" face="garamond, serif">vtkShaderProgram2 (0000000014D4A1A0): glGetAttribLocation 1 OpenGL errors detected</font></span></p><p style="margin:0px">

</p><p style="margin:0px"><span style="color:rgb(128,0,0)"><font size="4" face="garamond, serif">  0 : (1281) Invalid value</font></span></p><p style="margin:0px"><span style="color:rgb(128,0,0)"><font size="4" face="garamond, serif"><br>










</font></span></p><p style="margin:0px"><font size="4" face="garamond, serif">Is there any solution for this?<span style="color:rgb(128,0,0)"><br></span></font></p><p style="margin:0px"><font size="4" face="garamond, serif"><br>




</font></p><p style="margin:0px"><font size="4" face="garamond, serif">Cheers,</font></p><p style="margin:0px"><font size="4" face="garamond, serif">





Bruce</font></p></div></div>
<font size="4" face="garamond, serif"><br></font></div></div><font size="4" face="garamond, serif">_______________________________________________<br>
Powered by <a href="http://www.kitware.com" target="_blank">www.kitware.com</a><br>
<br>
Visit other Kitware open-source projects at <a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>
<br>
Please keep messages on-topic and check the ParaView Wiki at: <a href="http://paraview.org/Wiki/ParaView" target="_blank">http://paraview.org/Wiki/ParaView</a><br>
<br>
Follow this link to subscribe/unsubscribe:<br>
<a href="http://www.paraview.org/mailman/listinfo/paraview" target="_blank">http://www.paraview.org/mailman/listinfo/paraview</a><br>
<br></font></blockquote></div><span><font color="#888888" size="4" face="garamond, serif"><br><br clear="all"><div><br></div>-- <br>| Aashish Chaudhary <br>| R&D Engineer         <br>| Kitware Inc.            <br>| <a href="http://www.kitware.com" target="_blank">www.kitware.com</a>    
</font></span></div>
</blockquote></div><font size="4" face="garamond, serif"><br></font></div>
</div></div></blockquote></div><font size="4" face="garamond, serif"><br><br clear="all"></font><div><font size="4" face="garamond, serif"><br></font></div><font size="4" face="garamond, serif">-- <br>| Aashish Chaudhary <br>




| R&D Engineer         <br>| Kitware Inc.            <br>| <a href="http://www.kitware.com" target="_blank">www.kitware.com</a>    
</font></div>
</div></div></blockquote></div><font size="4" face="garamond, serif"><br></font></div>
</div></div></blockquote></div><font size="4" face="garamond, serif"><br></font></div>
</div></div></blockquote></div><font size="4" face="garamond, serif"><br><br clear="all"></font><span><font color="#888888"><div><font size="4" face="garamond, serif"><br></font></div><font size="4" face="garamond, serif">-- <br>

| Aashish Chaudhary <br>


| R&D Engineer         <br>| Kitware Inc.            <br>| <a href="http://www.kitware.com" target="_blank">www.kitware.com</a>    
</font></font></span></div></div></div></div><span><font color="#888888">
</font></span></blockquote></div><span><font color="#888888"><br><br clear="all"><span class="HOEnZb"><font color="#888888"><div><br></div>-- <br>| Aashish Chaudhary <br>| R&D Engineer         <br>| Kitware Inc.            <br>
| <a href="http://www.kitware.com" target="_blank">www.kitware.com</a>    
</font></span></font></span></div><span class="HOEnZb"><font color="#888888">
</font></span></div></div></blockquote></div><span class="HOEnZb"><font color="#888888"><br></font></span></div><span class="HOEnZb"><font color="#888888">
</font></span></blockquote></div><span class="HOEnZb"><font color="#888888"><br><br clear="all"><div><br></div>-- <br>| Aashish Chaudhary <br>| R&D Engineer         <br>| Kitware Inc.            <br>| <a href="http://www.kitware.com" target="_blank">www.kitware.com</a>    
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>| Aashish Chaudhary <br>| R&D Engineer         <br>| Kitware Inc.            <br>| <a href="http://www.kitware.com">www.kitware.com</a>    
</div>