[vtkusers] Volume Rendering with vtkUnstructuredGridRayCastMapper

Randall Hand randall.hand at gmail.com
Wed Dec 28 14:52:42 EST 2005


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
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20051228/2ebad8a1/attachment.htm>


More information about the vtkusers mailing list