[vtkusers] Re: Mixing 2d and 3d actors... the problem is in rendering!
Anja Ende
anja.ende at googlemail.com
Fri Oct 13 10:18:04 EDT 2006
There is something really weird!!!
In the above example, when you click "P", I guess that species picking, the
actors become visible!!!!!
Ok, what is going on here???!! Please someone offer some insight!
Cheers,
Anja
On 13/10/06, Anja Ende <anja.ende at googlemail.com> wrote:
>
> I am attaching the code here that highlights the problem. It is really
> simple. If someone will try it on their machine for me, it would really
> help. It might be a hardware problem as well.... I can send the image file,
> if someone wants.
>
> Thanks,
> Anja
>
>
> //---------------------------------------------------------------------------------------------------------
>
> #include "vtkImageData.h"
> #include "vtkImageActor.h"
> #include "vtkActor2D.h"
> #include "vtkRenderWindow.h"
> #include "vtkRenderer.h"
> #include "vtkRenderWindowInteractor.h"
> #include "vtkImageMapper.h"
> #include " vtkPNGReader.h"
> #include "vtkImageChangeInformation.h"
>
> int main ()
> {
> // Read the image
> vtkPNGReader * cursorImage = vtkPNGReader::New();
>
> cursorImage->SetFileName("/home/pankaj/development/projects/viewer/bin/crosshair.png");
>
> cursorImage->Update();
> // Shift center to image data oigin
> vtkImageChangeInformation * imageChange =
> vtkImageChangeInformation::New();
> imageChange->SetInput(cursorImage->GetOutput());
> imageChange->CenterImageOn();
> // create actor2d
> vtkImageMapper * mapper = vtkImageMapper::New();
> mapper->SetInput(imageChange->GetOutput());
> mapper->SetColorWindow( 256.0);
> mapper->SetColorLevel(128.0);
> vtkActor2D * actor2d = vtkActor2D::New();
> actor2d->SetMapper(mapper);
> // create actor 3d
> vtkImageActor * actor3d = vtkImageActor::New();
> actor3d->SetInput(imageChange->GetOutput());
> // following lines creates our 2 layers of renderers
> vtkRenderer *ren1 = vtkRenderer::New(); // 2d actor
> ren1->AddViewProp(actor2d);
> ren1->SetLayer(0); // bottom layer
> vtkRenderer *ren2 = vtkRenderer::New();
> ren2->AddViewProp(actor3d); // 3d actor
> ren2->SetLayer(1); // top layer
> vtkRenderWindow *renWin = vtkRenderWindow::New();
> renWin->SetNumberOfLayers(2); // we have 2 layers of renderers in our
> window
> renWin->AddRenderer(ren1);
> renWin->AddRenderer(ren2);
> vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New(); //
> an interactor
> iren->SetRenderWindow(renWin);
> renWin->Render();
> iren->Start();
>
> // We will not bother with deletions...program is ending anyways...
> return 0;
> }
>
> //---------------------------------------------------------------------------------------------------------
>
>
>
--
Cheers,
Anja
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.vtk.org/pipermail/vtkusers/attachments/20061013/27f6c10c/attachment.htm>
More information about the vtkusers
mailing list