<div class="gmail_quote">I get the medical4.cxx example and change it to open a dicom file, resulting this code, but with SetBlendModeToComposite the volume dond appear, and SetBlendModeToAdictive is to much slow, what I need to use SetBlendModeToComposite?<br>
<br> vtkSmartPointer<vtkRenderer>ren = vtkWindow1->GetRenderer();<br> vtkSmartPointer<vtkRenderWindowInteractor>iren =<br> vtkWindow1->GetInteractor();<br><br> vtkSmartPointer<vtkDICOMImageReader>dicomReader =<br>
vtkSmartPointer<vtkDICOMImageReader>::New();<br> dicomReader->SetDirectoryName(dirname);<br> dicomReader->Update();<br><br> vtkSmartPointer<vtkSmartVolumeMapper>volumeMapper =<br>
vtkSmartPointer<vtkSmartVolumeMapper>::New();<br> volumeMapper->SetInput(dicomReader->GetOutput());<br><br>-->> volumeMapper->SetBlendModeToAdditive(); <<--<br>
<br> vtkSmartPointer<vtkColorTransferFunction>volumeColor =<br> vtkSmartPointer<vtkColorTransferFunction>::New();<br> volumeColor->AddRGBPoint(0, 0.0, 0.0, 0.0);<br> volumeColor->AddRGBPoint(500, 1.0, 0.5, 0.3);<br>
volumeColor->AddRGBPoint(1000, 1.0, 0.5, 0.3);<br> volumeColor->AddRGBPoint(1150, 1.0, 1.0, 0.9);<br><br> vtkSmartPointer<vtkPiecewiseFunction>volumeScalarOpacity =<br> vtkSmartPointer<vtkPiecewiseFunction>::New();<br>
volumeScalarOpacity->AddPoint(0, 0.00);<br> volumeScalarOpacity->AddPoint(500, 0.15);<br> volumeScalarOpacity->AddPoint(1000, 0.15);<br> volumeScalarOpacity->AddPoint(1150, 0.85);<br>
<br> vtkSmartPointer<vtkPiecewiseFunction>volumeGradientOpacity =<br> vtkSmartPointer<vtkPiecewiseFunction>::New();<br> volumeGradientOpacity->AddPoint(0, 0.0);<br> volumeGradientOpacity->AddPoint(90, 0.5);<br>
volumeGradientOpacity->AddPoint(100, 1.0);<br><br> vtkSmartPointer<vtkVolumeProperty>volumeProperty =<br> vtkSmartPointer<vtkVolumeProperty>::New();<br> volumeProperty->SetColor(volumeColor);<br>
volumeProperty->SetScalarOpacity(volumeScalarOpacity);<br> volumeProperty->SetGradientOpacity(volumeGradientOpacity);<br> volumeProperty->SetInterpolationTypeToLinear();<br> volumeProperty->ShadeOn();<br>
volumeProperty->SetAmbient(0.4);<br> volumeProperty->SetDiffuse(0.6);<br> volumeProperty->SetSpecular(0.2);<br><br> vtkSmartPointer<vtkVolume>volume = vtkSmartPointer<vtkVolume>::New();<br>
volume->SetMapper(volumeMapper);<br> volume->SetProperty(volumeProperty);<br><br> ren->AddViewProp(volume);<br><br> vtkCamera *camera = ren->GetActiveCamera();<br> double *c = volume->GetCenter();<br>
camera->SetFocalPoint(c[0], c[1], c[2]);<br> camera->SetPosition(c[0] + 400, c[1], c[2]);<br> camera->SetViewUp(0, 0, -1);<br><br> vtkWindow1->Invalidate();<br><br> iren->Initialize();<br>
iren->Start();<br><br>Thank's,<br><font color="#888888">Alessandro Martini<br><a href="mailto:alessandromartini@gmail.com" target="_blank">alessandromartini@gmail.com</a><br>-------------------------------------------------<br>
'Existem 10 tipos de pessoas no mundo:<br>
aquelem que entendem binário, e aqueles que não!'<br>
</font></div><br>