计图可微渲染库再更新!渲染效果、速度新突破!

2022/12/07 Tutorial

计图可微渲染库再更新!渲染效果、速度新突破!

计图可微渲染库(Jrender)自推出以来,旨在解决可微渲染速度慢、真实感低、复现难等问题,目前已在计算机图形学、计算机视觉的学术研究领域取得应用,并获得2022年度CAD&CG大会优秀图形开源软件提名奖。

在本次更新中,Jrender同时支持了前向渲染与延迟渲染,并引入多种独有渲染效果,包括环境遮挡、软阴影、全局光照及次表面散射,大幅提升渲染真实感,以上渲染效果在其他开源可微渲染库中均未支持。

此外,基于Coarse-to-Fine和包围盒机制,Jrender的渲染速度进一步提升,相较于官方版的NMR算法、SoftRas算法及Pytorch3D可微渲染库,在不同规模场景各分辨率下均有速度优势,加速比可达几倍到几十倍不等。

图1  JRender可微渲染的效果展示

Part 1

渲染效果增强

本次JRender的更新,同时支持了更多的新功能,简单介绍如下。

  • 环境遮挡是描绘物体自遮挡、增强渲染效果在环境光照下真实感的渲染技术。在Jrender中,我们采用SSAO算法计算环境遮挡,可以在几乎不增加计算开销的情况下增强渲染效果,尤其是复杂几何区域的细节呈现。

图2  环境遮挡(SSAO)细节增强效果

  • 软阴影是物体之间互遮挡及自身遮挡共同作用的结果,也是在面光源、环境光源下提升渲染图像真实感的关键,我们在Jrender里采用VSM算法来渲染软阴影效果,即使对复杂阴影,也可以在实时帧率下完成渲染。

图3  软阴影(VSM)渲染效果

  • 全局光照的计算复杂度要远高于直接光照,在实时帧率下完成全局光照渲染是很大的挑战,但全局光照特性在镜面反射、毛玻璃反射等场景中非常关键,对场景的真实感起到关键作用。为了渲染全局光照效果,我们在Jrender中采用SSR算法,如图4所示,对镜面反射、毛玻璃反射均能给出理想渲染效果。

图4 全局光照(SSR)渲染效果

  • 次表面散射不仅考虑光线在物体表面的散射特性,也考虑光线在物体内部的散射,当光线与次表面散射介质接触时,会通过散射在物体表面其他位置出射,通常用来表现皮肤、玉石、云雾等效果。我们在Jrender中实现了SSSSS算法,用高斯卷积近似次表面散射效果,可以增强人脸皮肤等材质的真实感。

图5  次表面散射(SSSSS)渲染效果

Part 2

渲染速度提升

在可微渲染算法中,光栅化是算法的主要瓶颈,为了降低渲染算法的计算开销,我们通过Coarse-to-Fine及包围盒机制对三角面片光栅化进行加速。相比于可微渲染算法NMR的官方实现、SoftRas的官方实现及Pytorch3D可微渲染库(仅支持SoftRas一种算法),Jrender在各种规模场景、多种图像分辨率下均能取得速度优势。

表1. Jrender在512*512分辨率下相比其他可微渲染实现加速比

表2. Jrender在1024*1024分辨率下相比其他可微渲染实现加速比

表3. Jrender在2048*2048分辨率下相比其他可微渲染实现加速比

如上表所示,Jrender渲染库的Overhead很小,因此在小场景低分辨率情况下会比Pytorch3D快几倍甚至十几倍。同时,Jrender受图像分辨率、场景复杂度的影响相对较小,在高分辨率下渲染复杂场景,也会远远快于其他开源实现。

Part 2

开源贡献者

Jrender的开源生态发展离不开开发者的贡献,感谢以下开发者对Jrender此次更新的贡献!

  • 辛杭高,清华大学计算机系博士生,计图团队核心成员,主要研究实时图形渲染方向,在图形学领域顶级期刊TOG、TVCG上以第一作者身份发表学术论文多篇。

  • 向晨中,清华大学电子系本科生,计图社区活跃开发者,主要研究实时图形渲染方向。

欢迎更多同学使用计图,使用Jrender,更多详情请访问Jrender代码仓库:

https://github.com/Jittor/jrender

Jrender仓库(欢迎Follow!欢迎Star!)

GGC往期回顾

  1. 计图开源:拉格朗日视角的可微渲染方法
  2. 计图开源:人体视频姿态迁移之细节增强 (T-PAMI发表,内附精彩视频)
  3. 计图原生支持Einops和多种主流MLP网络啦
  4. JSparse:Jittor稀疏卷积计算库开源啦!
  5. 城市可视分析 | CVMJ Spotlight
可通过下方二维码,关注清华大学图形学实验室,了解图形学、Jittor框架、CVMJ期刊和CVM会议的相关资讯。

Search

    Table of Contents