VTK学习-vtkLight

写在前面:

这篇博客主要也是书上内容的整理。很基础,但也不能说不重要。在此将书上内容做个整理,便于日后复习时能提纲挈领。

vtkLight基本概念:

就好像剧场里多样的灯光一样,演员身上打了不同角度、不同颜色的灯光,观众们看到的形象也是不一样的。那么类似的,在三维场景渲染中,灯光也会影响三维物体最终展现的效果。
灯光和相机是三维渲染场景的必备要素。
在没有明确指定灯光与相机的情况下,vtkRenderer会自动创建默认的灯光和相机。VTK里用类vtkLight来表示渲染场景中的灯光。
vtkLight分为Positional Light与Direction Light。前者,可翻译为位置灯光是将光源设置在渲染场景中的某个位置;后者,可翻译为方向灯光是将光源设置在无穷远处,这样光源发射的光线可以认为是平行的。
实际编程中,需要包含对应头文件。

#include <vtkLight.h>

vtkLight常用函数:

SetColor():设置灯光的颜色,以RGB的形式指定颜色。

  1. SetColor():设置灯光的颜色。即(R,G,B)。详细对照表可参考表1。
  2. SetPosition():设置灯光位置。传入三维点位置坐标(x,y,z)。
  3. SetFocalPoint():设置灯光焦点。传入三维点位置坐标(x,y,z)。
  4. SetIntensity():设置灯光的强度。传入double类型的值,从0~1,表示灯光强度。
  5. SetSwitch()/SwitchOn()/SwitchOff():打开或关闭对应的灯光。如果某个类有提供SetXXX()函数,那么一般也会有对应的GetXXX()函数来获取对应的属性值。此外SetXXX(1)与XXXOn()效果相同。SetXXX(0)与XXXOff()效果相同。

vtkLight更多详细函数使用可以参考VTK官方文档:vtkLight Class Reference


表1 常用颜色RGB和HSV值的对照
这里写图片描述

vtkLight使用样例:

#include <vtkRenderWindow
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 3
    评论
VTK(Visualization Toolkit)是一种用于可视化和图形处理的开源软件库。东灵工作室为了帮助广大程序员学习和使用VTK,提供了一套详细的VTK教程。 在这套教程中,东灵工作室首先介绍了VTK的基本概念和原理,包括图形管线(pipeline),数据源(source)、过滤器(filter)和映射器(mapper)等基本组件。然后,教程详细介绍了如何使用VTK创建三维图形对象,包括几何图形、点云、体数据等。接着,教程演示了如何对这些图形对象进行各种操作,如旋转、平移、缩放等。同时,教程还介绍了VTK的各种渲染技术,如背面剔除、阴影效果、光照等,提供了丰富的实例和代码。 在教程的后半部分,东灵工作室专门介绍了VTK在科学可视化领域的应用。他们详细讲解了如何将实际的科学数据转化为可视化对象,并提供了一些常用的可视化技术,如等值面绘制、流场可视化、矢量图绘制等。此外,东灵工作室还介绍了VTK在医学影像处理和仿真领域的应用,并提供了相关的示例和代码。 总体来说,东灵工作室提供的VTK教程既系统又实用。无论是初学者还是有一定使用经验的程序员,都可以通过这套教程掌握VTK的基本原理和使用技巧。对于希望在科学可视化领域或其他相关领域应用VTK的人来说,这套教程是一个非常好的学习资源。希望东灵工作室能够继续更新和完善这套教程,为更多的人提供帮助。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 3
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值