在上篇简单的cone模型显示的基础上,本篇blog继续讲解与模型显示属性、窗口显示以及交互方式相关的例子。

1. 模型显示属性设置

通过给actor设置颜色来改变模型的颜色显示,通过property类,可以进一步设置模型显示的反射光、高光、环境光等属性的设置。

#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 );

/* s设置模型显示的属性 */

coneActor->GetProperty()->SetColor(0.2, 0.63, 0.79); //设置模型显示的颜色

coneActor->GetProperty()->SetDiffuse(0.7); //设置散射系数

coneActor->GetProperty()->SetSpecular(0.4); //设置高光系数

coneActor->GetProperty()->SetSpecularPower(20); //设置高光的比例参数,具体参数设置可以参加vtk源码的介绍或者phong模型

//通过新建property对象,实现模型显示颜色的改变

vtkProperty *property =