[vtkusers] Volume Rendering with vtkUnstructuredGridRayCastMapper
Dominik Szczerba
domi at vision.ee.ethz.ch
Wed Dec 28 14:55:18 EST 2005
where did you get 5.0 from? I dont see it on vtk.org
then why not try vtk that comes along with paraview?
--domi
Randall Hand wrote:
> I don't think these classes exist in the 4.4. Plus alot of stuff has
> changed between 4.4 & 5.0 (This isn't CVS head, it's the 5.0 Branch that's
> supposed to be pretty stable), that makes it pretty difficult for me to
> backport.
>
> On 12/28/05, Dominik Szczerba <domi at vision.ee.ethz.ch> wrote:
>
>>Did you try with the "official" 4.4? I often have problems with the CVS
>>version.
>>--domi
>>
>>Randall Hand wrote:
>>
>>>I'm attempting to render an unstructured dataset that contains 1 vector
>>>field and 7 scalar fields. I want to map Color & Opacity to one of the
>>
>>1
>>
>>>scalar fields (both to the same one) and volume render it. I can do
>>
>>this in
>>
>>>Paraview easily (screenie attached), but my VTK code returns a blank
>>
>>black
>>
>>>window everytime. Am I missing something here?
>>>
>>>I'm doing it all offscreen on an SGI Irix box (Onyx340) with the VTK
>>>5.0Branch installed & MangledMesa. The code I'm using is below:
>>>
>>>==============================
>>>#include <vtkColorTransferFunction.h >
>>>#include <vtkDataSetReader.h>
>>>#include <vtkPiecewiseFunction.h>
>>>#include <vtkUnstructuredGridVolumeRayCastMapper.h>
>>>#include <vtkUnstructuredGrid.h>
>>>#include < vtkDataSet.h>
>>>#include <vtkRenderWindow.h>
>>>#include <vtkRenderer.h>
>>>#include <vtkRenderLargeImage.h>
>>>#include <vtkPNGWriter.h>
>>>#include <vtkVolumeProperty.h>
>>>#include <vtkDataSetTriangleFilter.h >
>>>#include <vtkImagingFactory.h>
>>>#include <vtkGraphicsFactory.h>
>>>void main(void) {
>>> vtkGraphicsFactory *factGraphics = vtkGraphicsFactory::New();
>>> factGraphics->SetUseMesaClasses(1);
>>> factGraphics->SetOffScreenOnlyMode(1);
>>> factGraphics->Delete();
>>> vtkImagingFactory *factImage = vtkImagingFactory::New();
>>> factImage->SetUseMesaClasses(1);
>>> factImage->Delete();
>>> vtkDataSetReader *reader = vtkDataSetReader::New();
>>> reader->SetFileName("../VTK/step_127.vtk");
>>> reader->ReadAllScalarsOn();
>>>
>>> vtkDataSetTriangleFilter *tri = vtkDataSetTriangleFilter::New();
>>> tri->SetInput(reader->GetOutput());
>>>
>>>
>>> vtkColorTransferFunction *color = vtkColorTransferFunction::New();
>>>
>>> color->AddRGBPoint(250, 0, 0, 1);
>>> color->AddRGBPoint(450, 1, 0, 0);
>>> color->AddRGBPoint(2600, 1, 1, 0);
>>> color->AddRGBPoint(5000, 1, 1, 1);
>>>
>>> vtkPiecewiseFunction *opacity = vtkPiecewiseFunction::New();
>>> opacity->AddPoint(250, 0.1);
>>> opacity->AddPoint(450, 0.1);
>>> opacity->AddPoint(2600, 0.25);
>>> opacity->AddPoint(5000, 1.0);
>>>
>>> vtkVolumeProperty *volProp = vtkVolumeProperty::New();
>>> volProp->SetColor(color);
>>> volProp->SetScalarOpacity(opacity);
>>> volProp->SetInterpolationTypeToLinear();
>>>
>>> vtkUnstructuredGridVolumeRayCastMapper *mapper =
>>> vtkUnstructuredGridVolumeRayCastMapper::New();
>>> mapper->SetScalarModeToUsePointFieldData();
>>> mapper->SelectScalarArray("Temperature");
>>> mapper->SetInput(tri->GetOutput());
>>>
>>> vtkVolume *volume = vtkVolume::New();
>>> volume->SetMapper(mapper);
>>> volume->SetProperty(volProp);
>>> volume->Update();
>>> vtkRenderWindow *renWin = vtkRenderWindow::New();
>>> vtkRenderer *ren1 = vtkRenderer::New();
>>> renWin->OffScreenRenderingOn();
>>> renWin->AddRenderer(ren1);
>>>
>>> ren1->AddVolume(volume);
>>> ren1->ResetCamera();
>>> renWin->SetSize(1024, 1024);
>>> renWin->Modified();
>>>
>>> vtkRenderLargeImage *w2if = vtkRenderLargeImage::New();
>>> w2if->SetInput(ren1);
>>> w2if->SetMagnification(1);
>>>
>>> vtkPNGWriter *png = vtkPNGWriter::New();
>>> png->SetInput(w2if->GetOutput());
>>> png->SetFileName("output.png");
>>> png->Write();
>>>}
>>>===============
>>>
>>>
>>>--
>>>Randall Hand
>>>Visualization Scientist,
>>>ERDC-MSRC Vicksburg, MS
>>>Homepage: http://www.yeraze.com
>>>
>>>
>>>
>>>------------------------------------------------------------------------
>>>
>>>
>>>------------------------------------------------------------------------
>>>
>>>_______________________________________________
>>>This is the private VTK discussion list.
>>>Please keep messages on-topic. Check the FAQ at:
>>
>>http://www.vtk.org/Wiki/VTK_FAQ
>>
>>>Follow this link to subscribe/unsubscribe:
>>>http://www.vtk.org/mailman/listinfo/vtkusers
>>
>>--
>>Dominik Szczerba, Dr.
>>Computer Vision Lab CH-8092 Zurich
>>http://www.vision.ee.ethz.ch/~domi
>>
>
>
>
>
> --
> Randall Hand
> Visualization Scientist,
> ERDC-MSRC Vicksburg, MS
> Homepage: http://www.yeraze.com
>
--
Dominik Szczerba, Dr.
Computer Vision Lab CH-8092 Zurich
http://www.vision.ee.ethz.ch/~domi
More information about the vtkusers
mailing list