Hi,dear vtkusers,

These days I am trying to use VTK Crystal Eyes for stereo display, but  failed.
I could not get above-below images. The source code is as follows.
( I  use VTK nightly code on June 16,1999, and Visual C++ 6.0 on Windows NT 4.0 ).
========================
( The code modified from the sample Mace3.cpp )

  vtkRenderer *ren1 = vtkRenderer::New();
  vtkRenderWindow *renWin = vtkRenderWindow::New();
 renWin->StereoCapableWindowOn();
    renWin->AddRenderer(ren1);
  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
    iren->SetRenderWindow(renWin);

  // create the pipline, ball and spikes
  vtkSphereSource *sphere = vtkSphereSource::New();
    sphere->SetThetaResolution(7); sphere->SetPhiResolution(7);
  vtkPolyDataMapper *sphereMapper = vtkPolyDataMapper::New();
    sphereMapper->SetInput(sphere->GetOutput());
  vtkActor *sphereActor = vtkActor::New();
    sphereActor->SetMapper(sphereMapper);
//  sphereActor->GetProperty()->SetColor(0.8,0.8,0.8);

  vtkConeSource *cone = vtkConeSource::New();
    cone->SetResolution(5);
  vtkGlyph3D *glyph = vtkGlyph3D::New();
    glyph->SetInput(sphere->GetOutput());
    glyph->SetSource(cone->GetOutput());
    glyph->SetVectorModeToUseNormal();
    glyph->SetScaleModeToScaleByVector();
    glyph->SetScaleFactor(0.25);
  vtkPolyDataMapper *spikeMapper = vtkPolyDataMapper::New();
    spikeMapper->SetInput(glyph->GetOutput());
  vtkActor *spikeActor = vtkActor::New();
    spikeActor->SetMapper(spikeMapper);
//  spikeActor->GetProperty()->SetColor(0.8,0.8,0.8);

  ren1->AddActor(sphereActor);
  ren1->AddActor(spikeActor);
  ren1->SetBackground(0.2,0.3,0.4);
  renWin->SetSize(1024,768);
 
  // do the first render and then zoom in a little
  //renWin->Render();
  //ren1->GetActiveCamera()->Zoom(1.4);
  renWin->SetFileName("test.ppm");

  renWin->StereoRenderOn();
  renWin->SetStereoTypeToCrystalEyes();

  renWin->Render();
  renWin->SaveImageAsPPM();
  iren->Start();
/////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

Additionally, in terms of  Crystal Eyes, there is a black internal between the above image ( left-eye ) and below image ( right eye ), e.g., there is 38 blank internal for 1024*768 on my computer. I viewed the VTK source code, and  did not find any code lines to process this black internal. ( it seems there no considering of  black internal as the vertical viewport is divided by 2 forVTK_Stereo_Crystal_Eyes ). Am I right?

Meantime, I checked the latest VTK nightly code ( July 8 ), and found there are no VTKStarBaseRenderWinows.cpp(.H) that processes VTK_Crystal_Eyes. ( In the pack of VTK nightly code on June 16), there are VTKStarBaseRenderWinows.cpp(.H) ).
I do not know what happened with VTK_Crystal_Eyes.
 

Could you give me help?

Thanks in advance

Jianhua
 
 
 
 
 
 
 
 
 
 

I am trying the Crystal Eyes for stereo display on Windows NT 4.0, and have some problems.
 

I am using VTK on June 16, 1999 and Visual C++ 6.0.

The tested source file is as follows. ( modified from the example Mace3.cpp )
//////////////////////////////////////////////////////////////////////
 vtkRenderer *ren1 = vtkRenderer::New();
  vtkRenderWindow *renWin = vtkRenderWindow::New();
 renWin->StereoCapableWindowOn();
    renWin->AddRenderer(ren1);
  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
    iren->SetRenderWindow(renWin);

  // create the pipline, ball and spikes
  vtkSphereSource *sphere = vtkSphereSource::New();
    sphere->SetThetaResolution(7); sphere->SetPhiResolution(7);
  vtkPolyDataMapper *sphereMapper = vtkPolyDataMapper::New();
    sphereMapper->SetInput(sphere->GetOutput());
  vtkActor *sphereActor = vtkActor::New();
    sphereActor->SetMapper(sphereMapper);
//  sphereActor->GetProperty()->SetColor(0.8,0.8,0.8);

  vtkConeSource *cone = vtkConeSource::New();
    cone->SetResolution(5);
  vtkGlyph3D *glyph = vtkGlyph3D::New();
    glyph->SetInput(sphere->GetOutput());
    glyph->SetSource(cone->GetOutput());
    glyph->SetVectorModeToUseNormal();
    glyph->SetScaleModeToScaleByVector();
    glyph->SetScaleFactor(0.25);
  vtkPolyDataMapper *spikeMapper = vtkPolyDataMapper::New();
    spikeMapper->SetInput(glyph->GetOutput());
  vtkActor *spikeActor = vtkActor::New();
    spikeActor->SetMapper(spikeMapper);
//  spikeActor->GetProperty()->SetColor(0.8,0.8,0.8);

  ren1->AddActor(sphereActor);
  ren1->AddActor(spikeActor);
  ren1->SetBackground(0.2,0.3,0.4);
 renWin->SetSize(1024,768);
  // do the first render and then zoom in a little
  //renWin->Render();
  //ren1->GetActiveCamera()->Zoom(1.4);
  renWin->SetFileName("test.ppm");

  renWin->StereoRenderOn();
  renWin->SetStereoTypeToCrystalEyes();

  renWin->Render();

  renWin->SaveImageAsPPM();
  iren->Start();
/////////////////////////////////////////////////////////////////////////////////////////////////////
 
 
 
 
 
 
 
 
 
 
 

 // create the rendering objects
  vtkRenderer *ren1 = vtkRenderer::New();
  vtkRenderWindow *renWin = vtkRenderWindow::New();

     renWin->StereoCapableWindowOn();  // added by me

    renWin->AddRenderer(ren1);
  vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
    iren->SetRenderWindow(renWin);

  // create the pipline, ball and spikes
  vtkSphereSource *sphere = vtkSphereSource::New();
    sphere->SetThetaResolution(7); sphere->SetPhiResolution(7);
  vtkPolyDataMapper *sphereMapper = vtkPolyDataMapper::New();
    sphereMapper->SetInput(sphere->GetOutput());
  vtkActor *sphereActor = vtkActor::New();
    sphereActor->SetMapper(sphereMapper);
//  sphereActor->GetProperty()->SetColor(0.8,0.8,0.8);

  vtkConeSource *cone = vtkConeSource::New();
    cone->SetResolution(5);
  vtkGlyph3D *glyph = vtkGlyph3D::New();
    glyph->SetInput(sphere->GetOutput());
    glyph->SetSource(cone->GetOutput());
    glyph->SetVectorModeToUseNormal();
    glyph->SetScaleModeToScaleByVector();
    glyph->SetScaleFactor(0.25);
  vtkPolyDataMapper *spikeMapper = vtkPolyDataMapper::New();
    spikeMapper->SetInput(glyph->GetOutput());
  vtkActor *spikeActor = vtkActor::New();
    spikeActor->SetMapper(spikeMapper);
//  spikeActor->GetProperty()->SetColor(0.8,0.8,0.8);

  ren1->AddActor(sphereActor);
  ren1->AddActor(spikeActor);
  ren1->SetBackground(0.2,0.3,0.4);
  renWin->SetSize(300,300);

  renWin->StereoRenderOn();
  renWin->SetStereoTypeToCrystalEyes();
  renWin->Render();
  iren->Start();

///////////////////////////////////////////////////////////////////////

Could somebody give me some solutions?

Thanks in advance

Jianhua