CN112927342B - 一种光照计算方法及固定管线渲染、可编程管线渲染方法 - Google Patents
一种光照计算方法及固定管线渲染、可编程管线渲染方法 Download PDFInfo
- Publication number
- CN112927342B CN112927342B CN202110196867.9A CN202110196867A CN112927342B CN 112927342 B CN112927342 B CN 112927342B CN 202110196867 A CN202110196867 A CN 202110196867A CN 112927342 B CN112927342 B CN 112927342B
- Authority
- CN
- China
- Prior art keywords
- rendering
- color
- illumination
- calculation method
- light component
- 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
Links
Images
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06T—IMAGE DATA PROCESSING OR GENERATION, IN GENERAL
- G06T15/00—3D [Three Dimensional] image rendering
- G06T15/50—Lighting effects
Landscapes
- Engineering & Computer Science (AREA)
- Computer Graphics (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- Theoretical Computer Science (AREA)
- Image Generation (AREA)
Abstract
本发明公开了一种光照计算方法及固定管线渲染、可编程管线渲染方法,具体公开了一种改进的Blinn‑Phong光照计算方法,基于此光照计算方法无需添加任何光源即可高效的得到很好的三维渲染可视化效果,可进一步提高图形系统可视化效率,增加图形系统承载三维模型的能力,具有较高的应用推广价值。
Description
技术领域
本发明涉及三维模型渲染技术,特别是一种光照计算方法及固定管线渲染、可编程管线渲染方法。
背景技术
三维模型可视化渲染时,经典的Blinn-Phong光照计算方法主要由三个分量构成:环境(Ambient)、漫反射(Diffuse)和镜面(Specular)光照。其中,环境光照分量与视点位置、光源及模型法线方向无关,其值一般等于物体颜色与一个很小的常量环境因子的剩积;漫反射光照分量与光源和模型法线方向相关,光源方向与模型法线方向间夹角越小其贡献度越大;镜面光照分量与视点位置、光源及模型法线方向直接相关,光源方向和视线方向的中间向量与模型法线间夹角越小其贡献度越大。可见,在经典Blinn-Phong光照计算方法中,漫反射与镜面光分量与视点位置及光源方向相关性很大,一般为得到较好的三维模型可视化渲染效果,会在场景中加入多个光源,但每增加一个光源就增加一次漫反射与镜面光计算过程,进而降低渲染效率。
发明内容
本发明的发明目的在于:针对现有技术存在的通过经典Blinn-Phong光照计算方法进行渲染需要加入多个光源导致渲染效率低的问题,提供一种光照计算方法及固定管线渲染、可编程管线渲染方法。
为了实现上述目的,本发明采用的技术方案为:
一种光照计算方法,包括:
S1将三维模型可视化最终渲染颜色分为环境光照、漫反射光照及镜面光照三个分量;
S2环境光分量为模型颜色;
漫反射分量为相机方向与模型法线两个单位向量的点积;
镜面光分量为相机方向和视线方向的中间向量与模型法线两个单位向量的点积,再取其反光度次幂;
S3最终渲染颜色=环境光分量*环境光强度+漫反射分量*漫反射强度+镜面光分量*镜面光强。
优选的,所述环境光分量:
Ambient=color*0.1。
其中,color为颜色参数值。
优选的,所述漫反射分量:
Diffuse=abs(dot(N,C))*color*0.9
其中,N指模型表面法线单位向量,C指相机方向。
优选的,所述镜面光分量:
Specular=pow(abs(dot(H,N)),32)*color。
其中,H指半程向量。
一种采用了如以上任一项所述光照计算方法的固定管线渲染方法,在固定管线渲染方式中,每帧使用glLightfv()API将环境光照、漫反射光照及镜面光照三个分量传入渲染管线中,进行三维模型渲染。
一种采用了如以上任一项所述光照计算方法的可编程管线渲染方法,在可编程渲染管线中,选择在视图坐标系下计算所述光照计算方法,进行三维模型渲染。
综上所述,由于采用了上述技术方案,本发明的有益效果是:
一种改进的Blinn-Phong光照计算方法,基于此光照计算方法无需添加任何光源即可高效的得到很好的三维渲染可视化效果,可进一步提高图形系统可视化效率,增加图形系统承载三维模型的能力,具有较高的应用推广价值。
附图说明
图1是光照计算方法的流程图。
图2为漫反射分量计算方式的示意图。
图3为镜面光分量计算方式的示意图。
图4为利用本发明的光照计算方法进行渲染的效果图。
图5为利用经典Blinn-Phong光照计算方法进行渲染的效果图。
具体实施方式
下面结合附图,对本发明作详细的说明。
为了使本发明的目的、技术方案及优点更加清楚明白,以下结合附图及实施例,对本发明进行进一步详细说明。应当理解,此处所描述的具体实施例仅用以解释本发明,并不用于限定本发明。
实施例1
如图1所示,一种光照计算方法,包括:
S1将三维模型可视化最终渲染颜色分为环境光照、漫反射光照及镜面光照三个分量;
S2环境光分量为模型颜色;所述环境光分量:
Ambient=color*0.1。
其中,color为颜色参数值。
如图2,漫反射分量为相机方向与模型法线两个单位向量的点积;所述漫反射分量:
Diffuse=abs(dot(N,C))*color*0.9
其中,N(Normal vector)指模型表面法线单位向量,C(Camera direction)指相机方向(相机目标点指向相机位置)。
如图3,镜面光分量为相机方向和视线方向的中间向量与模型法线两个单位向量的点积,再取其反光度次幂;所述镜面光分量:
Specular=pow(abs(dot(H,N)),32)*color。
其中,S(Sight direction)指视线方向(模型位置指向相机位置),H(Halfvector)指半程向量(相机方向与视线方向的中间向量)。
S3最终渲染颜色=环境光分量*环境光强度+漫反射分量*漫反射强度+镜面光分量*镜面光强。
利用本发明的光照计算方法进行渲染的效果图如图5所示,利用经典Blinn-Phong光照计算方法进行渲染的效果图如图4所示,可以看出在不增加光源的情况下,本发明的光照计算方法的渲染效果更好。
实施例2
本实施例2与实施例1的区别在于,采用了实施例1的光照计算方法进行固定管线渲染,在固定管线渲染方式中,每帧使用glLightfv()API将环境光照、漫反射光照及镜面光照三个分量传入渲染管线中,具体如下:
glLightfv(GL_LIGHT0,GL_AMBIENT,{0.1,0.1,0.1,1.0});
glLightfv(GL_LIGHT0,GL_DIFFUSE,{0.9,0.9,0.9,1.0});
glLightfv(GL_LIGHT0,GL_SPECULAR,{1.0,1.0,1.0,1.0});
glLightfv(GL_LIGHT0,GL_POSITION,cameraDirection)。
若渲染时,相机视图矩阵为viewMatirx,则
cameraDirection.x=-viewMatirx[8];
cameraDirection.y=-viewMatirx[9];
cameraDirection.z=-viewMatirx[10];
cameraDirection.z=0.0。
基于此光照计算方法进行固定管线渲染,可进一步提高图形系统可视化效率,增加图形系统承载三维模型的能力。
实施例3
本实施例3与实施例1的区别在于,一种采用了如实施例1的光照计算方法进行可编程管线渲染,在可编程渲染管线中,选择在视图坐标系下计算所述光照计算方法(在视图坐标系下,相机位置为(0,0,0)点,相机方向为(0,0,1.0)),具体GLSL代码如下:
基于此光照计算方法进行可编程管线渲染,可进一步提高图形系统可视化效率,增加图形系统承载三维模型的能力。
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内所作的任何修改、等同替换和改进等,均应包含在本发明的保护范围之内。
Claims (6)
1.一种光照计算方法,其特征在于,包括:
S1将三维模型可视化最终渲染颜色分为环境光照、漫反射光照及镜面光照三个分量;
S2环境光分量为模型颜色;
漫反射分量为相机方向与模型法线两个单位向量的点积;
镜面光分量为相机方向和视线方向的中间向量与模型法线两个单位向量的点积,再取其反光度次幂;
S3最终渲染颜色=环境光分量*环境光强度+漫反射分量*漫反射强度+镜面光分量*镜面光强。
2.根据权利要求1所述的,其特征在于,所述环境光分量:
Ambient=color*0.1
其中,color为颜色参数值。
3.根据权利要求2所述的,其特征在于,所述漫反射分量:
Diffuse=abs(dot(N,C))*color*0.9
其中,N指模型表面法线单位向量,C指相机方向单位向量。
4.根据权利要求3所述的,其特征在于,所述镜面光分量:
Specular=pow(abs(dot(H,N)),32)*color
其中,H指半程向量。
5.一种采用了如权利要求1-4任一项所述光照计算方法的固定管线渲染方法,其特征在于,在固定管线渲染方式中,每帧使用glLightfv()API将环境光照、漫反射光照及镜面光照三个分量传入渲染管线中,进行三维模型渲染。
6.一种采用了如权利要求1-4任一项所述光照计算方法的可编程管线渲染方法,其特征在于,在可编程渲染管线中,选择在视图坐标系下计算所述光照计算方法,进行三维模型渲染。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110196867.9A CN112927342B (zh) | 2021-02-22 | 2021-02-22 | 一种光照计算方法及固定管线渲染、可编程管线渲染方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202110196867.9A CN112927342B (zh) | 2021-02-22 | 2021-02-22 | 一种光照计算方法及固定管线渲染、可编程管线渲染方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN112927342A CN112927342A (zh) | 2021-06-08 |
CN112927342B true CN112927342B (zh) | 2022-12-20 |
Family
ID=76170037
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202110196867.9A Active CN112927342B (zh) | 2021-02-22 | 2021-02-22 | 一种光照计算方法及固定管线渲染、可编程管线渲染方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN112927342B (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5936629A (en) * | 1996-11-20 | 1999-08-10 | International Business Machines Corporation | Accelerated single source 3D lighting mechanism |
CN101354794A (zh) * | 2008-09-10 | 2009-01-28 | 汕头超声仪器研究所 | 基于图形处理器的实时三维图像的光照模拟方法 |
CN105447906A (zh) * | 2015-11-12 | 2016-03-30 | 浙江大学 | 基于图像和模型计算光照参数进行重光照渲染的方法 |
CN107749077A (zh) * | 2017-11-08 | 2018-03-02 | 米哈游科技(上海)有限公司 | 一种卡通风格光影渲染方法、装置、设备及介质 |
CN110969568A (zh) * | 2019-11-29 | 2020-04-07 | 广联达科技股份有限公司 | Bim模型双面显示加速渲染方法、系统、产品和存储介质 |
CN111009026A (zh) * | 2019-12-24 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 对象渲染方法和装置、存储介质及电子装置 |
-
2021
- 2021-02-22 CN CN202110196867.9A patent/CN112927342B/zh active Active
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5936629A (en) * | 1996-11-20 | 1999-08-10 | International Business Machines Corporation | Accelerated single source 3D lighting mechanism |
CN101354794A (zh) * | 2008-09-10 | 2009-01-28 | 汕头超声仪器研究所 | 基于图形处理器的实时三维图像的光照模拟方法 |
CN105447906A (zh) * | 2015-11-12 | 2016-03-30 | 浙江大学 | 基于图像和模型计算光照参数进行重光照渲染的方法 |
CN107749077A (zh) * | 2017-11-08 | 2018-03-02 | 米哈游科技(上海)有限公司 | 一种卡通风格光影渲染方法、装置、设备及介质 |
CN110969568A (zh) * | 2019-11-29 | 2020-04-07 | 广联达科技股份有限公司 | Bim模型双面显示加速渲染方法、系统、产品和存储介质 |
CN111009026A (zh) * | 2019-12-24 | 2020-04-14 | 腾讯科技(深圳)有限公司 | 对象渲染方法和装置、存储介质及电子装置 |
Non-Patent Citations (3)
Title |
---|
"基于HDR的实时光照技术研究";秦家水;《中国优秀硕士学位论文全文数据库 信息科技辑》;20110515(第05期);I138-789 * |
"基于可编程GPU的光照模型实验案例设计";谢伙生 等;《实验技术与管理》;20191126;第36卷(第11期);128-132 * |
"用于增强现实的光照估计研究综述";刘万奎 等;《计算机辅助设计与图形学学报》;20160215;第28卷(第2期);197-205 * |
Also Published As
Publication number | Publication date |
---|---|
CN112927342A (zh) | 2021-06-08 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US11941745B2 (en) | Reflection denoising in ray-tracing applications | |
US6664963B1 (en) | System, method and computer program product for programmable shading using pixel shaders | |
US5936629A (en) | Accelerated single source 3D lighting mechanism | |
CN107886552B (zh) | 贴图处理方法和装置 | |
CN106648049B (zh) | 一种基于眼球追踪及眼动点预测的立体渲染方法 | |
US20080266286A1 (en) | Generation of a particle system using a geometry shader | |
CN100504923C (zh) | 用于纹理视讯处理的纹理引擎、图形处理器及方法 | |
JP2017521766A (ja) | 3dモデルのレンダリング方法および装置ならびに端末デバイス | |
CN106875468B (zh) | 三维重建装置及方法 | |
CN101271587A (zh) | 一种基于过渡光贴图的光照和阴影绘制方法 | |
CN111754381B (zh) | 图形渲染方法、装置和计算机可读存储介质 | |
CN110033509B (zh) | 一种基于漫反射梯度偏振光构建三维人脸法线的方法 | |
US6806886B1 (en) | System, method and article of manufacture for converting color data into floating point numbers in a computer graphics pipeline | |
CN103700134A (zh) | 基于可控制纹理烘焙的三维矢量模型实时光影延迟着色渲染方法 | |
CN101615300B (zh) | 一种屏幕空间微结构表面对象环境光遮挡方法 | |
CN104157000B (zh) | 模型表面法线的计算方法 | |
CN112927342B (zh) | 一种光照计算方法及固定管线渲染、可编程管线渲染方法 | |
JP2008282171A (ja) | グラフィックスプロセッサおよび描画処理方法 | |
CN104240286A (zh) | 基于屏幕空间的实时反射方法 | |
Green | Efficient self-shadowed radiosity normal mapping | |
CN103093491A (zh) | 基于多视点视频的三维模型高真实感虚实结合渲染方法 | |
CN106780702B (zh) | 一种基于物理着色的方法及系统 | |
CN115439595A (zh) | 一种面向ar的室内场景动态光照在线估计方法与装置 | |
CN110969568A (zh) | Bim模型双面显示加速渲染方法、系统、产品和存储介质 | |
Gan et al. | Photometric Stereo with Area Lights for Lambertian Surfaces |
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 | ||
GR01 | Patent grant | ||
GR01 | Patent grant |