CN109102456B - 按行扫描透视校正3d图形渲染的三角形光栅化加速器 - Google Patents

按行扫描透视校正3d图形渲染的三角形光栅化加速器 Download PDF

Info

Publication number
CN109102456B
CN109102456B CN201810889055.0A CN201810889055A CN109102456B CN 109102456 B CN109102456 B CN 109102456B CN 201810889055 A CN201810889055 A CN 201810889055A CN 109102456 B CN109102456 B CN 109102456B
Authority
CN
China
Prior art keywords
triangle
line
calculation
pixels
scanning
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.)
Active
Application number
CN201810889055.0A
Other languages
English (en)
Other versions
CN109102456A (zh
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.)
Nanjing Junwei Semiconductor Technology Co ltd
Original Assignee
Nanjing Junwei Semiconductor Technology Co ltd
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 Nanjing Junwei Semiconductor Technology Co ltd filed Critical Nanjing Junwei Semiconductor Technology Co ltd
Priority to CN201810889055.0A priority Critical patent/CN109102456B/zh
Publication of CN109102456A publication Critical patent/CN109102456A/zh
Application granted granted Critical
Publication of CN109102456B publication Critical patent/CN109102456B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/005General purpose rendering architectures
    • YGENERAL 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
    • Y02TECHNOLOGIES OR APPLICATIONS FOR MITIGATION OR ADAPTATION AGAINST CLIMATE CHANGE
    • Y02DCLIMATE 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/00Energy 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

本发明公开了一种按行扫描透视校正3D图形渲染的三角形光栅化加速器,它涉及图形学计算和专用加速器硬件领域。包括以下步骤:光栅化从计算初始化参数开始,初始点是三角形的左下角点。然后采用简单递推公式,自底向上逐次计算每行的初始点参数。如果尚未到达三角形的顶部,则进行行像素的处理,然后检查本行的像素是否处理完成,如果未完成,则继续进行本行像素的处理;同时,再开始计算下一行的初始点参数。如此循环,直到三角形的顶部(完成整个三角形的处理)。本发明的扫描算法有效减少了接触的像素数,降低了计算复杂性。

Description

按行扫描透视校正3D图形渲染的三角形光栅化加速器
技术领域
本发明涉及的是图形学计算和专用加速器硬件领域,同时也属于大规模数字集成电路设计领域,具体涉及一种按行扫描透视校正3D图形渲染的三角形光栅化加速器。
背景技术
光栅化是当代3D图形处理中的关键技术,也是图形处理器性能提升的最重要环节。单纯依靠提高芯片频率和指令并行处理方式无法解决光栅化所需的速度问题的。现有的光栅化技术或采用(1)沿三角形边界扫描,或者(2)按小区域扫描(tile-based)的方法。在光栅化过程中,前者需要计算保持三角形的边界,增加计算复杂度;而后者则会检查过多的三角形,造成过大浪费。与其他方法不同,本发明提出的方法采用按行扫描,可以大大降低计算复杂度,减少浪费。
综上所述,本发明设计了一种按行扫描透视校正3D图形渲染的三角形光栅化加速器。
发明内容
针对现有技术上存在的不足,本发明目的是在于提供一种按行扫描透视校正3D图形渲染的三角形光栅化加速器,扫描算法有效减少了接触的像素数,降低了计算复杂性。
为了实现上述目的,本发明是通过如下的技术方案来实现:按行扫描透视校正3D图形渲染的三角形光栅化加速器的算法,包括以下步骤:光栅化从计算初始化参数开始,初始点是三角形的左下角点;然后采用简单递推公式,自底向上逐次计算每行的初始点参数;如果尚未到达三角形的顶部,则进行行像素的处理,然后检查本行的像素是否处理完成,如果未完成,则继续进行本行像素的处理;同时,再开始计算下一行的初始点参数。如此循环,直到三角形的顶部(完成整个三角形的处理)。
所述的初始化参数计算采用多个乘法器和多个加法器。
所述的按行扫描透视校正3D图形渲染的三角形光栅化加速器,初始化参数计算完成之后,将三角形初始化的参数传送给行扫器(共有8个行扫器),行扫器根据自己的ID编号,计算本行需要的行初始化参数。接收到行初始参数之后,行扫器开始一行的像素处理。一旦启动了一个行扫器的计算,立即开始下一行的初始点计算,同时将本行产生的数据输出出去。峰值情况下,一个时钟可以输出8个像素。
本发明具有以下有益效果:
本发明的光栅化加速器之初始化模块采用了操作并行级处理,能在较少的时钟数目内完成计算。初始化模块计算完成之后,每个时钟可以将一行的参数送给一个行扫描模块。每个初始化模块后面可以跟随4-8个行扫描模块。每个行扫描模块采用双向扫描方式,扫描算法有效减少了接触的像素数,降低了计算复杂性。
附图说明
下面结合附图和具体实施方式来详细说明本发明;
图1为本发明的按行光栅化算法流程图;
图2为本发明的光栅化硬件加速器结构图;
图3为本发明的初始化计算加速器结构图;
图4为本发明的行扫描加速器示意图;
图5为本发明的三角形初始化接口图;
图6为本发明的行扫器接收数据接口图;
图7为本发明的行扫器预扫描接口图;
图8为本发明的行扫器扫描模块接口图;
图9为本发明的行扫器插值模块接口图。
具体实施方式
为使本发明实现的技术手段、创作特征、达成目的与功效易于明白了解,下面结合具体实施方式,进一步阐述本发明。
参照图1-图9,本具体实施方式采用以下技术方案:按行扫描透视校正3D图形渲染的三角形光栅化加速器的算法,包括以下步骤:光栅化从计算初始化参数开始,初始点是三角形的左下角点。然后采用简单递推公式,自底向上逐次计算每行的初始点参数。如果尚未到达三角形的顶部,则进行行像素的处理,然后检查本行的像素是否处理完成,如果未完成,则继续进行本行像素的处理;同时,再开始计算下一行的初始点参数。如此循环,直到三角形的顶部(完成整个三角形的处理)。
三角形光栅化采用了三角重心坐标(Barycentric Coordinates)计算,包含了纹理的透视校正。三角重心坐标有三个坐标值(α,β,γ),当一个点位于三角形内部,则有α+β+γ=1。使用图形学四维的齐次坐标表示,三角形的三个顶点分别为Pa=(xa,ya,za,wa),Pb=(xb,yb,zb,wb),Pc=(xc,yc,zc,wc)。
光栅化扫描的计算过程中需要进行一系列运算,首先需要计算三角形面积,这会在后续的计算中用到
Figure GDA0004181613880000021
计算每个像素属性u需要使用三角重心坐标插值P=αPa+βPb+γPc,包含透视校正的插值计算需要下面的公式
Figure GDA0004181613880000031
Figure GDA0004181613880000032
/>
Figure GDA0004181613880000033
逐行扫描的单步渐进1/w计算公式,
Figure GDA0004181613880000034
Figure GDA0004181613880000035
Figure GDA0004181613880000036
Figure GDA0004181613880000037
逐行扫描的单步渐进u/w计算公式,
Figure GDA0004181613880000038
Figure GDA0004181613880000039
Figure GDA00041816138800000310
Figure GDA00041816138800000311
三角形的三条边E0,E1,E2可以用三个方程表示,E0=xA0+yB0+C0,E1=xA1+yB1+C1,E0=xA2+yB2+C2。对于边方程En,n=0,1,2,其单步渐进计算公式如下,
En(x+1,y)=En(x,y)+An (E1)
En(x–1,y)=En(x,y)–An (E2)
En(x,y+1)=En(x,y)+Bn (E3)
En(x,y–1)=En(x,y)–Bn (E4)
本具体实施方式的初始化计算:
前面属性插值计算公式中的各个系数的计算如下:
Δxca=(xc–xa);Δxba=(xb–xa);Δyca=(yc–ya);Δyba=(yb–ya);
Figure GDA0004181613880000041
AR=1/T;
Figure GDA0004181613880000042
Figure GDA0004181613880000043
Dca=AR*Δyca;Dba=AR*Δyba
Eca=AR*Δxca;Eba=AR*Δxba
Jbc,a=AR*(Δyba-Δyca);Kbc,a=AR*(Δxba-Δxca)
Figure GDA0004181613880000044
Figure GDA0004181613880000045
Figure GDA0004181613880000046
/>
Figure GDA0004181613880000047
Figure GDA0004181613880000048
Figure GDA0004181613880000049
Figure GDA00041816138800000410
Figure GDA00041816138800000411
三个边方程En其中n=0,1,2的各个系数计算如下,
A0=y1–y0;A1=y2–y1;A2=y0–y2
B0=x1–x0;B1=x2–x1;B2=x0–x2
C0=y1B0–x1A0;C1=y2B1–x2A1;C2=y0B2–x0A2
初始化计算使用了90个寄存器、4个加法器、12个乘法器,以及一个流水线除法器。
本具体实施方式的逐行扫描初始点计算:
自顶向下逐行扫描时使用公式(W4)和(U4)计算出每行初始点的1/w和u/w值属性,使用公式(E4)计算出三个边的初始判断值。
若采用自底向上扫描时使用公式(W2)和(U2)计算出每行初始点的1/w和u/w属性值,使用公式(E3)计算出三个边的初始判断值。
本具体实施方式的行扫描计算:
该部分主要由接收数据、预扫描、扫描、插值等几部分组成。接收数据主要是完成三角形初始化部分传下来与坐标有关的数据(e,a,b,分母及变化量,z初值以及变化量)和属性的初始值以及变化量,同时接收译码模块传下来的配置信息。预扫描用于提前查找三角形每行第一个三角形内的像素,然后将数据发给扫描部分,扫描部分根据预扫描的数据,对三角形的有效区域进行扫描,产生像素。扫描产生的像素和对应的z,w值存入FIFO中,并将对应的分母塞入除法器,计算分母分之一,同时将控制信号传至插值部分。插值部分根据控制信号,产生流水线的控制,并读取FIFO和存储数据,计算对应点的属性,并将坐标和属性数据输出。对于每个扫描差值模块,如果仅有一组属性(rgba),可以做到一拍输出一个像素,每增加一个属性,输出增加一拍。
以上显示和描述了本发明的基本原理和主要特征和本发明的优点。本行业的技术人员应该了解,本发明不受上述实施例的限制,上述实施例和说明书中描述的只是说明本发明的原理,在不脱离本发明精神和范围的前提下,本发明还会有各种变化和改进,这些变化和改进都落入要求保护的本发明范围内。本发明要求保护范围由所附的权利要求书及其等效物界定。

Claims (2)

1.按行扫描透视校正3D图形渲染的三角形光栅化加速器,其特征在于,所述光栅化加速器是基于以下的方法实现:
光栅化从计算初始化参数开始,初始点是三角形的左下角点;
采用简单递推公式,自底向上逐次计算每行的初始点的参数;
当未到达三角形的顶部时,则进行行像素的处理,然后检查本行的像素是否处理完成;当未完成,则继续进行本行像素的处理;同时,再开始计算下一行的初始点的参数;如此循环,直到三角形的顶部,即完成整个三角形的处理;
其中:计算每行的初始点的参数包括:三角形重心坐标有三个坐标值(α,β,γ),当一个点位于三角形内部,则有α+β+γ=1;使用图形学四维的齐次坐标表示,三角形的三个顶点分别为Pa=(xa,ya,za,wa),Pb=(xb,yb,zb,wb),Pc=(xc,yc,zc,wc);
光栅化扫描的计算过程中需要进行一系列运算,首先需要计算三角形面积,这会在后续的计算中用到
Figure QLYQS_1
计算每个像素属性u需要使用三角形重心坐标插值P=αPa+βPb+γPc,包含透视校正的插值计算需要下面的公式,
Figure QLYQS_2
Figure QLYQS_3
Figure QLYQS_4
逐行扫描的单步渐进1/w计算公式,
Figure QLYQS_5
Figure QLYQS_6
Figure QLYQS_7
Figure QLYQS_8
逐行扫描的单步渐进u/w计算公式,
Figure QLYQS_9
Figure QLYQS_10
Figure QLYQS_11
/>
Figure QLYQS_12
三角形的三条边E0,E1,E2用三个方程表示,E0=xA0+yB0+C0,E1=xA1+yB1+C1,E2=xA2+yB2+C2;对于边方程En,n=0,1,2,其单步渐进计算公式如下,
En(x+1,y)=En(x,y)+An (E1)
En(x–1,y)=En(x,y)–An (E2)
En(x,y+1)=En(x,y)+Bn (E3)
En(x,y–1)=En(x,y)–Bn (E4)
初始化计算过程如下:
前面属性插值计算公式中的各个系数的计算如下:
Δxca=(xc–xa);Δxba=(xb–xa);Δyca=(yc–ya);Δyba=(yb–ya);
Figure QLYQS_13
AR=1/T;
Figure QLYQS_14
Figure QLYQS_15
Dca=AR*Δyca;Dba=AR*Δyba
Eca=AR*Δxca;Eba=AR*Δxba
Jbc,a=AR*(Δyba-Δyca);Kbc,a=AR*(Δxba-Δxca)
Figure QLYQS_16
Figure QLYQS_17
Figure QLYQS_18
Figure QLYQS_19
Figure QLYQS_20
Figure QLYQS_21
Figure QLYQS_22
Figure QLYQS_23
三个边方程En其中n=0,1,2的各个系数计算如下,
A0=y1–y0;A1=y2–y1;A2=y0–y2
B0=x1–x0;B1=x2–x1;B2=x0–x2
C0=y1B0–x1A0;C1=y2B1–x2A1;C2=y0B2–x0A2
初始化计算使用了90个寄存器、4个加法器、12个乘法器,以及一个流水线除法器;
采用自底向上扫描时使用公式(W2)和(U2)计算出每行初始点的1/w和u/w属性值,使用公式(E3)计算出三个边的初始判断值;
初始化参数计算完成之后,将三角形初始化的参数传送给8个行扫器,行扫器根据自己的ID编号,计算本行需要的行初始化参数;接收到行初始参数之后,行扫器开始一行的像素处理;当启动了一个行扫器的计算时,立即开始下一行的初始点计算,同时将本行产生的数据输出。
2.根据权利要求1所述的按行扫描透视校正3D图形渲染的三角形光栅化加速器,其特征在于:行像素的处理包括接收数据、预扫描、扫描、插值,所述接收数据是完成三角形初始化部分,传下来与坐标有关的数据和属性的初始值以及变化量,同时接收译码模块传下来的配置信息;所述预扫描用于提前查找三角形每行第一个三角形内的像素,然后将数据发给扫描部分,扫描部分根据预扫描的数据,对三角形的有效区域进行扫描,产生像素;扫描产生的像素和对应的z,w值存入FIFO中,并将对应的分母输入除法器,进行计算,同时将控制信号传至插值部分;所述插值部分根据控制信号,产生流水线的控制,并读取FIFO和存储数据,计算对应点的属性,并将坐标和属性数据输出。
CN201810889055.0A 2018-08-07 2018-08-07 按行扫描透视校正3d图形渲染的三角形光栅化加速器 Active CN109102456B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201810889055.0A CN109102456B (zh) 2018-08-07 2018-08-07 按行扫描透视校正3d图形渲染的三角形光栅化加速器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201810889055.0A CN109102456B (zh) 2018-08-07 2018-08-07 按行扫描透视校正3d图形渲染的三角形光栅化加速器

Publications (2)

Publication Number Publication Date
CN109102456A CN109102456A (zh) 2018-12-28
CN109102456B true CN109102456B (zh) 2023-05-23

Family

ID=64848595

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201810889055.0A Active CN109102456B (zh) 2018-08-07 2018-08-07 按行扫描透视校正3d图形渲染的三角形光栅化加速器

Country Status (1)

Country Link
CN (1) CN109102456B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN109741433B (zh) * 2019-01-08 2023-05-05 西安邮电大学 一种基于Tile的三角形多向并行扫描方法及结构

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722902A (zh) * 2011-05-06 2012-10-10 新奥特(北京)视频技术有限公司 一种图形渲染流水线中光栅化阶段反走样的改进方法
CN108009978A (zh) * 2017-11-24 2018-05-08 中国航空工业集团公司西安航空计算技术研究所 一种非阻塞并行三角形光栅化单元结构

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102722902A (zh) * 2011-05-06 2012-10-10 新奥特(北京)视频技术有限公司 一种图形渲染流水线中光栅化阶段反走样的改进方法
CN108009978A (zh) * 2017-11-24 2018-05-08 中国航空工业集团公司西安航空计算技术研究所 一种非阻塞并行三角形光栅化单元结构

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
三角形光栅化的硬件设计与验证;张文杰等;《信息技术》;20180331(第3期);第135-139页 *

Also Published As

Publication number Publication date
CN109102456A (zh) 2018-12-28

Similar Documents

Publication Publication Date Title
Sigg et al. Signed distance transform using graphics hardware
US9830701B2 (en) Static object reconstruction method and system
Wu Adaptive split-and-merge segmentation based on piecewise least-square approximation
JP4999717B2 (ja) レンジ画像から物体の姿勢を求める方法及びシステム
CN106709871B (zh) 利用活动掩码的图像合成的方法和系统
US9767598B2 (en) Smoothing and robust normal estimation for 3D point clouds
Gribbon et al. A novel approach to real-time bilinear interpolation
Moenning et al. Fast marching farthest point sampling
CN108198141B (zh) 实现瘦脸特效的图像处理方法、装置及计算设备
JP5111638B2 (ja) パラメトリック曲線をより小さなサブパッチに分割する装置およびその方法
Wynn et al. Diffusionerf: Regularizing neural radiance fields with denoising diffusion models
US7746355B1 (en) Method for distributed clipping outside of view volume
US9070034B2 (en) Method and system for correcting QR code image
US8427524B2 (en) Message propagation-based stereo image matching system
Ttofis et al. High-quality real-time hardware stereo matching based on guided image filtering
Li et al. High throughput hardware architecture for accurate semi-global matching
Mattoccia et al. A passive RGBD sensor for accurate and real-time depth sensing self-contained into an FPGA
Park et al. Real-time stereo vision FPGA chip with low error rate
CN109102456B (zh) 按行扫描透视校正3d图形渲染的三角形光栅化加速器
CN111881985B (zh) 立体匹配方法、装置、终端和存储介质
CN116070687A (zh) 一种基于全局光线空间仿射变换的神经网络光场表示方法
WO2018039936A1 (en) Fast uv atlas generation and texture mapping
CN109741433B (zh) 一种基于Tile的三角形多向并行扫描方法及结构
Zheng et al. A fast algorithm for computing moments of gray images based on NAM and extended shading approach
KR102455843B1 (ko) 영상 재구성 장치 및 방법

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
CB03 Change of inventor or designer information
CB03 Change of inventor or designer information

Inventor after: Liu Huan

Inventor after: Shi Xiaogang

Inventor after: Huang Guangxin

Inventor before: Liu Huan

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200610

Address after: 2515, runheng building, CaiTian Road, Fushan community, Futian street, Futian District, Shenzhen City, Guangdong Province

Applicant after: Shenzhen Investment rongmai Network Technology Co.,Ltd.

Address before: 213000 No. 181 Yulong South Road, Zhonglou District, Changzhou City, Jiangsu Province, Science Fusion Development Co., Ltd. 9391

Applicant before: XINSHITU (CHANGZHOU) MICROELECTRONIC Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20200713

Address after: 21300 no.g008, 21300 Yulong South Road, Zhonglou District, Changzhou City, Jiangsu Province

Applicant after: Zhihui microelectronics technology (Changzhou) Co.,Ltd.

Address before: 2515, runheng building, CaiTian Road, Fushan community, Futian street, Futian District, Shenzhen City, Guangdong Province

Applicant before: Shenzhen Investment rongmai Network Technology Co.,Ltd.

CB02 Change of applicant information
CB02 Change of applicant information

Address after: 114, Floor 1, Innovation Center, No. 2, Qiande Road, Jiangning District, Nanjing, Jiangsu, 210000

Applicant after: Zhihua microelectronics technology (Nanjing) Co.,Ltd.

Address before: 213 Yulong South Road, Zhonglou District, Changzhou City, Jiangsu Province

Applicant before: Zhihui microelectronics technology (Changzhou) Co.,Ltd.

TA01 Transfer of patent application right
TA01 Transfer of patent application right

Effective date of registration: 20230301

Address after: Room 502, Building 1, No. 3, Lianyu Road, Jiangning District, Nanjing, Jiangsu Province, 210000

Applicant after: Nanjing Junwei Semiconductor Technology Co.,Ltd.

Address before: 114, Floor 1, Innovation Center, No. 2, Qiande Road, Jiangning District, Nanjing, Jiangsu, 210000

Applicant before: Zhihua microelectronics technology (Nanjing) Co.,Ltd.

GR01 Patent grant
GR01 Patent grant