vtk 支持很多种语言,包括tcl,c++,java,vb等,因为我本身最喜欢的是c++,所以以后的例子啊,什么的,我都会用c++,毕竟效率高一点,哈哈,我随便找的理由,其实我是边学vtk边学c++,这语言太博大精深了,以我不算聪明的脑瓜,想学好他们,都得用年来作为计量单位了。
下面给出一个从网络上找来的代码,让大家有个直观的认识,另外感谢源码作者!
#include "vtkConeSource.h"
#include "vtkPolyDataMapper.h"
#include "vtkRenderWindow.h"
#include "vtkCamera.h"
#include "vtkActor.h"
#include "vtkRenderer.h"
#include "vtkProperty.h"
int main()
{
vtkConeSource *cone = vtkConeSource::New();
cone->SetHeight( 3.0 );
cone->SetRadius( 1.0 );
cone->SetResolution( 10 );
vtkPolyDataMapper *coneMapper = vtkPolyDataMapper::New();
coneMapper->SetInputConnection( cone->GetOutputPort() );
vtkActor *coneActor = vtkActor::New();
coneActor->SetMapper( coneMapper );
vtkRenderer *ren1= vtkRenderer::New();
ren1->AddActor( coneActor );
ren1->SetBackground( 0.1, 0.2, 0.4 );
vtkRenderWindow *renWin = vtkRenderWindow::New();
renWin->AddRenderer( ren1 );
renWin->SetSize( 300, 300 );
int i;
for (i = 0; i < 360; ++i)
{
renWin->Render();
ren1->GetActiveCamera()->Azimuth( i );
}
cone->Delete();
coneMapper->Delete();
coneActor->Delete();
ren1->Delete();
renWin->Delete();
return 0;
}
我的程序在调试时,遇到这样一个问题,编译成功,连接总是不对,后来发现,在vs2005下编译的lib库,不能在vs2008下连接,是编译器版本的问题。希望大家能少走弯路。