CN112927123A - 一种gpu加速的有向距离场符号建模方法 - Google Patents

一种gpu加速的有向距离场符号建模方法 Download PDF

Info

Publication number
CN112927123A
CN112927123A CN202110316996.7A CN202110316996A CN112927123A CN 112927123 A CN112927123 A CN 112927123A CN 202110316996 A CN202110316996 A CN 202110316996A CN 112927123 A CN112927123 A CN 112927123A
Authority
CN
China
Prior art keywords
shader
vertex
distance
processing
gpu
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.)
Pending
Application number
CN202110316996.7A
Other languages
English (en)
Inventor
谭力恒
游雄
蒋秉川
陈刚
夏青
李科
李锋
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Information Engineering University of PLA Strategic Support Force
Original Assignee
Information Engineering University of PLA Strategic Support Force
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Information Engineering University of PLA Strategic Support Force filed Critical Information Engineering University of PLA Strategic Support Force
Priority to CN202110316996.7A priority Critical patent/CN112927123A/zh
Publication of CN112927123A publication Critical patent/CN112927123A/zh
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T1/00General purpose image data processing
    • G06T1/20Processor architectures; Processor configuration, e.g. pipelining
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T3/00Geometric image transformations in the plane of the image
    • G06T3/40Scaling of whole images or parts thereof, e.g. expanding or contracting
    • G06T3/4023Scaling of whole images or parts thereof, e.g. expanding or contracting based on decimating pixels or lines of pixels; based on inserting pixels or lines of pixels
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T5/00Image enhancement or restoration
    • G06T5/70Denoising; Smoothing

Landscapes

  • Physics & Mathematics (AREA)
  • Engineering & Computer Science (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Image Generation (AREA)

Abstract

本发明公开了一种GPU加速的有向距离场符号建模方法,涉及计算机图形学技术领域,包括采用GPU管线架构,通过给定三维空间中的物体的顶点坐标、光照、纹理信息,利用3D图形库OpenGL将其进行一系列的坐标变换、图元组装、光栅化的过程映射到显示屏幕中显示二维图像;坐标变换、图元组装、光栅化的过程包括数据准备、顶点着色器、细分着色器、几何着色器、顶点后期处理、图元装配、光栅化、片段着色器与像素后期处理,所述数据准备、顶点着色器、细分着色器、几何着色器、顶点后期处理、图元装配、光栅化、片段着色器、像素后期处理依次连接;将有向距离场的相关算法在片段着色器中进行实现,即可充分利用GPU的并行计算能力,实现生成算法的加速。

Description

一种GPU加速的有向距离场符号建模方法
技术领域
本发明涉及计算机图形学技术领域,具体为一种GPU加速的有向距离场符号建模方法。
背景技术
图形处理器(Graphics Processing Unit,简称GPU)又称为显示核心、显示芯片,是一种专门进行图像处理工作的微处理器。GPU的主要作用是将计算机系统所需要的显示信息进行转换驱动,并向显示器提供行扫描信号,控制显示器的正确显示,是连接显示器和个人电脑主板的重要元件。
计算机领域正在发生深刻的变化。在过去,摩尔定律意味着集成电路的性能大约每两年就会翻一番,我们可以期待任何程序在新的处理器上必然会自然地运行得更快。然而,自从处理器架构改进的放缓、新制程工艺与新计算机理迟迟难以成熟以来,通过提高单个处理器核心频率来获取性能提升的方法逐渐越来越难以实现。如今,摩尔定律已不再意味着核心频率的越来越快,而是意味着核心数量的越来越多。因此,除非能够有效地利用不断增加的内核数量,否则算法效率并不会有显著提升。在当前的消费级处理器中,GPU成为了一种并行程序开发的典型依托设备。例如,NVIDIA的GeForce RTX 2080ti可以并行执行4456448个线程。在GPU上进行程序设计,可以将单个线程设计的非常简单而轻量,但是所有线程结合在一起却可以实现极高计算能力。通过对程序进行科学高效的并行化设计、并使用GPU程序加速计算,不仅能帮助我们获得显著的性能提升,还能从基本原理上改变我们对于一些算法的设计与思考。
发明内容
本发明的目的在于克服现有技术的不足,提供一种GPU加速的有向距离场符号建模方法。
本发明的目的是通过以下技术方案来实现的:
一种GPU加速的有向距离场符号建模方法,包括以下内容:
采用GPU管线架构,通过给定三维空间中的物体的顶点坐标、光照、纹理信息,利用3D图形库OpenGL将其进行一系列的坐标变换、图元组装、光栅化的过程映射到显示屏幕中显示二维图像;
坐标变换、图元组装、光栅化的过程包括数据准备、顶点着色器、细分着色器、几何着色器、顶点后期处理、图元装配、光栅化、片段着色器与像素后期处理,所述数据准备、顶点着色器、细分着色器、几何着色器、顶点后期处理、图元装配、光栅化、片段着色器、像素后期处理依次连接;
将有向距离场的相关算法在片段着色器中进行实现,即可充分利用GPU的并行计算能力,实现生成算法的加速;
有向距离场是由有向距离函数所构成的标量场,有向距离函数即一个数集,集合里包含的是空间内每一点到物体表面或轮廓的最短距离,物体内部的距离为正值,外部为负值。其具体公式表达为:
Figure BDA0002984959560000021
其中,f(x)为有向距离函数,Min(d)代表空间中一点到边界的最短距离,Ω代表物体内部,′Ω代表物体外部。
优选的,图形管线架构中的顶点着色器、细分着色器、几何着色器、片段着色器各阶段,GPU都是并行地对相关信息进行处理,处理的内容分别为顶点、几何图元和像素片段。
优选的,有向距离场应用于二值图像,即图像中每个像素点到与自身像素值不同的点的最短距离的集合,而像素值不同点出构成二值图像的轮廓,轮廓内部的距离为正值,外部为负值。
本发明的有益效果是:
1)有向距离场由一张高清位图经过低分辨率采样进行重建,因此本身所占存储空间较小。
2)有向距离场的标量场特征使图像的显示亮度由轮廓向两边进行了平滑过渡,克服了同等大小的采样图像的锯齿问题。普通栅格图像在进行拉伸时,其插值算法为最邻近算法,因此像素点的拉伸会使图像产生较为严重的变形,有向距离场的方法在像素点内不再存储灰度级信息,而是存储与自身像素值不同的点之间的最短距离,在这一过程中,形成了不同等值面汇集而成的场信息,而在图像拉伸过程中图像的距离场信息不会发生变化,使得图像能够保持较高的清晰度。
附图说明
图1为本发明的GPU管线架构图示意图;
图2为本发明的距离场表示图;
图3为本发明伪代码示意图。
具体实施方式
下面结合附图进一步详细描述本发明的技术方案,但本发明的保护范围不局限于以下所述。
GPU加速常用的架构包括自定义图形管线、CUDA、OpenCL等等,由于我们的工作主要是用于军标符号的实时绘制,所以一方面为了更好地结合已有的二三维地图框架,另一方面为了减少对于第三方库、驱动、硬件的依赖,所以我们选择使用自定义图形管线。
现代GPU管线架构是指通过给定三维空间中的物体的顶点坐标、光照、纹理等信息,利用3D图形库OpenGL将其进行一系列的坐标变换(包括物体坐标系-世界坐标系-相机坐标系-屏幕坐标系)、图元组装(矢量图形生成过程)、光栅化的过程映射到显示屏幕中显示二维图像的过程。具体流程如图1所示:
在图1所示的图形管线中的顶点着色器、细分着色器、几何着色器、片段着色器等各阶段,GPU都是并行地对相关信息进行处理,处理的内容分别为顶点、几何图元和像素片段。有向距离场本质上就是一个像素栅格集合,而现代图形管线特性又允许我们使用渲染到纹理(Render To Texture,RTT)机制,将中间渲染结果保存在帧缓存对象(Frame BufferObiect,FBO)所绑定的纹理中。因此,我们可以通过执行一次预渲染,将有向距离场的相关算法在片段着色器中进行实现,即可充分利用GPU的并行计算能力,实现生成算法的加速。
有向距离场是由有向距离函数所构成的标量场,有向距离函数即一个数集,集合里包含的是空间内每一点到物体表面或轮廓的最短距离,物体内部的距离为正值,外部为负值。其具体公式表达为:
Figure BDA0002984959560000031
其中,f(x)为有向距离函数,Min(d)代表空间中一点到边界的最短距离,Ω代表物体内部,′Ω代表物体外部。
在二维图像的应用中,有向距离场常应用于二值图像,即图像中每个像素点到与自身像素值不同的点的最短距离的集合,而像素值不同点出构成二值图像的轮廓,轮廓内部(一般为前景)的距离为正值,外部(一般为背景)为负值。具体如图2所示:
有向距离场单从定义层面无法得知其具体功能,但是在应用中可以得到很好的体现,原因有以下几点:
1)有向距离场由一张高清位图经过低分辨率采样进行重建,因此本身所占存储空间较小。
2)有向距离场的标量场特征使图像的显示亮度由轮廓向两边进行了平滑过渡,克服了同等大小的采样图像的锯齿问题。普通栅格图像在进行拉伸时,其插值算法为最邻近算法,因此像素点的拉伸会使图像产生较为严重的变形,有向距离场的方法在像素点内不再存储灰度级信息,而是存储与自身像素值不同的点之间的最短距离,在这一过程中,形成了不同等值面汇集而成的场信息,而在图像拉伸过程中图像的距离场信息不会发生变化,使得图像能够保持较高的清晰度。
算法实施过程中,首先在数据准备阶段,将原始高分辨率图像(4096×4096)以纹理的形式读入显存,再定义一张分辨率为SDFSize×SDFSize(SDFSize通常可能选择64、128或256)、格式为RGBA四通道、数据类型为32位浮点数的纹理,并将其绑定到FBO,用来存放有向距离场的计算结果。然后以正射投影绘制一个x-y平面的正方形,其中,正射投影的x、y、z轴方向上的空间范围均为[-1,1],正方形在x、y轴方向上的空间范围均为[-1,1]、其纹理坐标范围为[0,1]。
在预绘制过程中,我们在片段着色器中执行如图3所示的伪代码,即可计算得到上面所绑定纹理的每个像素的有向距离值,并存储在纹理的Alpha通道中。由于GPU会为每个像素单独分配一个线程用于计算,这一过程会非常的快速。
以上所述仅是本发明的优选实施方式,应当理解所描述的实施例是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。本发明并非局限于本文所披露的形式,不应看作是对其他实施例的排除,而可用于各种其他组合、修改和环境,并能够在本文所述构想范围内,通过上述教导或相关领域的技术或知识进行改动。而本领域人员所进行的改动和变化不脱离本发明的精神和范围,则都应在本发明所附权利要求的保护范围内。

Claims (3)

1.一种GPU加速的有向距离场符号建模方法,其特征在于,包括以下内容:
采用GPU管线架构,通过给定三维空间中的物体的顶点坐标、光照、纹理信息,利用3D图形库OpenGL将其进行一系列的坐标变换、图元组装、光栅化的过程映射到显示屏幕中显示二维图像;
坐标变换、图元组装、光栅化的过程包括数据准备、顶点着色器、细分着色器、几何着色器、顶点后期处理、图元装配、光栅化、片段着色器与像素后期处理,所述数据准备、顶点着色器、细分着色器、几何着色器、顶点后期处理、图元装配、光栅化、片段着色器、像素后期处理依次连接;
将有向距离场的相关算法在片段着色器中进行实现,即可充分利用GPU的并行计算能力,实现生成算法的加速;
有向距离场是由有向距离函数所构成的标量场,有向距离函数即一个数集,集合里包含的是空间内每一点到物体表面或轮廓的最短距离,物体内部的距离为正值,外部为负值。其具体公式表达为:
Figure FDA0002984959550000011
其中,f(x)为有向距离函数,Min(d)代表空间中一点到边界的最短距离,Ω代表物体内部,Ω代表物体外部。
2.根据权利要求1所述的一种GPU加速的有向距离场符号建模方法,其特征在于,图形管线架构中的顶点着色器、细分着色器、几何着色器、片段着色器各阶段,GPU都是并行地对相关信息进行处理,处理的内容分别为顶点、几何图元和像素片段。
3.根据权利要求1所述的一种GPU加速的有向距离场符号建模方法,其特征在于,有向距离场应用于二值图像,即图像中每个像素点到与自身像素值不同的点的最短距离的集合,而像素值不同点出构成二值图像的轮廓,轮廓内部的距离为正值,外部为负值。
CN202110316996.7A 2021-03-19 2021-03-19 一种gpu加速的有向距离场符号建模方法 Pending CN112927123A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110316996.7A CN112927123A (zh) 2021-03-19 2021-03-19 一种gpu加速的有向距离场符号建模方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110316996.7A CN112927123A (zh) 2021-03-19 2021-03-19 一种gpu加速的有向距离场符号建模方法

Publications (1)

Publication Number Publication Date
CN112927123A true CN112927123A (zh) 2021-06-08

Family

ID=76175883

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110316996.7A Pending CN112927123A (zh) 2021-03-19 2021-03-19 一种gpu加速的有向距离场符号建模方法

Country Status (1)

Country Link
CN (1) CN112927123A (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114937110A (zh) * 2022-05-31 2022-08-23 国网北京市电力公司 一种gpu加速的引流线建模方法、系统、设备及介质

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104361246A (zh) * 2014-11-24 2015-02-18 河南理工大学 基于距离场的功能梯度材料隐式建模方法
CN106570860A (zh) * 2016-10-31 2017-04-19 浙江工业大学 一种改进的基于距离正则化水平集的核磁共振图像咬肌分割方法
CN107452048A (zh) * 2016-05-30 2017-12-08 网易(杭州)网络有限公司 全局光照的计算方法及装置
CN111091578A (zh) * 2019-12-17 2020-05-01 湖北民族大学 一种针对血管医学影像的分割方法

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104361246A (zh) * 2014-11-24 2015-02-18 河南理工大学 基于距离场的功能梯度材料隐式建模方法
CN107452048A (zh) * 2016-05-30 2017-12-08 网易(杭州)网络有限公司 全局光照的计算方法及装置
CN106570860A (zh) * 2016-10-31 2017-04-19 浙江工业大学 一种改进的基于距离正则化水平集的核磁共振图像咬肌分割方法
CN111091578A (zh) * 2019-12-17 2020-05-01 湖北民族大学 一种针对血管医学影像的分割方法

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114937110A (zh) * 2022-05-31 2022-08-23 国网北京市电力公司 一种gpu加速的引流线建模方法、系统、设备及介质
CN114937110B (zh) * 2022-05-31 2024-04-12 国网北京市电力公司 一种gpu加速的引流线建模方法、系统、设备及介质

Similar Documents

Publication Publication Date Title
US10008034B2 (en) System, method, and computer program product for computing indirect lighting in a cloud network
TWI686769B (zh) 用於演現圖形物件的設備,方法及非暫時性電腦可讀的儲存媒體
US10055883B2 (en) Frustum tests for sub-pixel shadows
US11263806B2 (en) Graphics processing method and system for processing sub-primitives
CN106575430B (zh) 用于像素哈希的方法和装置
US20150054827A1 (en) System, method, and computer program product for passing attribute structures between shader stages in a graphics pipeline
US20150179142A1 (en) System, method, and computer program product for reduced-rate calculation of low-frequency pixel shader intermediate values
TW201638883A (zh) 用於細分表面的直接和互動式射線追蹤之方法及設備
CN112927123A (zh) 一种gpu加速的有向距离场符号建模方法
US20210358174A1 (en) Method and apparatus of data compression
US11715262B2 (en) Optimizing primitive shaders
US20100277488A1 (en) Deferred Material Rasterization
US11741653B2 (en) Overlapping visibility and render passes for same frame
US11972518B2 (en) Hybrid binning
EP3504684A1 (en) Hybrid render with preferred primitive batch binning and sorting
GB2596104A (en) Input/output filter unit for graphics processing unit
US11880924B2 (en) Synchronization free cross pass binning through subpass interleaving
蒋林 et al. Design of a unified rendering shader for mobile device
US20240104685A1 (en) Device and method of implementing subpass interleaving of tiled image rendering
Es et al. Accelerated regular grid traversals using extended anisotropic chessboard distance fields on a parallel stream processor
Alrawy et al. Voxelization Parallelism Using CUDA Architecture
Lai et al. 3-D graphics processor unit with cost-effective rasterization using valid screen space region
US20240037835A1 (en) Complex rendering using tile buffers
US20240087078A1 (en) Two-level primitive batch binning with hardware state compression
US20210304488A1 (en) Sampling for partially resident textures

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