当前位置: 首页 > 专利查询>中山大学专利>正文

一种基于CPU的生物分子可视化光线追踪渲染方法技术

技术编号:26794285 阅读:25 留言:0更新日期:2020-12-22 17:10
本发明专利技术为生物分子可视化光线追踪渲染方法,构建三维场景、生物分子的空间填充表达模型;将模型实例化为可变换实例,将可变换实例绑定加入到三维场景中;通过光线从摄像机出发经过像素点射向三维场景中,若光线与原子没有相交则结束追踪,以背景颜色作为像素颜色;若光线与原子发生相交则计算生成反射光线,并设置多个光源分别从多个不同方向射向模型以继续追踪反射光线,若反射光线与多个光源中的光线相交则加入光照贡献值;最后采用渲染方程,根据原子自身颜色和光照度贡献值计算像素的颜色值。本发明专利技术使分子结构获得高质量渲染结果的同时实现实时交互帧率,可用于超级计算机上进行生物分子可视化工作。

【技术实现步骤摘要】
一种基于CPU的生物分子可视化光线追踪渲染方法
本专利技术涉及计算机图形学渲染
,具体为一种基于CPU的生物分子可视化光线追踪渲染方法。
技术介绍
交互式生物分子可视化是可视化领域的重要分支之一,生物分子可视化是利用分子结构的三维可视化以及分子结构的高质量渲染,进而对分子结构、性质和相互作用进行解析的。现有的分子可视化工具大多使用的是光栅渲染方法,这种方法存在明显的不足,包括缺少阴影和环境光遮蔽的全局光照效果,导致分子结构无法清晰理解。光线追踪是一种渲染方法,通过追踪与场景中物体发生交互作用的光线,模拟光的反射和散射,可以自然实现阴影和环境光遮蔽的效果,带来高质量的渲染结果。但是渲染过程计算量很大,一直以来受限于硬件性能瓶颈,因此光线追踪常用于离线渲染图片和视频,难以达到实时交互的帧率要求。近年随着硬件性能的发展,实时光线追踪也开始应用于生物分子可视化领域。出现了基于GPU加速的光线追踪算法,利用GPU强大的计算能力提高渲染帧率,然而这种方法对图形处理器硬件要求较高,适用范围受限,依然无法替代现有分子可视化的光栅渲染方法。
技术实现思路
为解决现有技术所存在的技术问题,本专利技术提供一种基于CPU的生物分子可视化光线追踪渲染方法,利用多核CPU的并行计算能力实现光线追踪加速渲染,并支持通过远程高性能计算服务器实现远程渲染,使分子结构获得高质量渲染结果的同时实现实时交互帧率,并用于超级计算机上进行生物分子可视化工作。本专利技术采用以下技术方案来实现:一种基于CPU的生物分子可视化光线追踪渲染方法,构建三维场景,并根据原子信息构建生物分子的空间填充表达模型;将空间填充表达模型实例化为可变换实例,将可变换实例绑定加入到所构建的三维场景中;通过光线从摄像机出发经过像素点射向构建好的三维场景中,若光线与三维场景中的原子没有相交,则结束追踪,以背景颜色作为像素颜色;若光线与三维场景中的原子发生相交,则计算生成反射光线,并设置多个光源分别从多个不同方向射向生物分子的空间填充表达模型以继续追踪反射光线,若反射光线与所设置的多个光源中的光线相交,则加入光照贡献值,否则不加入光照贡献值;最后采用渲染方程,根据原子自身颜色和光照度贡献值计算像素的颜色值。在本专利技术的一个优选实施例中,上述渲染方法通过本地光线追踪。在本专利技术的另一个优选实施例中,上述渲染方法通过远程光线追踪实现。本专利技术与现有技术相比,具有如下优点和有益效果:1、本专利技术基于CPU计算,无需图形处理器GPU,利用多核CPU实施并行计算提高光线追踪渲染效率,将渲染任务分配到多个线程完成,提高了计算资源的使用效率,渲染质量高,且可实现实时交互帧率。2、本专利技术提供远程光线追踪渲染方法,本地主机负责解析原子信息,渲染任务由远程渲染端完成,并且实时接收交互信息和发回帧缓存数据。远程光线追踪渲染方法可借助远程高性能计算机的强大硬件性能获得高帧率的渲染结果,且对本地计算资源占用小,对硬件要求低。3、本专利技术经过移植后部署到超级计算机(如天河二号),利用超级计算机强大的CPU并行计算能力,获得实时高帧率交互式渲染,满足实时交互的帧率需求,实现一种可用于超级计算机的生物分子可视化方法。附图说明图1是本专利技术的光线追踪原理示意图;图2是本地光线追踪渲染流程图;图3是光线追踪渲染算法流程图;图4是屏幕像素空间并行计算示意图;图5是远程光线追踪渲染流程图;图6是现有的分子可视化工具的光栅渲染结果图;图7是本专利技术光线追踪渲染结果图。具体实施方式下面结合实施例及附图对本专利技术作进一步详细的描述,但本专利技术的实施方式不限于此。如图1所示,本专利技术基于CPU的生物分子可视化光线追踪渲染方法,构建三维场景,并根据原子信息构建生物分子的空间填充表达模型;将空间填充表达模型实例化为可变换实例,将可变换实例绑定加入到所构建的三维场景中;通过光线从摄像机出发经过像素点射向构建好的三维场景中,若光线与场景中的原子没有相交,则结束追踪,以背景颜色作为像素颜色;若光线与场景中的原子发生相交,则计算生成反射光线,并设置多个点光源分别从多个不同方向射向分子模型以继续追踪反射光线,若反射光线与所设置的多个光源中的光线相交,则加入光照贡献值,否则不加入光照贡献值;最后采用着色函数(即渲染方程),根据原子自身颜色和光照度贡献值计算像素的颜色值。本专利技术基于CPU的生物分子可视化光线追踪渲染方法,可按应用场景分为本地光线追踪渲染和远程光线追踪渲染两种方式实现,下面通过两个实施例分别进行详细说明。实施例1如图2所示,通过本地光线追踪,实现本专利技术生物分子可视化光线追踪渲染方法的具体步骤如下:步骤S11、解析分子PDB文件,主要读取ATOM记录行以获取原子的类型、坐标等原子信息。步骤S12、利用步骤S11所获得取的原子信息,遍历所有原子,并用不同类型原子对应的范德华半径作为半径的球体代表原子,构建生物分子的空间填充表达模型,并将空间填充表达模型实例化为可变换实例。其中,空间填充表达模型是分子的一种表达式,用范德华球体代表原子。生物分子的空间填充表达模型简称分子模型。步骤S13、构建三维场景,并将步骤S12中的可变换实例绑定加入到所构建的三维场景中,根据分子模型的大小定义摄像机的初始位置。步骤S14、通过用户的交互动作对摄像机进行控制,包括通过鼠标控制摄像机的移动和缩放,实现分子模型旋转变换,生成每帧交互信息并更新摄像机位置参数和变换分子模型;然后利用光线追踪渲染算法计算每个像素点的颜色值,存入帧缓存完成每帧画面渲染。具体来说,如图3所示,步骤S14中光线追踪渲染算法的具体步骤如下:步骤S141、对可视化屏幕的像素空间进行分块,每个空间块(也叫像素块)大小为8×8的像素块,如图4所示,分块后将每个空间块的计算工作分配给不同的线程,每个线程同时执行渲染任务,并行计算每个空间块内的像素颜色值;其中,线程数量取决于CPU核心数,CPU核心数越多并行程度越高。步骤S142、对于步骤S141中每个空间块内的计算任务,从当前的摄像机位置经像素空间的像素点发射光线,射向三维场景中。像素空间指可视化屏幕(即显示器屏幕)的像素点空间,例如显示器屏幕像素是1980*1080,那么像素空间就有1980*1080个像素点。步骤S143、计算光线与三维场景中原子的相交情况,具体为计算光线与三维场景中分子模型的原子相交的情况,本实施例优选只计算光线与三维场景中距离屏幕空间最近的原子(即范德华球体)。若光线与分子模型中的原子没有相交,则光线射向背景,结束追踪,像素颜色直接取值为黑色,并返回;若光线与分子模型中的原子发生相交,则读取相交的范德华球体中所记录的对应的原子类型信息,根据原子类型信息从CPK配色表中获取该原子类型对应的颜色值并记录,并从光线与分子模型中的原子的相交点处生成反射光线,再转入步骤S144。步骤S144、设本文档来自技高网...

【技术保护点】
1.一种基于CPU的生物分子可视化光线追踪渲染方法,其特征在于:构建三维场景,并根据原子信息构建生物分子的空间填充表达模型;将空间填充表达模型实例化为可变换实例,将可变换实例绑定加入到所构建的三维场景中;通过光线从摄像机出发经过像素点射向构建好的三维场景中,若光线与三维场景中的原子没有相交,则结束追踪,以背景颜色作为像素颜色;若光线与三维场景中的原子发生相交,则计算生成反射光线,并设置多个光源分别从多个不同方向射向生物分子的空间填充表达模型以继续追踪反射光线,若反射光线与所设置的多个光源中的光线相交,则加入光照贡献值,否则不加入光照贡献值;最后采用渲染方程,根据原子自身颜色和光照度贡献值计算像素的颜色值。/n

【技术特征摘要】
1.一种基于CPU的生物分子可视化光线追踪渲染方法,其特征在于:构建三维场景,并根据原子信息构建生物分子的空间填充表达模型;将空间填充表达模型实例化为可变换实例,将可变换实例绑定加入到所构建的三维场景中;通过光线从摄像机出发经过像素点射向构建好的三维场景中,若光线与三维场景中的原子没有相交,则结束追踪,以背景颜色作为像素颜色;若光线与三维场景中的原子发生相交,则计算生成反射光线,并设置多个光源分别从多个不同方向射向生物分子的空间填充表达模型以继续追踪反射光线,若反射光线与所设置的多个光源中的光线相交,则加入光照贡献值,否则不加入光照贡献值;最后采用渲染方程,根据原子自身颜色和光照度贡献值计算像素的颜色值。


2.根据权利要求1所述的生物分子可视化光线追踪渲染方法,其特征在于,所述方法通过本地光线追踪实现,包括步骤:
步骤S11、解析分子文件,获取原子信息;
步骤S12、利用所获得取的原子信息,遍历所有原子,并用不同类型原子对应的范德华半径作为半径的球体代表原子,构建生物分子的空间填充表达模型,并将生物分子的空间填充表达模型实例化为可变换实例;
步骤S13、构建三维场景,将可变换实例绑定加入到所构建的三维场景中,根据生物分子的空间填充表达模型的大小定义摄像机的初始位置;
步骤S14、通过交互动作对摄像机进行控制,实现生物分子的空间填充表达模型旋转变换,生成每帧交互信息并更新摄像机位置参数和变换生物分子的空间填充表达模型;然后利用光线追踪渲染算法计算每个像素点的颜色值,存入帧缓存完成每帧画面渲染。


3.根据权利要求2所述的生物分子可视化光线追踪渲染方法,其特征在于,步骤S14中光线追踪渲染算法的步骤包括:
步骤S141、对可视化屏幕的像素空间进行分块,分块后将每个空间块的计算工作分配给不同的线程,每个线程同时执行渲染任务,并行计算每个空间块内的像素颜色值;
步骤S142、对于每个空间块内的计算任务,从当前的摄像机位置经像素空间的像素点发射光线,射向三维场景中;
步骤S143、计算光线与三维场景中生物分子的空间填充表达模型的原子相交的情况,若光线与原子没有相交,则光线射向背景,结束追踪,像素颜色直接取值为黑色,并返回;若光线与原子发生相交,则读取对应的原子类型信息,根据原子类型信息获取该原子类型对应的颜色值并记录,并从光线与原子的相交点处生成反射光线,再转入步骤S144;
步骤S144、设置多个点光源分别从多个不同方向射向空间填充表达模型以获得渲染效果,遍历多个点光源,计算所述反射光线与点光源的相交情况,若无相交则该点光源对颜色值无贡献;若发生相交则计算该点光源对颜色值的光照贡献值;
步骤S145、利用步骤S143中获取的颜色值和步骤S144中计算的光照贡献值,通过渲染方程计算像素点的颜色值;
步骤S146、每个线程完成像素点颜色值的计算后,将结果存入帧缓存中对应空间块的坐标位置,所有空间块完成计算后将合成完整像素空间的帧缓存。


4.根据权利要求3所述的生物分子可视化光线追踪渲染方法,其特征在于,步骤S145的渲染方程为:
Le=La+∑(w1×La×D+w2×S)
其中,Le为像素最终颜色值,La为原子自身颜色;∑(w1×La×D+w2×S)为不同点光源所产生的光照贡献值的累加项,w1和w2皆为与反射光线相交的点光源对应光照贡献值的权重;D为光线在与原子的相交点法线上的投影量,用于计算高光效果,D=-(lp·Ns),其中lp为光源方向,Ns是光线与原子的相交点的归一化法向量;S为反射光线在光源方向上的投影量,S=(lr·lp)10,其中lr是反射光线。


5.根据权利要求1所述的生物分子可视化光线追踪渲染方法,其特征在于,所述方法通过远程光线追踪实现,包括步骤:
步骤S21、本地主机端和远程渲染端建立socket连接,远程渲染端等待接收本地主机端解析的原子信息;
步骤S22、本地主机端解析分子文件,获得原子信息,将渲染所需原子信息传输到远程渲染端;
步骤S23、远程渲染端通过接收本地主机端发送的原子信息,解析数据内容并构建生物分子的空间填充表达模型和三维场景;
步骤S24、本地主机端创建用户界面窗口并根据交互动作生成每帧交互信息,等待接收帧数缓存;然后将摄像机位置和生物分子的空间填充表达模型变换交互信息封装后...

【专利技术属性】
技术研发人员:纪庆革李家振张永东杜云飞
申请(专利权)人:中山大学
类型:发明
国别省市:广东;44

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1