CN112927123A - 一种gpu加速的有向距离场符号建模方法 - Google Patents
一种gpu加速的有向距离场符号建模方法 Download PDFInfo
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 30
- 239000012634 fragment Substances 0.000 claims abstract description 17
- 230000008569 process Effects 0.000 claims abstract description 17
- 238000012805 post-processing Methods 0.000 claims abstract description 12
- 238000002360 preparation method Methods 0.000 claims abstract description 7
- 230000009466 transformation Effects 0.000 claims abstract description 5
- 238000005286 illumination Methods 0.000 claims abstract description 4
- 238000013507 mapping Methods 0.000 claims abstract description 4
- 230000006870 function Effects 0.000 claims description 10
- 238000012545 processing Methods 0.000 claims description 4
- 230000001133 acceleration Effects 0.000 claims description 3
- 238000005070 sampling Methods 0.000 description 4
- 238000013461 design Methods 0.000 description 3
- 230000006872 improvement Effects 0.000 description 3
- 238000009877 rendering Methods 0.000 description 3
- 238000004364 calculation method Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 238000005516 engineering process Methods 0.000 description 2
- 230000007704 transition Effects 0.000 description 2
- HPTJABJPZMULFH-UHFFFAOYSA-N 12-[(Cyclohexylcarbamoyl)amino]dodecanoic acid Chemical compound OC(=O)CCCCCCCCCCCNC(=O)NC1CCCCC1 HPTJABJPZMULFH-UHFFFAOYSA-N 0.000 description 1
- 230000009286 beneficial effect Effects 0.000 description 1
- 230000008859 change Effects 0.000 description 1
- 230000007812 deficiency Effects 0.000 description 1
- 230000007246 mechanism Effects 0.000 description 1
- 238000012986 modification Methods 0.000 description 1
- 230000004048 modification Effects 0.000 description 1
Images
Classifications
-
- 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T17/00—Three dimensional [3D] modelling, e.g. data description of 3D objects
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T3/00—Geometric image transformations in the plane of the image
- G06T3/40—Scaling of whole images or parts thereof, e.g. expanding or contracting
- G06T3/4023—Scaling 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
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T5/00—Image enhancement or restoration
- G06T5/70—Denoising; 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加速的有向距离场符号建模方法。
背景技术
图形处理器(Graphics Processing Unit,简称GPU)又称为显示核心、显示芯片,是一种专门进行图像处理工作的微处理器。GPU的主要作用是将计算机系统所需要的显示信息进行转换驱动,并向显示器提供行扫描信号,控制显示器的正确显示,是连接显示器和个人电脑主板的重要元件。
计算机领域正在发生深刻的变化。在过去,摩尔定律意味着集成电路的性能大约每两年就会翻一番,我们可以期待任何程序在新的处理器上必然会自然地运行得更快。然而,自从处理器架构改进的放缓、新制程工艺与新计算机理迟迟难以成熟以来,通过提高单个处理器核心频率来获取性能提升的方法逐渐越来越难以实现。如今,摩尔定律已不再意味着核心频率的越来越快,而是意味着核心数量的越来越多。因此,除非能够有效地利用不断增加的内核数量,否则算法效率并不会有显著提升。在当前的消费级处理器中,GPU成为了一种并行程序开发的典型依托设备。例如,NVIDIA的GeForce RTX 2080ti可以并行执行4456448个线程。在GPU上进行程序设计,可以将单个线程设计的非常简单而轻量,但是所有线程结合在一起却可以实现极高计算能力。通过对程序进行科学高效的并行化设计、并使用GPU程序加速计算,不仅能帮助我们获得显著的性能提升,还能从基本原理上改变我们对于一些算法的设计与思考。
发明内容
本发明的目的在于克服现有技术的不足,提供一种GPU加速的有向距离场符号建模方法。
本发明的目的是通过以下技术方案来实现的:
一种GPU加速的有向距离场符号建模方法,包括以下内容:
采用GPU管线架构,通过给定三维空间中的物体的顶点坐标、光照、纹理信息,利用3D图形库OpenGL将其进行一系列的坐标变换、图元组装、光栅化的过程映射到显示屏幕中显示二维图像;
坐标变换、图元组装、光栅化的过程包括数据准备、顶点着色器、细分着色器、几何着色器、顶点后期处理、图元装配、光栅化、片段着色器与像素后期处理,所述数据准备、顶点着色器、细分着色器、几何着色器、顶点后期处理、图元装配、光栅化、片段着色器、像素后期处理依次连接;
将有向距离场的相关算法在片段着色器中进行实现,即可充分利用GPU的并行计算能力,实现生成算法的加速;
有向距离场是由有向距离函数所构成的标量场,有向距离函数即一个数集,集合里包含的是空间内每一点到物体表面或轮廓的最短距离,物体内部的距离为正值,外部为负值。其具体公式表达为:
其中,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的并行计算能力,实现生成算法的加速。
有向距离场是由有向距离函数所构成的标量场,有向距离函数即一个数集,集合里包含的是空间内每一点到物体表面或轮廓的最短距离,物体内部的距离为正值,外部为负值。其具体公式表达为:
其中,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的并行计算能力,实现生成算法的加速;
有向距离场是由有向距离函数所构成的标量场,有向距离函数即一个数集,集合里包含的是空间内每一点到物体表面或轮廓的最短距离,物体内部的距离为正值,外部为负值。其具体公式表达为:
其中,f(x)为有向距离函数,Min(d)代表空间中一点到边界的最短距离,Ω代表物体内部,Ω代表物体外部。
2.根据权利要求1所述的一种GPU加速的有向距离场符号建模方法,其特征在于,图形管线架构中的顶点着色器、细分着色器、几何着色器、片段着色器各阶段,GPU都是并行地对相关信息进行处理,处理的内容分别为顶点、几何图元和像素片段。
3.根据权利要求1所述的一种GPU加速的有向距离场符号建模方法,其特征在于,有向距离场应用于二值图像,即图像中每个像素点到与自身像素值不同的点的最短距离的集合,而像素值不同点出构成二值图像的轮廓,轮廓内部的距离为正值,外部为负值。
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114937110A (zh) * | 2022-05-31 | 2022-08-23 | 国网北京市电力公司 | 一种gpu加速的引流线建模方法、系统、设备及介质 |
Citations (4)
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 | 湖北民族大学 | 一种针对血管医学影像的分割方法 |
-
2021
- 2021-03-19 CN CN202110316996.7A patent/CN112927123A/zh active Pending
Patent Citations (4)
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)
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 |