CN112116693A - 一种基于cpu的生物分子可视化光线追踪渲染方法 - Google Patents
一种基于cpu的生物分子可视化光线追踪渲染方法 Download PDFInfo
- Publication number
- CN112116693A CN112116693A CN202010844072.XA CN202010844072A CN112116693A CN 112116693 A CN112116693 A CN 112116693A CN 202010844072 A CN202010844072 A CN 202010844072A CN 112116693 A CN112116693 A CN 112116693A
- Authority
- CN
- China
- Prior art keywords
- atom
- rendering
- ray
- pixel
- light
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Granted
Links
- 238000009877 rendering Methods 0.000 title claims abstract description 137
- 238000000034 method Methods 0.000 title claims abstract description 50
- 238000012800 visualization Methods 0.000 title claims abstract description 33
- 238000005286 illumination Methods 0.000 claims abstract description 26
- 230000002452 interceptive effect Effects 0.000 claims abstract description 10
- 238000004364 calculation method Methods 0.000 claims description 24
- 230000003993 interaction Effects 0.000 claims description 17
- 230000000694 effects Effects 0.000 claims description 16
- 238000000638 solvent extraction Methods 0.000 claims description 8
- 230000008569 process Effects 0.000 claims description 6
- 230000000007 visual effect Effects 0.000 claims description 5
- 230000001186 cumulative effect Effects 0.000 claims description 4
- 230000009466 transformation Effects 0.000 claims description 4
- 230000009471 action Effects 0.000 claims description 3
- 230000000737 periodic effect Effects 0.000 claims description 3
- 238000005538 encapsulation Methods 0.000 claims description 2
- 230000002194 synthesizing effect Effects 0.000 claims description 2
- 230000001131 transforming effect Effects 0.000 claims description 2
- 238000010586 diagram Methods 0.000 description 5
- 238000012545 processing Methods 0.000 description 3
- 230000005540 biological transmission Effects 0.000 description 2
- 238000012986 modification Methods 0.000 description 2
- 230000004048 modification Effects 0.000 description 2
- 238000006467 substitution reaction Methods 0.000 description 2
- 230000001133 acceleration Effects 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000006243 chemical reaction Methods 0.000 description 1
- 238000004040 coloring Methods 0.000 description 1
- 238000010276 construction Methods 0.000 description 1
- 238000007405 data analysis Methods 0.000 description 1
- 230000007547 defect Effects 0.000 description 1
- 238000011161 development Methods 0.000 description 1
- 238000004806 packaging method and process Methods 0.000 description 1
- 238000002054 transplantation Methods 0.000 description 1
- 238000007794 visualization technique Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/06—Ray-tracing
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T1/00—General purpose image data processing
- G06T1/20—Processor architectures; Processor configuration, e.g. pipelining
-
- Y—GENERAL TAGGING OF NEW TECHNOLOGICAL DEVELOPMENTS; GENERAL TAGGING OF CROSS-SECTIONAL TECHNOLOGIES SPANNING OVER SEVERAL SECTIONS OF THE IPC; TECHNICAL SUBJECTS COVERED BY FORMER USPC CROSS-REFERENCE ART COLLECTIONS [XRACs] AND DIGESTS
- Y02—TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
- Y02D—CLIMATE CHANGE MITIGATION TECHNOLOGIES IN INFORMATION AND COMMUNICATION TECHNOLOGIES [ICT], I.E. INFORMATION AND COMMUNICATION TECHNOLOGIES AIMING AT THE REDUCTION OF THEIR OWN ENERGY USE
- Y02D10/00—Energy efficient computing, e.g. low power processors, power management or thermal management
Landscapes
- Engineering & Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Computer Graphics (AREA)
- Image Generation (AREA)
Abstract
本发明为生物分子可视化光线追踪渲染方法,构建三维场景、生物分子的空间填充表达模型;将模型实例化为可变换实例,将可变换实例绑定加入到三维场景中;通过光线从摄像机出发经过像素点射向三维场景中,若光线与原子没有相交则结束追踪,以背景颜色作为像素颜色;若光线与原子发生相交则计算生成反射光线,并设置多个光源分别从多个不同方向射向模型以继续追踪反射光线,若反射光线与多个光源中的光线相交则加入光照贡献值;最后采用渲染方程,根据原子自身颜色和光照度贡献值计算像素的颜色值。本发明使分子结构获得高质量渲染结果的同时实现实时交互帧率,可用于超级计算机上进行生物分子可视化工作。
Description
技术领域
本发明涉及计算机图形学渲染技术领域,具体为一种基于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、设置多个点光源分别从多个不同方向射向分子模型以获得渲染效果,遍历多个点光源,计算步骤S143中生成的反射光线与点光源的相交情况,若无相交则该点光源对颜色值无贡献;若发生相交则计算该点光源对颜色值的贡献值,即光照贡献值。
对比现有的光线追踪采用单个光源,本实施例中设置多个光源可以在不增加计算量的情况下获得更充分的渲染效果,并且没有明显的帧率损失;而现有技术采用单个光源进行渲染时,阴影比较严重。
本实施例优选设置四个点光源,分别从四个不同方向射向分子模型,从而实现对计算性能和渲染效果之间的平衡。
步骤S145、利用步骤S143中获取的颜色值和步骤S144中计算的光照贡献值,通过本实施例的渲染方程计算像素点的颜色值。渲染方程为:
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是反射光线,为防止光照贡献值过大,计算10次幂,以降低光照贡献值对像素点颜色值的影响。
步骤S146、每个线程完成计算后将结果存入帧缓存中对应像素块的坐标位置,所有像素块完成计算后将合成完整像素空间的帧缓存。
实施例2
远程渲染工作对比本地渲染,要额外地解决数据的实时传输和交互信息的实时传输,但能充分利用远程服务器的算力来获得比本地更好的帧率,解放追踪渲染方法对本地电脑的性能要求。如图5所示,通过远程光线追踪,实现本发明生物分子可视化光线追踪渲染方法的具体步骤如下:
步骤S21、本地主机端和远程渲染端服务器建立socket连接,远程渲染端等待接收本地主机端解析的原子信息。
步骤S22、本地主机端解析分子PDB文件,读取ATOM记录获得原子信息,将渲染所需原子信息用自定义协议封装后传输到远程渲染端。
本步骤中,封装原子信息的自定义协议为:本地主机端将每个原子的原子序号和原子的三维坐标x、y、z值按顺序存入一维数组中,一维数组的步长为四,表示数组中通过每四个元素表征一个原子信息。
步骤S23、远程渲染端通过接收本地主机端发送的原子信息,解析数据内容并构建生物分子的空间填充表达模型(即分子模型)和三维场景。
本步骤的数据解析及构建分子模型与三维场景的具体步骤如下:
步骤S231、远程渲染端遍历所接收的原子信息数据,按自定义协议解析为结构体数组,获得原子类型和原子坐标。
本步骤自定义协议解析与步骤S22的自定义协议封装相配套,具体为:远程渲染端接收到本地主机端所传输的一维数组后,将来自本地主机端的一维数组按步长为四进行解析,并存入远程渲染端的原子信息一维数组中;远程渲染端的原子信息一维数组中,数组元素的数据类型为原子信息结构体,该结构体中的数据成员包括用于表示原子类型的字符串类型、用于表示原子三维坐标值的浮点数类型,其中原子类型根据从本地主机端接收的一维数组中的原子序号查周期表得到。
步骤S232、根据原子类型查找周期表取得对应的原子半径(如范德华半径),将所取得的原子半径与原子坐标相结合,构建用于代表原子的球体;遍历所有原子后构建生物分子的空间填充表达模型(简称分子模型),并将空间填充表达模型实例化为可变换实例。
步骤S24、本地主机端创建用户界面窗口并根据用户交互动作生成每帧交互信息,等待接收帧数缓存;然后将摄像机位置和分子模型变换交互信息封装后,实时传输到远程渲染端。
步骤S25、远程渲染端接收分子模型变换交互信息,并更新场景中摄像机位置参数和对分子模型进行相应的变换。
步骤S26、远程渲染端利用光线追踪渲染算法,计算像素点的颜色值,将计算结果存入帧缓存,并用自定义协议对渲染结果存放的帧缓存进行封装,发回到本地主机端。
渲染结果存放的帧缓存通过网络实时传输,为了减少网络延迟,本实施例通过自定义协议封装所述帧缓存,以减少传输的数据信息量,具体为:将帧缓存每像素的RGB三色值转换为字符型数据,存储在数据信息类型为字符型的发送缓存数组中,每三个单元格代表一个像素点,分别存储RGB三色值;本地主机端接收后,遍历所接收的缓存数组,以偏移值为3解析得到每像素点的三色值并存在本地主机端帧缓存中。
远程渲染端所采用的光线追踪渲染算法与实施例1的步骤S14相同;只是整个光线追踪渲染过程都在远程渲染端执行,本地主机端不需要消耗计算资源,只需要等待接收每帧画面的帧缓存,远程渲染端的硬件性能越好,则本地主机端的帧率越高。也就是说,步骤S26也包括如下步骤:
步骤S261、对可视化屏幕的像素空间进行分块,分块后将每个空间块的计算工作分配给不同的线程,每个线程同时执行渲染任务,并行计算每个空间块内的像素颜色值;
步骤S262、对于每个空间块内的计算任务,从当前的摄像机位置经像素空间的像素点发射光线,射向三维场景中;
步骤S263、计算光线与三维场景中生物分子的空间填充表达模型的原子相交的情况,若光线与原子没有相交,则光线射向背景,结束追踪,像素颜色直接取值为黑色,并返回;若光线与原子发生相交,则读取对应的原子类型信息,根据原子类型信息获取该原子类型对应的颜色值并记录,并从光线与原子的相交点处生成反射光线,再转入步骤S264;
步骤S264、设置多个点光源分别从多个不同方向射向空间填充表达模型以获得渲染效果,遍历多个点光源,计算所述反射光线与点光源的相交情况,若无相交则该点光源对颜色值无贡献;若发生相交则计算该点光源对颜色值的光照贡献值;
步骤S265、利用步骤S263中获取的颜色值和步骤S264中计算的光照贡献值,通过渲染方程计算像素点的颜色值;渲染方程为:
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是反射光线。
步骤S266、每个线程完成像素点颜色值的计算后,将结果存入帧缓存中对应空间块的坐标位置,所有空间块完成计算后将合成完整像素空间的帧缓存。
步骤S27、本地主机端接收所述帧缓存数据,并解析渲染每帧画面,然后根据用户交互动作重新生成摄像机位置和分子模型交换交互信息。
由于实时传输的数据信息量比较小,在良好的网络环境下没有明显网络延迟,因此采用远程光线追踪渲染方法的本地主机端的渲染帧率接近本地光线追踪渲染方法的渲染帧率,即本实施例的渲染帧率与实施例1的渲染帧率接近。
本发明经移植后可在天河二号超级计算机上执行,超级计算机上拥有众多计算节点,每个计算节点上配置了多个CPU核心,本实施例能借助超级计算机强大的并行计算能力获得较高的渲染帧率。具体移植步骤为:将分子PDB文件传输到超级计算机上,然后通过本实施例的远程光线追踪渲染方法直接渲染画面并实时交互。
在本发明中,生成的画面分辨率分别是512×512和1440×900,用于可视化的分子中原子数量为12368个,在远程光线追踪渲染模式下,利用天河二号超级计算机的一个计算节点调用不同数量的CPU核心数进行渲染,实验结果如表1所示。
表1不同数量CPU核心数在两种分辨率下的渲染帧率和每秒产生光线数量
CPU核心数为1时是串行计算,当CPU核心数增加时变为并行计算,由表1可知,渲染帧率提升明显并且帧数满足实时交互需求。
如图6所示,现有的分子可视化工具采用光栅渲染方法导致缺少阴影渲染效果,且难以判断分子结构的深度信息和原子位置信息,观察效果不佳。如图7所示,本发明采用基于CPU的生物分子可视化光线追踪渲染方法,能消除现有渲染方法带来的阴影,获得更高质量的可视化效果,并且满足交互帧率,能够清晰地观察到分子结构的深度信息和原子的位置信息,从而充分地了解生物分子结构。相比基于GPU的光线追踪渲染方法,本发明无需图形处理器GPU进行运算,获得较好渲染效果的同时对硬件性能要求低,能够更好地适用于不同硬件性能的设备上。
上述实施例为本发明较佳的实施方式,但本发明的实施方式并不受上述实施例的限制,其他的任何未背离本发明的精神实质与原理下所作的改变、修饰、替代、组合、简化,均应为等效的置换方式,都包含在本发明的保护范围之内。
Claims (9)
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、本地主机端创建用户界面窗口并根据交互动作生成每帧交互信息,等待接收帧数缓存;然后将摄像机位置和生物分子的空间填充表达模型变换交互信息封装后,实时传输到远程渲染端;
步骤S25、远程渲染端接收生物分子的空间填充表达模型变换交互信息,并更新三维场景中摄像机位置参数和对生物分子的空间填充表达模型进行相应的变换;
步骤S26、远程渲染端利用光线追踪渲染算法,计算像素点的颜色值,将计算结果存入帧缓存,并对渲染结果存放的帧缓存进行封装,发回到本地主机端;
步骤S27、本地主机端接收所述帧缓存,并解析渲染每帧画面,然后根据交互动作重新生成摄像机位置和生物分子的空间填充表达模型交换交互信息。
6.根据权利要求5所述的生物分子可视化光线追踪渲染方法,其特征在于,步骤S22中,将渲染所需原子信息用自定义协议封装后传输到远程渲染端,其中封装原子信息的自定义协议为:本地主机端将每个原子的原子序号和原子的三维坐标值按顺序存入一维数组中,一维数组的步长为四,表示数组中通过每四个元素表征一个原子信息;
步骤S23中数据解析及构建生物分子的空间填充表达模型与三维场景的步骤包括:
步骤S231、远程渲染端遍历所接收的原子信息数据,按自定义协议解析为结构体数组,获得原子类型和原子坐标;
其中,自定义协议解析与步骤S22的自定义协议封装相配套,为:远程渲染端接收到本地主机端所传输的一维数组后,将来自本地主机端的一维数组按步长为四进行解析,并存入远程渲染端的原子信息一维数组中;远程渲染端的原子信息一维数组中,数组元素的数据类型为原子信息结构体,该结构体中的数据成员包括用于表示原子类型的字符串类型、用于表示原子三维坐标值的浮点数类型,其中原子类型根据从本地主机端接收的一维数组中的原子序号查周期表得到;
步骤S232、根据原子类型查找周期表取得对应的原子半径,将所取得的原子半径与原子坐标相结合,构建用于代表原子的球体;遍历所有原子后构建生物分子的空间填充表达模型,并将空间填充表达模型实例化为可变换实例。
7.根据权利要求5所述的生物分子可视化光线追踪渲染方法,其特征在于,步骤S26中通过自定义协议封装所述帧缓存,为:将帧缓存每像素的RGB三色值转换为字符型数据,存储在数据信息类型为字符型的发送缓存数组中,每三个单元格代表一个像素点,分别存储RGB三色值;本地主机端接收后,遍历所接收的缓存数组,以偏移值为3解析得到每像素点的三色值并存在本地主机端帧缓存中。
8.根据权利要求5所述的生物分子可视化光线追踪渲染方法,其特征在于,步骤S26包括:
步骤S261、对可视化屏幕的像素空间进行分块,分块后将每个空间块的计算工作分配给不同的线程,每个线程同时执行渲染任务,并行计算每个空间块内的像素颜色值;
步骤S262、对于每个空间块内的计算任务,从当前的摄像机位置经像素空间的像素点发射光线,射向三维场景中;
步骤S263、计算光线与三维场景中生物分子的空间填充表达模型的原子相交的情况,若光线与原子没有相交,则光线射向背景,结束追踪,像素颜色直接取值为黑色,并返回;若光线与原子发生相交,则读取对应的原子类型信息,根据原子类型信息获取该原子类型对应的颜色值并记录,并从光线与原子的相交点处生成反射光线,再转入步骤S264;
步骤S264、设置多个点光源分别从多个不同方向射向空间填充表达模型以获得渲染效果,遍历多个点光源,计算所述反射光线与点光源的相交情况,若无相交则该点光源对颜色值无贡献;若发生相交则计算该点光源对颜色值的光照贡献值;
步骤S265、利用步骤S263中获取的颜色值和步骤S264中计算的光照贡献值,通过渲染方程计算像素点的颜色值;
步骤S266、每个线程完成像素点颜色值的计算后,将结果存入帧缓存中对应空间块的坐标位置,所有空间块完成计算后将合成完整像素空间的帧缓存。
9.根据权利要求8所述的生物分子可视化光线追踪渲染方法,其特征在于,步骤S265的渲染方程为:
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是反射光线。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010844072.XA CN112116693B (zh) | 2020-08-20 | 2020-08-20 | 一种基于cpu的生物分子可视化光线追踪渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202010844072.XA CN112116693B (zh) | 2020-08-20 | 2020-08-20 | 一种基于cpu的生物分子可视化光线追踪渲染方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112116693A true CN112116693A (zh) | 2020-12-22 |
CN112116693B CN112116693B (zh) | 2023-09-15 |
Family
ID=73804334
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202010844072.XA Active CN112116693B (zh) | 2020-08-20 | 2020-08-20 | 一种基于cpu的生物分子可视化光线追踪渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112116693B (zh) |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110176055A (zh) * | 2019-05-28 | 2019-08-27 | 重庆大学 | 一种用于在3d虚拟引擎中模拟实时全局光照的自适应方法 |
CN113129420A (zh) * | 2021-04-14 | 2021-07-16 | 江苏理工学院 | 一种基于深度缓冲加速的光线追踪渲染方法 |
CN113628318A (zh) * | 2021-07-20 | 2021-11-09 | 北京智源人工智能研究院 | 一种基于光线追踪的分布式实时神经元渲染方法和系统 |
WO2022156451A1 (zh) * | 2021-01-21 | 2022-07-28 | 华为云计算技术有限公司 | 一种渲染方法及装置 |
CN114863004A (zh) * | 2022-05-16 | 2022-08-05 | 温州鞋革产业研究院 | 一种三维模型鞋服云端光线追踪渲染系统和方法 |
CN117274353A (zh) * | 2023-11-20 | 2023-12-22 | 光轮智能(北京)科技有限公司 | 合成图像数据生成方法、控制装置及可读存储介质 |
Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294404A1 (en) * | 2002-08-06 | 2008-11-27 | Zauhar Randy J | Computer Aided Ligand-Based and Receptor-Based Drug Design Utilizing Molecular Shape and Electrostatic Complementarity |
US20090153556A1 (en) * | 2007-12-17 | 2009-06-18 | Electronics And Telecommunications Research Institute | Ray tracing device based on a pixel processing element and method thereof |
US20110069069A1 (en) * | 2009-09-21 | 2011-03-24 | Klaus Engel | Efficient determination of lighting effects in volume rendering |
CN107248188A (zh) * | 2017-05-24 | 2017-10-13 | 上海交通大学 | 动态粒子集合的表面渲染方法及系统 |
CN107665501A (zh) * | 2016-07-29 | 2018-02-06 | 北京大学 | 一种实时变焦光线追踪渲染引擎 |
CN109523617A (zh) * | 2018-10-15 | 2019-03-26 | 中山大学 | 一种基于单目摄像机的光照估计方法 |
CN110231320A (zh) * | 2019-06-05 | 2019-09-13 | 复旦大学 | 一种亚毫秒级实时三维超分辨显微成像系统 |
US20200134904A1 (en) * | 2018-10-25 | 2020-04-30 | International Business Machines Corporation | View-dependent stochastic volume rendering with monte carlo ray exploration |
-
2020
- 2020-08-20 CN CN202010844072.XA patent/CN112116693B/zh active Active
Patent Citations (8)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US20080294404A1 (en) * | 2002-08-06 | 2008-11-27 | Zauhar Randy J | Computer Aided Ligand-Based and Receptor-Based Drug Design Utilizing Molecular Shape and Electrostatic Complementarity |
US20090153556A1 (en) * | 2007-12-17 | 2009-06-18 | Electronics And Telecommunications Research Institute | Ray tracing device based on a pixel processing element and method thereof |
US20110069069A1 (en) * | 2009-09-21 | 2011-03-24 | Klaus Engel | Efficient determination of lighting effects in volume rendering |
CN107665501A (zh) * | 2016-07-29 | 2018-02-06 | 北京大学 | 一种实时变焦光线追踪渲染引擎 |
CN107248188A (zh) * | 2017-05-24 | 2017-10-13 | 上海交通大学 | 动态粒子集合的表面渲染方法及系统 |
CN109523617A (zh) * | 2018-10-15 | 2019-03-26 | 中山大学 | 一种基于单目摄像机的光照估计方法 |
US20200134904A1 (en) * | 2018-10-25 | 2020-04-30 | International Business Machines Corporation | View-dependent stochastic volume rendering with monte carlo ray exploration |
CN110231320A (zh) * | 2019-06-05 | 2019-09-13 | 复旦大学 | 一种亚毫秒级实时三维超分辨显微成像系统 |
Non-Patent Citations (1)
Title |
---|
吕智涵;苏天;: "基于粒子系统的大分子三维常规表达可视化", 图学学报, no. 04, pages 119 - 124 * |
Cited By (10)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN110176055A (zh) * | 2019-05-28 | 2019-08-27 | 重庆大学 | 一种用于在3d虚拟引擎中模拟实时全局光照的自适应方法 |
CN110176055B (zh) * | 2019-05-28 | 2023-04-18 | 重庆大学 | 一种用于在3d虚拟引擎中模拟实时全局光照的自适应方法 |
WO2022156451A1 (zh) * | 2021-01-21 | 2022-07-28 | 华为云计算技术有限公司 | 一种渲染方法及装置 |
CN113129420A (zh) * | 2021-04-14 | 2021-07-16 | 江苏理工学院 | 一种基于深度缓冲加速的光线追踪渲染方法 |
CN113129420B (zh) * | 2021-04-14 | 2023-06-23 | 江苏理工学院 | 一种基于深度缓冲加速的光线追踪渲染方法 |
CN113628318A (zh) * | 2021-07-20 | 2021-11-09 | 北京智源人工智能研究院 | 一种基于光线追踪的分布式实时神经元渲染方法和系统 |
CN113628318B (zh) * | 2021-07-20 | 2023-09-15 | 北京智源人工智能研究院 | 一种基于光线追踪的分布式实时神经元渲染方法和系统 |
CN114863004A (zh) * | 2022-05-16 | 2022-08-05 | 温州鞋革产业研究院 | 一种三维模型鞋服云端光线追踪渲染系统和方法 |
CN117274353A (zh) * | 2023-11-20 | 2023-12-22 | 光轮智能(北京)科技有限公司 | 合成图像数据生成方法、控制装置及可读存储介质 |
CN117274353B (zh) * | 2023-11-20 | 2024-02-20 | 光轮智能(北京)科技有限公司 | 合成图像数据生成方法、控制装置及可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN112116693B (zh) | 2023-09-15 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN112116693B (zh) | 一种基于cpu的生物分子可视化光线追踪渲染方法 | |
US10230565B2 (en) | Allocation of GPU resources across multiple clients | |
US10008034B2 (en) | System, method, and computer program product for computing indirect lighting in a cloud network | |
US8063902B2 (en) | Method and apparatus for increasing efficiency of transmission and/or storage of rays for parallelized ray intersection testing | |
KR100856211B1 (ko) | 그래픽 가속기 기반의 고속 영상 처리 방법 및 그 장치 | |
US11373358B2 (en) | Ray tracing hardware acceleration for supporting motion blur and moving/deforming geometry | |
KR20240001021A (ko) | 이미지 렌더링 방법, 장치, 전자 설비 및 저장 매체 | |
DE112017003932T5 (de) | Mechanismus zum Beschleunigen von Grafikarbeitslasten in einer Mehrkern-Datenverarbeitungsarchitektur | |
DE102021207678A1 (de) | Streamen eines komprimierten lichtfelds | |
CN108235053B (zh) | 交互式渲染方法、设备、终端和系统 | |
CN111402389A (zh) | 自底至顶的加速数据结构修整中的早期终止 | |
US11854141B2 (en) | Early release of resources in ray tracing hardware | |
DE102021130031A1 (de) | Erscheinungsbildgesteuerte automatische dreidimensionale modellierung | |
JP7440546B2 (ja) | ポイントクラウドデータ処理装置及び方法 | |
US20230206567A1 (en) | Geometry-aware augmented reality effects with real-time depth map | |
CN116075860A (zh) | 信息处理装置、信息处理方法、视频分发方法和信息处理系统 | |
KR102666871B1 (ko) | Ar 디바이스용 대용량 3차원 모델 출력 방법 및 장치 | |
US11861788B1 (en) | Resolution budgeting by area for immersive video rendering | |
US20230410418A1 (en) | Image processing apparatus, image processing method, and storage medium | |
Mwalongo | Interactive web-based visualization | |
Grabner et al. | Web-based visualization of virtual archaeological sites. | |
Díaz et al. | MTV-Player: Interactive Spatio-Temporal Exploration of Compressed Large-Scale Time-Varying Rectilinar Scalar Volumes. | |
KR20230153468A (ko) | 3d 오브젝트의 스트리밍 방법, 장치, 및 프로그램 | |
JP2021060836A (ja) | 提示システム、サーバ及び端末 | |
Di Benedetto | Multiresolution Techniques for Real-Time Visualization of Urban Environments and Terrains |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
PB01 | Publication | ||
PB01 | Publication | ||
SE01 | Entry into force of request for substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |