[vtkusers] Error in vtkOpenGLGPUVolumeRayCastMapper.cxx, continued

Richard Frank rickfrank at me.com
Mon Apr 4 10:47:39 EDT 2016


Hi,

Here is a portion of code:


volumeProperty->SetColor(0, colorTransferFunction);
volumeProperty->SetColor(1, maskColorTransferFunction);
volumeProperty->SetScalarOpacity(opacityTransferFunction);
volumeProperty->SetGradientOpacity(volumeGradientOpacityFunction);
volumeProperty->SetInterpolationTypeToLinear();
volumeProperty->ShadeOn();
volumeProperty->SetAmbient(0.4);
volumeProperty->SetDiffuse(0.8);
volumeProperty->SetSpecular(0.2);
volumeProperty->SetSpecularPower(105.0);
volumeProperty->SetScalarOpacityUnitDistance(0.7);
volume->SetProperty(volumeProperty);

The hard coded numbers are just picked empirically by viewing our most common inputs.

On Apr 03, 2016, at 10:26 PM, Aashish Chaudhary <aashish.chaudhary at kitware.com> wrote:

Rick, 

Can you send me information on what you are turning on in volume property and in mapper that leads to this crash? Also, is your data is single or 2 or 4 component? 

Thanks,


On Sun, Apr 3, 2016 at 9:25 PM, Richard Frank <rickfrank at me.com> wrote:
Further investigation seems to point the GradientOpacity section of shader  raycasterfs.glsl, code which seems to be inserted at runtime: I guess gl_aspect is not defined in this scenario?

Any suggestions welcome!

Rick

vec4 computeGradient() 
145: { 
146: vec3 g1; 
147: vec4 g2; 
148: g1.x = texture3D(in_volume, vec3(g_dataPos + g_xvec)).x; 
149: g1.y = texture3D(in_volume, vec3(g_dataPos + g_yvec)).x; 
150: g1.z = texture3D(in_volume, vec3(g_dataPos + g_zvec)).x; 
151: g2.x = texture3D(in_volume, vec3(g_dataPos - g_xvec)).x; 
152: g2.y = texture3D(in_volume, vec3(g_dataPos - g_yvec)).x; 
153: g2.z = texture3D(in_volume, vec3(g_dataPos - g_zvec)).x; 
154: g1 = g1*in_volume_scale.r + in_volume_bias.r; 
155: g2 = g2*in_volume_scale.r + in_volume_bias.r; 
156: g1.x = in_scalarsRange[0] + ( 
157: in_scalarsRange[1] - in_scalarsRange[0]) * g1.x; 
158: g1.y = in_scalarsRange[0] + ( 
159: in_scalarsRange[1] - in_scalarsRange[0]) * g1.y; 
160: g1.z = in_scalarsRange[0] + ( 
161: in_scalarsRange[1] - in_scalarsRange[0]) * g1.z; 
162: g2.x = in_scalarsRange[0] + ( 
163: in_scalarsRange[1] - in_scalarsRange[0]) * g2.x; 
164: g2.y = in_scalarsRange[0] + ( 
165: in_scalarsRange[1] - in_scalarsRange[0]) * g2.y; 
166: g2.z = in_scalarsRange[0] + ( 
167: in_scalarsRange[1] - in_scalarsRange[0]) * g2.z; 
168: g2.xyz = g1 - g2.xyz; 
169: g2.x /= g_aspect.x; 
170: g2.y /= g_aspect.y; 
171: g2.z /= g_aspect.z; 
172: float grad_mag = sqrt(g2.x * g2.x + 
173: g2.y * g2.y + 
174: g2.z * g2.z); 
175: if (grad_mag > 0.0) 
176: { 
177: g2.x /= grad_mag; 
178: g2.y /= grad_mag; 
179: g2.z /= grad_mag; 
180: } 
181: else 
182: { 
183: g2.xyz = vec3(0.0, 0.0, 0.0); 
184: } 
185: grad_mag = grad_mag * 1.0 / (0.25 * (in_scalarsRange[1] - 
186: (in_scalarsRange[0]))); 
187: grad_mag = clamp(grad_mag, 0.0, 1.0); 
188: g2.w = grad_mag; 
189: return g2; 
190: }




_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at http://www.kitware.com/opensource/opensource.html

Please keep messages on-topic and check the VTK FAQ at: http://www.vtk.org/Wiki/VTK_FAQ

Search the list archives at: http://markmail.org/search/?q=vtkusers

Follow this link to subscribe/unsubscribe:
http://public.kitware.com/mailman/listinfo/vtkusers




-- 
| Aashish Chaudhary 
| Technical Leader         
| Kitware Inc.            
| http://www.kitware.com/company/team/chaudhary.html
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://public.kitware.com/pipermail/vtkusers/attachments/20160404/4383e1e5/attachment.html>


More information about the vtkusers mailing list