The vtkRenderWindow don't render stereo mode for Crystal eyes.?
This issue was created automatically from an original Mantis Issue. Further discussion may take place here.
OS : windows 7 64bit
VTK: 5.6.0 Version
Display Card : NVIDIA Quadro FX 570
Monitor : ASUS VG236H with NVIDIA 3D Vision kit
I code a stereo test program using VC2008.
The following is my code.
//-------------------------------------------------------------------------- vtkVolume16Reader *v16 = vtkVolume16Reader::New();
v16->SetDataDimensions( 64, 64);
v16->SetDataByteOrderToLittleEndian();
v16->SetImageRange( 1, 93);
v16->SetDataSpacing( 3.2, 3.2, 1.5);
v16->SetFilePrefix( "C:\\VTKData5.6\\Data\\headsq\\quarter" );
v16->SetFilePattern("%s.%d");
v16->SetDataMask( 0x7fff);
v16->Update();
vtkContourFilter *contour = vtkContourFilter::New();
contour->SetInputConnection(v16->GetOutputPort());
contour->SetValue(0,1500);
contour->SetValue(1,2500);
vtkPolyDataNormals *skinNormals = vtkPolyDataNormals::New();
skinNormals->SetInputConnection(contour->GetOutputPort());
skinNormals->SetFeatureAngle(60.0);
vtkPolyDataMapper *skinMapper = vtkPolyDataMapper::New();
skinMapper->SetInputConnection(skinNormals->GetOutputPort());
skinMapper->ScalarVisibilityOff();
vtkActor *skin = vtkActor::New();
skin->SetMapper(skinMapper);
vtkRenderer *renderer = vtkRenderer::New();
renderer->AddActor(skin);
renderer->SetBackground(0,0,0);
vtkRenderWindow *renWin = vtkRenderWindow::New();
renWin->AddRenderer(renderer);
renWin->SetStereoCapableWindow(1);
renWin->StereoRenderOn();
renWin->SetStereoTypeToCrystalEyes();
renWin->StereoUpdate();
vtkRenderWindowInteractor *iren = vtkRenderWindowInteractor::New();
iren->SetRenderWindow(renWin);
iren->Initialize();
iren->Start();
//--------------------------------------------------------------------------- The above code can render 3D image for Crystal eyes correctly. However, when i use the same code on Borland C++ Builder, the stereo mode doesn't work. I use ComboBox to select the stereo mode dynamically. The effect work well except the crystal eyes. This is my event code for ComboBox.
//--------------------------------------------------------------------------- void __fastcall TForm1::ComboBox1Change(TObject *Sender) { TComboBox *cb = dynamic_cast<TComboBox *>(Sender);
// The following code is essential.
// Because the stereo capable window must "ON"
// before the "the render window" rendered.
vtkWindow->GetRenderWindow()->Finalize();
vtkWindow->GetRenderWindow()->SetStereoCapableWindow(1);
vtkWindow->GetRenderWindow()->StereoRenderOn();
switch (cb->ItemIndex) {
case 0:
vtkWindow->GetRenderWindow()->SetStereoTypeToDresden();
break;
case 1:
vtkWindow->GetRenderWindow()->SetStereoTypeToCheckerboard();
break;
case 2:
vtkWindow->GetRenderWindow()->SetStereoTypeToInterlaced();
break;
case 3:
vtkWindow- >GetRenderWindow()->SetStereoTypeToAnaglyph();
break;
case 4:
vtkWindow->GetRenderWindow()->SetStereoTypeToRedBlue();
break;
case 5:
vtkWindow->GetRenderWindow()->SetStereoTypeToCrystalEyes();
break;
case 6:
vtkWindow->GetRenderWindow()->SetStereoTypeToLeft();
break;
case 7:
vtkWindow->GetRenderWindow()->SetStereoTypeToRight();
break;
default:
break;
}
// My function to refresh vtkBorlandRenderWindow
winRefresh();
}
//--------------------------------------------------------------------------
Does anyone meet the problem?
Is it the problem for vtkBorlandRenderWindow?
How can i resolve this problem??
Thanks
Wallance Lin