产业气象站|VTK9.0中的屏幕空间环境光遮蔽
MichaelMiglioreonJuly28,2020
Tags:vtkssaoopenglrendering
现在如果要在VTK中渲染几何图形 , 我们已经可以通过新引入的PBR阴影得到极佳的结果了 。 只需要适当地配置灯光 , HDRI和材料属性就可以达到目的 。 然而 , 一些对于一些具有复杂表面的CAD模型 , 显然是缺少一些东西 , 渲染的图像看起来非常的不真实 , 如图1所示 。
文章图片
图1-VTK渲染一个复杂的几何使用PBR阴影
算法我们的深度感知是对环境光遮蔽高度敏感的 。 洞、折痕、凹面被周围的几何体遮挡 , 在计算光照时必须考虑到这一点 。 在VTK9.0中 , 我们添加了一个新的渲染通道叫做Screen-SpaceAmbientOcclusion(屏蔽空间环境光遮蔽SSAO) 。 这种技术 , 在2007年由Crytek引入 , 是一个有效的替代光线追踪近似环境光遮蔽的方法 。 虽然只是一个近似 , 但它能实时产生非常不错的结果 。 图2显示了在RTX2060GPU上以150fps渲染的复杂几何图形的状态(大约3百万个网格) 。
文章图片
图2-启用SSAO时的相同几何图形
为了计算环境光遮蔽 , 渲染通道修改了PolyDataMapper以在新的GPU纹理中保存像素位置和法线信息 。 这些纹理是被SSAO算法处理 , 以产生一个新的遮挡纹理 , 并可以结合到颜色缓冲区中 。 该算法效果如图3所示 。
文章图片
图3-SSAO算法概述
使用为了在VTK中启用SSAO , 需要创建一个自定义的渲染通道pipeline 。 有几个参数可以用来对这个渲染通道进行配置:
半径:计算遮挡时考虑的邻近像素偏差:比较像素深度时使用的容忍因子内核大小:使用的采样数量(可以控制渲染质量)模糊:控制遮挡缓冲区是否应该在与颜色缓冲区结合之前被模糊下面是一个简单的该类型渲染通道pipeline示例 。
vtkNewbasicPassesdoublesceneSize//e.g.thediagonaloftheboundingboxvtkNewssaossao->SetRadius(0.1*sceneSize)//comparisonradiusssao->SetBias(0.001*sceneSize)//comparisonbiasssao->SetKernelSize(128)//numberofsamplesusedssao->BlurOff()//donotblurocclusionssao->SetDelegatePass(basicPasses)glRenderer->SetPass(ssao)
【来源:开源科学计算】
【产业气象站|VTK9.0中的屏幕空间环境光遮蔽】声明:转载此文是出于传递更多信息之目的 。 若有来源标注错误或侵犯了您的合法权益 , 请作者持权属证明与本网联系 , 我们将及时更正、删除 , 谢谢 。 邮箱地址:newmedia@xxcb.cn
- 辉常观察|产业互联网:区块链与数字货币的分水岭,原创
- 精选热点资讯|服务江西产业发展,晏斌:围绕直播大赛
- 爱集微|投向智能制造/人工智能等领域,欣旺达子公司参与设立产业基金
- 产业气象站|华为新款移动路由双网双通在线,告别断网烦恼,手机一碰就能上网
- 中国蓝新闻|“薅羊毛”入刑越城法院一审宣判,坚决斩断灰色产业链
- 上游新闻|智博会上将签约GPP芯片生产项目,关注智博会|30多家电子产业企业构建梁平电子信息产业链
- 北京商报网|2020中国电信5G产业创新联盟北京站启动
- 家族战队|就读懂了湖南互联网产业,读懂了这些话
- 52未来社区|中国全面支持的半导体产业会怎么样?,新导航芯片领先GPS
- c114通信网|深度解读:2020年光电子产业将迎难而上