CN103699733A - 一种光照模型系统及实现方法 - Google Patents
一种光照模型系统及实现方法 Download PDFInfo
- Publication number
- CN103699733A CN103699733A CN201310705942.5A CN201310705942A CN103699733A CN 103699733 A CN103699733 A CN 103699733A CN 201310705942 A CN201310705942 A CN 201310705942A CN 103699733 A CN103699733 A CN 103699733A
- Authority
- CN
- China
- Prior art keywords
- illumination model
- unit
- vector
- module
- look
- 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
Images
Landscapes
- Circuit Arrangement For Electric Light Sources In General (AREA)
Abstract
本发明涉及一种光照模型系统,包括:环境光计算模块、漫反射光计算模块、镜面光计算模块、求和模块、运算单元;所述的运算单元包括倒数平方根查找表单元、对数查找表单元、幂次方查找表单元、向量计算单元和乘积单元;环境光计算模块,实现光照模型中环境光部分的效果;漫反射光计算模块,实现光照模型中漫反射光部分的效果;镜面光计算模块,实现光照模型中镜面反射光部分的计算;求和模块:实现光照模型的最终效果计算;运算单元:完成光照模型所涉及的各种数学运算,包括倒数平方根运算、取对数运算、2的幂次方运算、乘法运算以及向量的加、减、内积运算。
Description
技术领域
本发明涉及一种光照模型系统及实现方法,属于利用集成电路设计实现计算机图形学技术的技术领域。
背景技术
任何物体处在自然环境之中都要与周遭的光线发生关系,最基本的包括反射,折射,漫反/散射等。如果剔除了这些光线关系,物体的立体感不仅会丢失,整体上给人的感觉也会极为不真实,所以,在当今涉及计算机图形技术的各个领域中,对光照的处理尤为重要。
光和物体表面之间的相互作用是一个复杂的物理过程,现在已经提出各种光照模型来模拟该过程,其中一种光照模型模拟了环境光、漫反射光、镜面反射光和发射光效果,其表达式如下:
I=Iatm+Idif+Ispc+Iemi
=KaIa+KdId(N·L)+KsIs(N·H)Ns+Ie (i)
在公式(i)中,Ka表示材质的环境光反射系数,Kd表示材质的漫反射系数,Ks表示材质的镜面反射系数,Ia表示环境光,Id表示光源的漫反射分量,Is表示光源的镜面反射分量,Ie表示物体的发射光部分,N表示物体表面点的法向量,L表示物体表面点指向光源的向量,H为半角向量Ns表示物体表面的镜面指数;
对于公式(i)中(N□H)Ns的幂次方的运算,可以通过以下方式进行:
令x=(N□H),y=Ns,a=(N□H)Ns,则:
xy=a
log2xy=log2a
ylog2x=log2a
令:m=ylog2x
则:a=2m
即将幂次方运算转换为硬件容易实现的取对数运算、乘法运算和2的幂次方运算。
传统有许多软件和硬件实现该光照模型的方法,但是存在如下问题:
1、所需时间长:
由公式(i)可知,该光照模型计算复杂,涉及向量操作、幂次方操作等复杂运算,所需时间长即延时长,在实时性要求比较高的场合受到限制。
2、耗费资源多:
由公式(i)可知,该光照模型计算复杂,涉及向量操作、幂次方操作等复杂运算,耗费硬件资源多。
发明内容
针对现有技术所存在的技术问题,本发明公开一种光照模型系统,以实现高速有效的控制,减少硬件资源的消耗,提高了硬件资源的利用率。
本发明还提供上述一种光照模型系统的实现方法。
本发明的技术方案如下:
一种光照模型系统,其中,以下所涉及的模块是通过硬件描述语言Verilog实现的,所述光照模型系统包括:
环境光计算模块、漫反射光计算模块、镜面光计算模块、求和模块、运算单元;所述的运算单元包括倒数平方根查找表单元、对数查找表单元、幂次方查找表单元、向量计算单元和乘积单元;
所述环境光计算模块:实现光照模型中环境光部分的计算;
所述漫反射光计算模块:实现光照模型中漫反射光部分的计算;
所述镜面光计算模块:实现光照模型中镜面反射光部分的计算;
所述求和模块:实现光照模型的最终效果计算;
所述运算单元:完成光照模型所涉及的各种数学运算,包括倒数平方根运算、取对数运算、2的幂次方运算、乘法运算以及向量的加、减、内积运算;其中,所述运算单元包括:
倒数平方根查找表单元:实现倒数平方根运算;
对数查找表单元:实现取对数运算;
幂次方查找表单元:实现2的幂次方运算;
向量计算单元:实现向量的加、减、内积运算;
乘积单元:实现相关数据的相乘。
根据本发明优选的,所述倒数平方根查找表单元的数量为1个,所述对数查找表单元的数量为1个,所述幂次方查找表单元的数量为1个,所述向量计算单元的数量为2个,所述乘积单元的数量为3个。
根据本发明优选的,所述倒数平方根查找表单元、对数查找表单元和幂次方查找表单元完成一次操作分别需要1个时钟周期,所述向量计算单元完成一次向量操作需要3个时钟周期,所述乘积单元完成一次相乘操作需要1个时钟周期。
一种光照模型系统的实现方法,包括如下步骤:
(1)镜面光计算模块根据输入端传来的数据调用运算单元逐步完成光照模型中镜面反射光的计算;
(2)在步骤(1)的同时,漫反射光计算模块根据输入端传来的数据调用运算单元逐步完成光照模型中漫反射反射光的计算;
(3)在步骤(1)、步骤(2)的同时,环境光计算模块根据输入端传来的数据调用运算单元逐步完成光照模型中环境光的计算;
(4)在步骤(1)、步骤(2)、步骤(3)都完成后,求和模块完成环境光、漫反射光、镜面反射光以及发射光的和,即光照模型的最终效果计算,其求和采用现有公式(i)完成:
I=Iatm+Idif+Ispc+Iemi
=KaIa+KdId(N·L)+KsIs(N·H)Ns+Ie (i)
在公式(i)中,Ka表示材质的环境光反射系数,Kd表示材质的漫反射系数,Ks表示材质的镜面反射系数,Ia表示环境光,Id表示光源的漫反射分量,Is表示光源的镜面反射分量,Ie表示物体的发射光部分,N表示物体表面点的法向量,L表示物体表面点指向光源的向量,H为半角向量Ns表示物体表面的镜面指数。
本发明的优势在于:
与现有技术相比,本发明的优点和积极效果是:本发明通过环境光计算模块实现光照模型中环境光部分的效果,通过漫反射光计算模块实现光照模型中漫反射光部分的效果,通过镜面光计算模块实现光照模型中镜面反射光部分的效果,通过求和模块实现光照模型的最终效果计算,其中通过运算单元完成光照模型所涉及的各种数学运算,包括倒数平方根运算、取对数运算、2的幂次方运算、乘法运算以及向量的加、减、内积运算,减少了硬件资源的消耗,提高了硬件资源的利用率,此外,本发明通过将占用时钟周期少的操作穿插到占用时钟周期多的操作中,节省了时钟周期,提高了实时性。
附图说明
图1为本发明所述光照模型中的向量关系图示。
图2为本发明的原理图。
图3为查找表单元的接口示意图。
图4为向量单元的接口示意图。
图5为乘积单元的接口示意图。
其中,1、运算单元,2、镜面反射光模块,3、漫反射光模块,4、环境光模块,5、发射光,6、求和模块。
具体实施方式
下面结合附图和优选实施例对本发明作更进一步的详细描述。
参见图1和图2,
一种光照模型系统,其中,以下所涉及的模块是通过硬件描述语言Verilog实现的,所述光照模型的实现系统包括:
环境光计算模块、漫反射光计算模块、镜面光计算模块、求和模块、运算单元;所述的运算单元包括倒数平方根查找表单元、对数查找表单元、幂次方查找表单元、向量计算单元和乘积单元;
所述环境光计算模块:实现光照模型中环境光部分的计算;
所述漫反射光计算模块:实现光照模型中漫反射光部分的计算;
所述镜面光计算模块:实现光照模型中镜面反射光部分的计算;
所述求和模块:实现光照模型的最终效果计算;
所述运算单元:完成光照模型所涉及的各种数学运算,包括倒数平方根运算、取对数运算、2的幂次方运算、乘法运算以及向量的加、减、内积运算;其中,所述运算单元包括:
倒数平方根查找表单元:实现倒数平方根运算;
对数查找表单元:实现取对数运算;
幂次方查找表单元:实现2的幂次方运算;
向量计算单元:实现向量的加、减、内积运算;
乘积单元:实现相关数据的相乘。
所述倒数平方根查找表单元的数量为1个,所述对数查找表单元的数量为1个,所述幂次方查找表单元的数量为1个,所述向量计算单元的数量为2个,所述乘积单元的数量为3个。
所述倒数平方根查找表单元、对数查找表单元和幂次方查找表单元完成一次操作分别需要1个时钟周期,所述向量计算单元完成一次向量操作需要3个时钟周期,所述乘积单元完成一次相乘操作需要1个时钟周期。
实施例2、
一种如实施例1所述光照模型的实现方法,包括如下步骤:
(1)镜面光计算模块根据输入端传来的数据调用运算单元逐步完成光照模型中镜面反射光的计算;
(2)在步骤(1)的同时,漫反射光计算模块根据输入端传来的数据调用运算单元逐步完成光照模型中漫反射反射光的计算;
(3)在步骤(1)、步骤(2)的同时,环境光计算模块根据输入端传来的数据调用运算单元逐步完成光照模型中环境光的计算;
(4)在步骤(1)、步骤(2)、步骤(3)都完成后,求和模块完成环境光、漫反射光、镜面反射光以及发射光的和,即光照模型的最终效果计算,其求和采用现有公式(i)完成:
I=Iatm+Idif+Ispc+Iemi
=KaIa+KdId(N·L)+KsIs(N·H)Ns+Ie (i)
在公式(i)中,Ka表示材质的环境光反射系数,Kd表示材质的漫反射系数,Ks表示材质的镜面反射系数,Ia表示环境光,Id表示光源的漫反射分量,Is表示光源的镜面反射分量,Ie表示物体的发射光部分,N表示物体表面点的法向量,L表示物体表面点指向光源的向量,H为半角向量Ns表示物体表面的镜面指数。
在本设计架构中,在进行向量运算的同时,可以根据情况进行乘积操作,因为向量单元需要3个周期,乘积单元需要1个周期,从而可以进一步提高效率。
图3中,iSclk为时钟输入端口,为模块提供时钟信号;iSrc为原操作数输入端口;oLutRes为查找表结果输出端口,输出对输入数据进行特定运算的结果。
图4中,iSclk为时钟输入端口,为模块提供时钟信号;iOpcode为向量操作方式输入端口,包括加、减、点积;iSrcA、iSrcB、iSrcC分别为原操作数(向量)输入端口;oVecRes为输出端口,输出对输入向量进行特定操作的结果。
图5中,iSrcA和iSrcB为输入端口,分别输入两个乘数;oRes为输出端口,输出iSrcA与iSrcB相乘的结果。
本发明未经描述的技术特征可以通过或采用现有技术实现,在此不再赘述,当然,上述说明并非是对本发明的限制,本发明也并不仅限于上述举例,本技术领域的普通技术人员在本发明的实质范围内所做出的变化、改型、添加或替换,也应属于本发明的保护范围。
Claims (4)
1.一种光照模型系统,其中,以下所涉及的模块是通过硬件描述语言Verilog实现的,其特征在于,所述光照模型的实现系统包括:
环境光计算模块、漫反射光计算模块、镜面光计算模块、求和模块、运算单元;所述的运算单元包括倒数平方根查找表单元、对数查找表单元、幂次方查找表单元、向量计算单元和乘积单元;
所述环境光计算模块:实现光照模型中环境光部分的计算;
所述漫反射光计算模块:实现光照模型中漫反射光部分的计算;
所述镜面光计算模块:实现光照模型中镜面反射光部分的计算;
所述求和模块:实现光照模型的最终效果计算;
所述运算单元:完成光照模型所涉及的各种数学运算,包括倒数平方根运算、取对数运算、2的幂次方运算、乘法运算以及向量的加、减、内积运算;其中,所述运算单元包括:
倒数平方根查找表单元:实现倒数平方根运算;
对数查找表单元:实现取对数运算;
幂次方查找表单元:实现2的幂次方运算;
向量计算单元:实现向量的加、减、内积运算;
乘积单元:实现相关数据的相乘。
2.根据权利要求1所述的一种光照模型系统,其特征在于,所述倒数平方根查找表单元的数量为1个,所述对数查找表单元的数量为1个,所述幂次方查找表单元的数量为1个,所述向量计算单元的数量为2个,所述乘积单元的数量为3个。
3.根据权利要求1所述的一种光照模型系统,其特征在于,所述倒数平方根查找表单元、对数查找表单元和幂次方查找表单元完成一次操作分别需要1个时钟周期,所述向量计算单元完成一次向量操作需要3个时钟周期,所述乘积单元完成一次相乘操作需要1个时钟周期。
4.一种如权利要求1所述光照模型系统的实现方法,其特征在于,包括如下步骤:
(1)镜面光计算模块根据输入端传来的数据调用运算单元逐步完成光照模型中镜面反射光的计算;
(2)在步骤(1)的同时,漫反射光计算模块根据输入端传来的数据调用运算单元逐步完成光照模型中漫反射反射光的计算;
(3)在步骤(1)、步骤(2)的同时,环境光计算模块根据输入端传来的数据调用运算单元逐步完成光照模型中环境光的计算;
(4)在步骤(1)、步骤(2)、步骤(3)都完成后,求和模块完成环境光、漫反射光、镜面反射光以及发射光的和,即光照模型的最终效果计算,其求和采用现有公式(i)完成:
I=Iatm+Idif+Ispc+Iemi
=KaIa+KdId(N·L)+KsIs(N·H)Ns+Ie (i)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310705942.5A CN103699733A (zh) | 2013-12-19 | 2013-12-19 | 一种光照模型系统及实现方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201310705942.5A CN103699733A (zh) | 2013-12-19 | 2013-12-19 | 一种光照模型系统及实现方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN103699733A true CN103699733A (zh) | 2014-04-02 |
Family
ID=50361260
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201310705942.5A Pending CN103699733A (zh) | 2013-12-19 | 2013-12-19 | 一种光照模型系统及实现方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN103699733A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239647A (zh) * | 2014-09-25 | 2014-12-24 | 山东大学 | 一种实现光线追踪的硬件设计架构 |
CN106373179A (zh) * | 2016-08-29 | 2017-02-01 | 北京像素软件科技股份有限公司 | 光照场景渲染方法 |
CN106840389A (zh) * | 2016-12-30 | 2017-06-13 | 歌尔科技有限公司 | 基于多个圆球的光源估测方法和装置、智能电子设备 |
CN111830810A (zh) * | 2020-06-12 | 2020-10-27 | 北京邮电大学 | 表现体素上真实光照的计算全息图生成方法和装置 |
Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266576B2 (en) * | 2002-12-24 | 2007-09-04 | Lockheed Martin Corporation | Circuits and methods for implementing approximations to logarithms |
CN102193901A (zh) * | 2011-06-27 | 2011-09-21 | 刘继清 | 一种等比对数表及采用该数表进行乘幂运算的计算方法 |
CN103440395A (zh) * | 2013-09-22 | 2013-12-11 | 济南大学 | 一种基于查找表实现BlinnPhong光照模型的设计系统及方法 |
-
2013
- 2013-12-19 CN CN201310705942.5A patent/CN103699733A/zh active Pending
Patent Citations (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7266576B2 (en) * | 2002-12-24 | 2007-09-04 | Lockheed Martin Corporation | Circuits and methods for implementing approximations to logarithms |
CN102193901A (zh) * | 2011-06-27 | 2011-09-21 | 刘继清 | 一种等比对数表及采用该数表进行乘幂运算的计算方法 |
CN103440395A (zh) * | 2013-09-22 | 2013-12-11 | 济南大学 | 一种基于查找表实现BlinnPhong光照模型的设计系统及方法 |
Cited By (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104239647A (zh) * | 2014-09-25 | 2014-12-24 | 山东大学 | 一种实现光线追踪的硬件设计架构 |
CN106373179A (zh) * | 2016-08-29 | 2017-02-01 | 北京像素软件科技股份有限公司 | 光照场景渲染方法 |
CN106373179B (zh) * | 2016-08-29 | 2019-02-26 | 北京像素软件科技股份有限公司 | 光照场景渲染方法 |
CN106840389A (zh) * | 2016-12-30 | 2017-06-13 | 歌尔科技有限公司 | 基于多个圆球的光源估测方法和装置、智能电子设备 |
CN111830810A (zh) * | 2020-06-12 | 2020-10-27 | 北京邮电大学 | 表现体素上真实光照的计算全息图生成方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
Guo et al. | Software-hardware codesign for efficient neural network acceleration | |
KR20190107091A (ko) | 계산 장치 및 방법 | |
CN103699733A (zh) | 一种光照模型系统及实现方法 | |
US20200050924A1 (en) | Data Processing Method and Apparatus for Neural Network | |
Anjana et al. | Synthesize of high speed floating-point multipliers based on Vedic mathematics | |
US9852540B2 (en) | Graphics lighting engine including log and anti-log units | |
WO2022057502A1 (zh) | 点积运算实现方法、装置、电子设备及存储介质 | |
CN103955585A (zh) | 一种适用于低功耗容错电路的fir滤波器结构 | |
Hsiao et al. | Design of a programmable vertex processor in OpenGL ES 2.0 mobile graphics processing units | |
US20220113943A1 (en) | Method for multiply-add operations for neural network | |
CN103440395A (zh) | 一种基于查找表实现BlinnPhong光照模型的设计系统及方法 | |
Schlessman et al. | Tailoring design for embedded computer vision applications | |
CN112036561B (zh) | 数据处理方法、装置、电子设备及存储介质 | |
Thabah et al. | Experimental studies on multi-operand adders | |
Palsodkar et al. | Improved fused floating point add-subtract and multiply-add unit for FFT implementation | |
CN108229668B (zh) | 基于深度学习的运算实现方法、装置和电子设备 | |
Chang et al. | A division-free algorithm for fixed-point power exponential function in embedded system | |
Jeong et al. | A Low-Latency and Lightweight FPGA-Based Engine for Softmax and Layer Normalization Acceleration | |
Thakare et al. | Low Power 64-Bit Multiplier Design By Vedic Mathematics | |
CN105260490A (zh) | 电路布局装置以及电路布局方法 | |
Gwon et al. | Live demonstration: AHB based digital filter for low power mobile healthcare system | |
Sakthi et al. | Multipliers based on Urdhva Tiryagbhyam algorithm: a survey | |
CN102236539A (zh) | 图形芯片设计中求幂算法的实现 | |
Singh et al. | Energy Efficient Vedic Multiplier | |
Renuka et al. | Piecewise-Polynomial Function Evaluation in 3-D Graphics-Artificial Intelligence based New Digital Multiplier |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20140402 |