并行地震数据绘制方法_2

文档序号:8527455阅读:来源:国知局
法可包括步骤:
[0052] S401 :根据预定大小的绘制子区域计算所述绘制子区域的数目n,其中n为整数, 且n彡1 ;
[0053] S402 :将所述绘制区域分成n个所述预定大小的绘制子区域。
[0054] 图5A为本发明一实施例中纹理图像分块的结构示意图。如图5A所示,屏幕的绘 制区域110被两条中心线123分为四个绘制子区域11认、1118、111(:、1110,每个绘制子区域 111A、111B、111C、111D可单独进行绘制。
[0055] 在上述步骤S102中,每一纹理图像子块用于覆盖至相应一个绘制子区域,所有纹 理图像子块与所有绘制子区域一一对应,以在屏幕上绘制一幅完整的纹理图像。
[0056] 在采用显卡绘制纹理图像的过程中,生成纹理图像时,由于采用双线性插值的方 法在相邻纹理图像子块的像素之间进行平滑滤波,所以相邻纹理图像子块的边界处会产生 不连续,人眼对这种不连续非常敏感。本发明实施例通过使相邻的纹理图像子块之间重叠 部分像素来克服这一缺点。
[0057] 本发明实施例中,使纹理图像子块的尺寸略大于绘制子区域的尺寸(如图5A和5C 所示)。将上述纹理图像子块对应至上述绘制子区域后,相邻两个纹理图像子块的边缘将重 叠2m个像素(m为整数,且m彡1)。
[0058] 之后,在上述步骤S103中,利用纹理绘制线程将上述纹理图像子块绘制至绘制子 区域时,并在相邻纹理图像子块的边缘少绘制m个像素。如此一来,相邻纹理图像的边界之 间可平滑过渡,从而所有纹理图像子块可被无缝拼接在一起,形成视觉效果较佳的纹理图 像。
[0059] 如图5A和5B所示,四块纹理图像子块121A、121B、121C、121D分别可对应覆盖四 个绘制子区域111A、111B、111C、111D中的一个。以纹理图像子块121B为例,纹理图像子块 121B的一个边缘与纹理图像子块121A的一个边缘相邻,上述两相邻边缘重叠两个像素;纹 理图像子块121B另有一个边缘与纹理图像子块121D的一个边缘相邻,上述两相邻边缘也 重叠两个像素。如图5A所示,纹理图像子块的像素重叠区域122以中心线123中心对称。
[0060] 本发明实施例中,上述重叠像素的个数不作限定,较佳为2个、4个、或6个。若重叠 像素太多,纹理图像子块的尺寸太大,会导致绘制资源的浪费,降低绘制系统的整体效率。[0061] -个实施例中,如图6所示,在上述步骤S102中,在CPU中,通过"推"的策略逐道 逐采样点生成纹理图像,该策略将计算结果"推"到每一个受影响的像素,包括步骤:
[0062]S601:将每个地震道绘制成波纹线(地震波形);
[0063]S602:计算每个地震波形正向或负向填充后所覆盖的像素,如果该地震波形落在 一个像素内,则计算该地震波形对该像素的颜色贡献值;
[0064]S603:累加所有地震波形对该像素的颜色贡献值,将所得到的总颜色贡献值作为 该像素的亮度值。
[0065] 图7A为本发明一实施例的基于"推"策略的纹理图像中波纹线的绘制方法的示意 图;图7B为图7A中地震波形影响像素颜色值的示意图。如图7A和7B所示,多个采样点 211形成的地震道201被绘制成一条地震波形231,对该地震波形231进行正向填充。计算 受地震波形231影响的像素221,共有6个(如图7B所示)。将地震波形231投影至像素 221,计算地震波形231对像素221的颜色贡献值。累加所有地震波形对像素221的颜色贡 献值,从而得到像素221的亮度值。
[0066] 通过上述"推"的策略,在CPU中可以实现纹理图像的基本绘制,但不能进行实时 绘制。此外,在GPU的并行计算过程中,每个像素的计算都是孤立的,并且GPU的显存空间 有限,无法将地震数据全部放入GPU中进行计算,因此,该"推"的策略无法在GPU上实施, 具有很大的局限性。
[0067] -个实施例中,如图8所示,针对GPU的计算特点,可以通过"拉"的策略,由纹理 生成线程逐像素生成纹理图像子块,该方法包括步骤:
[0068]S801:计算得到所述绘制子区域中的一像素所覆盖的地震道和采样点;
[0069] S802 :根据所述地震道中的所述采样点重建地震波形;
[0070] S803 :对所述地震波形进行正向或负向填充;
[0071] S804 :计算所述地震波形对所述像素的颜色贡献值;
[0072]S805 :将所述颜色贡献值进行累加,生成所述像素的亮度值。
[0073] 本发明实施例中,纹理图像子块的生成过程是逐像素进行的。在该过程中,将每个 像素的覆盖范围从像素空间映射到道集空间,计算每个像素覆盖的地震道道集和采样点范 围。一个像素所对应的地震道和采样点是全部剖面数据的一个子集,将这个子集按照波形 正向或负向填充,计算该子集中每个填充后的地震波形对该像素的颜色贡献,累加该子集 中所有地震波形对该像素的颜色贡献值,得到该像素的最终颜色值。
[0074] 图9为本发明一实施例的基于"拉"策略的纹理图像中波纹线的绘制方法的示意 图,如图9所示,像素321共覆盖两个地震道301、302,两个地震道301、302中的12个采样 点311对像素321有贡献。计算得到12个采样点311后,重建基于这些采样点311的地震 波形331、332,并对地震波形331、332进行正向进行填充,计算地震波形331、332的覆盖范 围以及其对像素321的颜色贡献值,最后,累加地震波形331和地震波形332对像素321的 颜色贡献值,得到像素321的亮度值。逐个计算屏幕上绘制子区域中像素的亮度值,便可生 成纹理图像子块。
[0075] 本发明实施例中"拉"的策略,针对每个像素单独计算其亮度值,能够在GPU中的 快速并行实现,再辅以并行分块绘制的方法,不仅可以将地震数据绘制成纹理图像,还可以 达到实时绘制的目的。
[0076] 在GPU的像素着色器中,如图10所示,像素亮度值的具体计算方法可包括步骤:
[0077] S1001 :将像素从屏幕坐标转换到世界坐标:W=P^M^S,其中P4为投影矩阵逆 矩阵,为模型矩阵逆矩阵,S为像素在屏幕坐标中的位置,W为像素对应的世界坐标;
[0078] S1002 :将像素的世界坐标W的格子G均匀划分成16X16个小格子61,并置每个小 格子Gi= 0 ;
[0079] S1003 :计算与像素的世界坐标W相交的波纹线,并将这些波纹线的覆盖范围与Gi 做相交测试,如果小格子h被覆盖,则置Gi=l(Gi的值为像素中的灰度百分比);
[0080] S1004 :计算格子G中数值为1的小格子匕的个数,并将该数目置为当前像素的亮 度值:
【主权项】
1. 一种并行地震数据绘制方法,其特征在于,所述方法包括: 将屏幕系统的绘制区域分成多个预定大小的绘制子区域; 由纹理生成线程逐像素生成多个纹理图像子块,每一所述纹理图像子块对应其中一个 所述绘制子区域; 由纹理绘制线程将每一所述纹理图像子块绘制至对应的所述绘制子区域,且所有所述 纹理图像子块无缝拼接形成纹理图像。
2. 如权利要求1所述的并行地震数据绘制方法,其特征在于,所述方法还包括: 响应用户对所述纹理图像的放大或缩小操作,所述纹理生成线程和所述纹理绘制线程 重新绘制纹理图像。
3. 如权利要求1所述的并行地震数据绘制方法,其特征在于,在所述由纹理生成线程 逐像素生成多个纹理图像子块,每一所述纹理图像子块对应其中一个所述绘制子区域的步 骤中: 相邻的所述纹理图像子块的边缘重叠2m个像素,其中,m为整数,且m多1。
4. 如权利要求3所述的并行地震数据绘制方法,其特征在于,在所述由纹理绘制线程 将每一所述纹理图像子块绘制至对应的所述绘制子区域,且所有所述纹理图像子块无缝拼 接形成纹理图像的步骤中: 在所述纹理图像子块的边缘上少绘制m个重叠的像素。
5. 如权利要求1至4任一项所述的并行地震数据绘制方法,其特征在于,所述由纹理生 成线程逐像素生成多个纹理图像子块,每一所述纹理图像子块对应其中一个所述绘制子区 域的步骤包括: 计算得到所述绘制子区域中的一像素所覆盖的地震道和采样点; 根据所述地震道中的所述采样点重建地震波形; 对所述地震波形进行正向或负向填充; 计算所述地震波形对所述像素的颜色贡献值; 将所述颜色贡献值进行累加,生成所述像素的亮度值。
6. 如权利要求2所述的并行地震数据绘制方法,其特征在于,响应用户对所述纹理图 像的放大或缩小操作,所述纹理生成线程和所述纹理绘制线程重新绘制纹理图像的步骤包 括: 响应于所述放大或缩小操作,所述纹理绘制线程对所述纹理图像进行放大或缩小,同 时激发所述纹理生成线程重新生成纹理图像子块; 纹理生成线程根据所述放大或缩小操作生成放大或缩小后的纹理图像子块; 纹理绘制线程将所述放大或缩小后的纹理图像子块绘制至所述绘制子区域。
7. 如权利要求1所述的并行地震数据绘制方法,其特征在于,所述可视化方法基于 GPU0
8. 如权利要求7所述的并行地震数据绘制方法,其特征在于,在由纹理绘制线程将每 一所述纹理图像子块绘制至对应的所述绘制子区域之前,所述方法还包括: 将所述纹理图像子块缓存于一显卡。
9. 如权利要求1所述的并行地震数据绘制方法,其特征在于,所述屏幕系统为多屏幕 系统。
10.如权利要求1所述的并行地震数据绘制方法,其特征在于,所述将屏幕系统的绘制 区域分成多个预定大小的绘制子区域的步骤包括: 根据预定大小的绘制子区域计算所述绘制子区域的数目n,其中n为整数,且n多1 ; 将所述绘制区域分成n个所述预定大小的绘制子区域。
【专利摘要】本发明提供了一种并行地震数据绘制方法,所述方法包括:将屏幕系统的绘制区域分成多个预定大小的绘制子区域;由纹理生成线程逐像素生成多个纹理图像子块,每一所述纹理图像子块对应其中一个所述绘制子区域;由纹理绘制线程将每一所述纹理图像子块绘制至对应的所述绘制子区域,且所有所述纹理图像子块无缝拼接形成纹理图像。本发明通过分块绘制纹理图像,可实现超大纹理图像的绘制,通过逐像素生成纹理图像子块,可在GPU上实现并行实时绘制。
【IPC分类】G01V1-32
【公开号】CN104849755
【申请号】CN201510220581
【发明人】梁兼栋, 吕伟伟
【申请人】中国石油天然气集团公司, 中国石油集团东方地球物理勘探有限责任公司
【公开日】2015年8月19日
【申请日】2015年5月4日
当前第2页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1