<html>
The main reason this won't work is that vtkSphereSource produces
vtkPolyData output, not vtkImageData, so you can't volume render it in
VTK.&nbsp; You should use a vtkPolyDataMapper and a vtkActor to render
the output of vtkSphereSource instead.<br><br>
- Amy<br><br>
At 09:16 AM 3/11/2003 +0100, Radim Koláø wrote:<br>
<blockquote type=cite class=cite cite><font face="arial" size=2>Hi
all,</font><br>
<font face="arial" size=2>please could you help me with this simple
problem?</font><br>
<font face="arial" size=2>I want to render the sphere with the
vtkVolumeRayCastMapper. So I create sphere, mapper, volume properties and
finally vtkVolume and I render it with vtkRenderWindowInteractor. But the
program crash when I call iren-&gt;Render(). Bellow is the short C++
code. Are there some mistakes?</font><br>
<font face="arial" size=2>I'm using VTK 4.0 and Borland C++ 
6</font><br>
<font face="arial" size=2>Thanks a lot.</font><br>
<font face="arial" size=2>Radim</font><br>
&nbsp;<br>
<font face="arial" size=2>//---------------------------------------------------------------------------<br>
#include &quot;vtkSphereSource.h&quot;<br>
#include &quot;vtkVolumeRayCastMapper.h&quot;<br>
#include &quot;vtkActor.h&quot;<br>
#include &quot;vtkRenderer.h&quot;<br>
#include &quot;vtkRenderWindowInteractor.h&quot;<br>
#include &quot;vtkRenderWindow.h&quot;<br>
#include &quot;vtkVolumeRayCastMIPFunction.h&quot;<br>
#include &quot;vtkImageData.h&quot;<br>
#include &quot;vtkVolumeProperty.h&quot;<br>
#include &quot;vtkPiecewiseFunction.h&quot;</font><br>
&nbsp;<br>
<font face="arial" size=2>#include &lt;vcl.h&gt;<br>
#pragma hdrstop</font><br>
<font face="arial" size=2>//---------------------------------------------------------------------------</font><br>
&nbsp;<br>
<font face="arial" size=2>#pragma argsused<br>
int main(int argc, char* argv[])<br>
{<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkSphereSource
*sphere;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sphere =
vtkSphereSource::New();</font><br>
&nbsp;<br>
<font face="arial" size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
vtkVolumeRayCastMIPFunction *RayCastMethod =
vtkVolumeRayCastMIPFunction::New();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vtkVolumeRayCastMapper *mapper
= vtkVolumeRayCastMapper::New();</font><br>
&nbsp;<br>
<font face="arial" size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
mapper-&gt;SetVolumeRayCastFunction( RayCastMethod );</font><br>
&nbsp;<br>
<font face="arial" size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
vtkImageData *vol;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vol =
vtkImageData::New();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vol-&gt;SetSource( sphere
);<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mapper-&gt;SetInput( vol
);</font><br>
&nbsp;<br>
<font face="arial" size=2>&nbsp;vtkColorTransferFunction *colorF =
vtkColorTransferFunction::New();<br>
&nbsp;&nbsp;&nbsp; colorF-&gt;AddRGBSegment( 0, 0.0, 0.0, 0.0, 255, 0.5,
0.1, 1.0 );</font><br>
&nbsp;<br>
<font face="arial" size=2>&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; //--------
Mapping from scalar -&gt; opacity ------------<br>
&nbsp;vtkPiecewiseFunction *opacityF = vtkPiecewiseFunction::New();<br>
&nbsp;&nbsp;&nbsp;&nbsp; opacityF-&gt;AddPoint( 10, 0.1 );<br>
&nbsp;&nbsp;&nbsp;&nbsp; opacityF-&gt;AddPoint( 200, 0.9 );<br>
&nbsp;&nbsp;&nbsp;&nbsp; opacityF-&gt;ClampingOff();</font><br>
&nbsp;<br>
<font face="arial" size=2>vtkVolumeProperty *volumeP =
vtkVolumeProperty::New();<br>
&nbsp;&nbsp;&nbsp; volumeP-&gt;SetColor( colorF );<br>
&nbsp;&nbsp;&nbsp;&nbsp; volumeP-&gt;SetScalarOpacity( opacityF
);</font><br>
&nbsp;<br>
<font face="arial" size=2>&nbsp;vtkVolume *volume =
vtkVolume::New();<br>
&nbsp;&nbsp;&nbsp;&nbsp; volume-&gt;SetMapper( mapper );<br>
&nbsp;&nbsp;&nbsp;&nbsp; volume-&gt;SetProperty( volumeP );</font><br>
&nbsp;<br>
<font face="arial" size=2><br>
vtkRenderer *ren1;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ren1 =
vtkRenderer::New();<br>
&nbsp;&nbsp;&nbsp; ren1-&gt;AddProp( volume );<br>
&nbsp;<br>
vtkRenderWindow *renWin; renWin = vtkRenderWindow::New();<br>
&nbsp;&nbsp;&nbsp; renWin-&gt;AddRenderer( ren1 );<br>
&nbsp;<br>
vtkRenderWindowInteractor *iren; iren =
vtkRenderWindowInteractor::New();<br>
&nbsp;&nbsp;&nbsp; iren-&gt;SetRenderWindow( renWin );<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
iren-&gt;Render();&nbsp;&nbsp;&nbsp;&nbsp; //here it crash<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iren-&gt;Start();<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; iren-&gt;Delete();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; renWin-&gt;Delete();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; ren1-&gt;Delete();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;
RayCastMethod-&gt;Delete();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; volume-&gt;Delete();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; vol-&gt;Delete();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; mapper-&gt;Delete();<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; sphere-&gt;Delete();<br>
&nbsp;<br>
&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp; return 0;<br>
}<br>
//---------------------------------------------------------------------------</font></blockquote><br>
</html>