CN1889127A - 一种在3d游戏中获得物体显示色的方法 - Google Patents
一种在3d游戏中获得物体显示色的方法 Download PDFInfo
- Publication number
- CN1889127A CN1889127A CNA2006100889302A CN200610088930A CN1889127A CN 1889127 A CN1889127 A CN 1889127A CN A2006100889302 A CNA2006100889302 A CN A2006100889302A CN 200610088930 A CN200610088930 A CN 200610088930A CN 1889127 A CN1889127 A CN 1889127A
- Authority
- CN
- China
- Prior art keywords
- light source
- rgb
- obtains
- value
- luminous energy
- 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
- Image Generation (AREA)
Abstract
本发明提供了一种在3D游戏中获得物体显示色的方法,通过该方法,获取预置的光源颜色信息,利用光源颜色信息与预置的环境光值,计算获得光能效果值,根据光能效果值与预置的物体绘制点的材质色,计算获得物体各点的显示色。利用本发明,能够使被渲染的物体或场景的更加真实且颜色更为细腻,提升了服务质量,将吸引更多的用户。
Description
技术领域
本发明涉及计算机色彩显示技术,尤其涉及一种在3D游戏中获得物体显示色的方法。
背景技术
3D游戏中为了渲染游戏的情节,通常需要大量的场景,而每个场景又由许多的物体组成,例如房屋等建筑物。为丰富视觉效果,我们常常加入了光源,例如:日光、月光、屋子里的灯光或者悬挂的灯笼,为体现光亮的感觉,需要根据光源以及物体色计算出物体每个顶点的显示色,进行显示。而现有的3D游戏中,获得光照效果是利用光源的光照强弱,结合物体的材质色,计算得到物体各顶点的显示色,即:
物体显示色=光能强弱×物体材质色
其中,计算得到的光能强弱存储在光照图(LightMap)中。
上述方法,光照图中只存储了光照强弱,在最终得到的物体色中没有考虑光源的颜色对物体显示色的影响,例如:在游戏中,需要渲染一个红色的球,无论光源是红色,黄色,还是白色,最终渲染后的球体的颜色,仍然是红色,与光源的颜色无关,因此获得的光照效果不够逼真,显示的物体的颜色不够细腻。
发明内容
为解决上述问题,本发明目的在于提供一种在3D游戏中获得物体显示色的方法,以使获得的物体显示色更加细腻。
为实现上述目的,本发明提供了一种在3D游戏中获得物体色的方法,该方法包括:
步骤A:获取预置的光源颜色信息;
步骤B:利用光源颜色信息获得的漫反射光值与预置的环境光值相加,计算获得光能效果值;
步骤C:根据光能效果值与物体绘制点的材质色,计算获得物体绘制点的显示色。
其中,步骤B后进一步包括:将获得的光能效果值存储于光能效果图中。
其中,步骤A包括:获取预置的光源颜色信息的红、绿、蓝RGB三个分量;
步骤B包括:
步骤B1:物体欲绘制点的点积函数分别与该点的光源衰弱因子相乘的结果值和获取的光源颜色信息的RGB三个分量分别相乘,获得物体绘制点的漫反射光的RGB三个分量值;
步骤B2:得到的漫反射光的RGB三个分量值分别与预置的对应环境光的RGB三个分量分别相加,获得光能效果的RGB三个分量值。
其中,步骤C包括:光能效果值与物体绘制点的材质色相乘,获得物体绘制点的显示色。
其中,步骤A包括:分别获取预置的多个光源的光源颜色信息的RGB三个分量;
步骤B包括:
步骤B11:物体绘制点的点积函数与该点的光源衰弱因子相乘的结果值分别和获取的每个光源对应的光源颜色RGB三个分量值相乘,获得每个光源在物体绘制点的漫反射光的RGB三个分量值;
步骤B22:将获得的每个光源颜色的漫反射光值相加,得到物体绘制点的最终漫反射光的RGB三个分量值;
步骤B33:得到的漫反射光的RGB三个分量值分别与预置的环境光的RGB三个分量分别相加,获得光能效果的RGB三个分量值。
其中,该方法进一步包括:
获取光能效果值与物体各点的显示色的值的计算均使用浮点数。
以上技术方案可以看出,由于在计算光照时,不但考虑了光源的光照强弱而且还充分考虑到光源的颜色,图像中的物体不仅可随着距光源的远近改变亮度,物体的颜色还可随着光源颜色的变化而变化,使得图像中所显示的物体更加逼真。
进一步,在有多个光源的情况下,本发明分别考虑每个光源颜色对被渲染的物体色的影响,使得输出的图象中被渲染的物体色更加真实,从而,提高了服务质量,将吸引更多的用户。
附图说明
图1为本发明一实施例中在3D游戏中获得物体显示色的流程图;
图2为本发明另一实施例中在3D游戏中获得物体显示色的流程图。
具体实施方式
本发明在充分考虑光源颜色对被渲染物体的影响下,提供了一种在3D游戏中获得物体显示色的方法,为使本发明的目的、技术方案、及优点更加清楚明白,以下参照附图并举实施例,对本发明进一步详细说明。
参见图1,当游戏场景中只有一个光源时,实现本发明目的需要以下步骤:
步骤101.从光源信息表中获取预置的光源颜色信息,即红、绿、蓝(RGB)三个分量的值;
RGB分别代表R:红、G:绿、R:蓝三种颜色,由红、绿、蓝相加混合,以取得其他颜色的颜色合成方式称为RGB色彩模式,R、G、B这三个参数的取值范围都在0至255之间,例如,(0,0,0)显示白色,(255,255,255)显示黑色;
例如:设获取RGB值为(200,200,127),将RGB值转换成浮点数,即(200/255,200/255,127/255)得到(0.7843,0.7843,0.5);
其中,计算使用浮点数,是为了提高计算的精度,也可采用整点运算;
其中,预置光源颜色的信息的光源信息表中包括:光源位置,光源所作场景,光源颜色,光源标识(光源ID);
步骤102.获取欲绘制的物体表面点的法向量与入射光线方向,两者相乘获得点积函数;根据光源与绘制点的远近,计算出光源衰弱因子;
其中,点积函数结果主要是考虑光线直射和光线斜射对物体表面得到光能强弱产生的影响,衰弱因子是考虑光源远近对物体表面产生的影响;
例如:设获得法向量为(0.5,0.5,0.5),获得的入射光线方向为(0,0,1),那么根据点积公式:dot=dot(A*B)=Ax*Bx+Ay*By+Az*Bz,则本例中,点积函数为0.5×0+0.5×0+0.5*1=0.5;
其中,点积函数的结果限制在0到1.0的范围内,结果小于0的情况表明这个点无法获得光源照射,因此,处理成0;
其中,光源衰弱因子的结果限制在0到1.0的范围内;
例如:设光源衰弱因子为0.1;
步骤103.将获得的点积函数与计算得到的光源衰弱因子相乘所获得的结果值与获取的光源颜色的RGB三个分量分别相乘,所得的最后结果值为漫反射光的值;
例如:漫反射光值=(0.7843,0.7843,0.5)*0.5*0.1=(0.039215,0.039125,0.025);
步骤104.根据游戏中不同的环境,将获得的漫反射光值与预置的包含RGB三个分量的环境光值相加,获得光能效果值,并将光能效果值RGB三个分量分别存储于光能效果图(colormap)中;
其中,环境光值表现物体在没有被光照到时呈现的阴影的颜色,例如:阴天、晴天等,因环境光值不受光源光照的影响,所以,可预置一个环境光值表,用以保存游戏中不同场景中的环境光值,例如:设获取的环境光值的RGB三个分量的值为(0.1,0.2,0);
至此,光能效果中不仅包含了光照强弱信息,还加入了光源颜色信息;
本例中所得光能效果值为:(0.139215,0.239125,0.025);
步骤105.将存储于colormap中的光能效果值的三个RGB分量乘以物体材质色,获得物体绘制点的显示色;
其中,由于游戏过程是游戏循环构成,在每个游戏循环中,要完成一次游戏画面的重新绘制以及游戏的逻辑计算,需要进行大量的计算,为减少计算量,在计算3D游戏中的静态物体绘制点的显示色时,可直接从存储光能效果值的光能效果图(corlormap)中获取需要的光能效果值,而在计算游戏中动态物体绘制点的显示色时,则需要进行实时计算以获得光能效果值;
同样,为减少计算量,在计算3D游戏中的静态物体绘制点的显示色时,可直接从预置的物体信息表中获取物体材质色,物体信息表中包括物体标识(物体ID),物体计算点位置,计算点材质色,物体所属场景;而在计算游戏中的动态物体绘制点的显示色时,需要对物体材质色进行实时计算;
至此,实现了本发明的目的;
其中,为了使计算方便,上述步骤中所有的计算都使用浮点数。
参见图2,当游戏场景中有多个光源时,实现本发明目的需要以下步骤:
步骤201.从光源信息表中获取预置的每个光源的颜色信息,即红、绿、蓝(RGB)三个分量的值;
其中,存储光源颜色的信息的光源信息表中包括:光源位置,光源所在场景,光源颜色,光源标识(光源ID);
步骤202.获取物体表面预绘制点的法向量与入射光线方向,两者相乘获得点积函数;根据光源与绘制点的远近,计算出光源衰弱因子;
其中,点积函数的结果限制在0到1.0的范围内,结果小于0的情况表明这个点无法获得光源照射,因此,处理成0;
其中,光源衰弱因子的结果限制在0到1.0的范围内;
步骤203.将获得的点积函数与计算得到的光源衰弱因子相乘所获得的结果值与获取的每个光源颜色的RGB三个分量分别相乘,计算得到每个光源在物体绘制点的漫反射光值;
步骤204.将获得的每个光源的漫反射光值相加,其结果为获得的最终的漫反射光值;
步骤205.将获得的最终的漫反射光值与预置的环境光值相加,获得光能效果值,并将光能效果值的RGB三个分量分别存储于光能效果图(colormap)中;
其中,环境光值表现物体在没有被光照到时呈现的阴影的颜色,例如:阴天、晴天等,因环境光值不受光源光照的影响,所以,可从预置的保存游戏中不同场景的环境光值的环境光值表中获取;
至此,光能效果中包含了光照强弱信息,光源颜色信息;
步骤206.将光能效果值的三个RGB分量乘以物体绘制点的材质色,获得物体绘制点的显示色;
其中,由于游戏过程是游戏循环构成,在每个游戏循环中,要完成一次游戏画面的重新绘制以及游戏的逻辑计算,需要进行大量的计算,为减少计算量,在计算3D游戏中的静态物体绘制点的显示色时,可直接从存储光能效果值的光能效果图(corlormap)中获取需要的光能效果值,而在计算游戏中动态物体绘制点的显示色时,则需要进行实时计算以获得光能效果值;
同样,为减少计算量,在计算3D游戏中的静态物体绘制点的显示色时,可直接从预置的物体信息表中获取物体材质色,物体信息表中包括物体标识(物体ID),物体计算点位置,计算点材质色,物体所属场景;而在计算游戏中的动态物体绘制点的显示色时,需要对物体材质色进行实时计算;
至此,实现了本发明的目的;
其中,为了使计算方便,上述步骤中所有的计算都使用浮点数。
以上仅是本发明的较佳的实施例而已,并不用于限制本发明,如在本发明的精神和原则之内,所作的修改、等同替换、改进等,均应包括在本发明的保护范围之内。
Claims (6)
1、一种在3D游戏中获得物体显示色的方法,其特征在于,该方法包括:
步骤A:获取预置的光源颜色信息;
步骤B:利用光源颜色信息获得的漫反射光值与预置的环境光值相加,计算获得光能效果值;
步骤C:根据光能效果值与物体绘制点的材质色,计算获得物体绘制点的显示色。
2、根据权利要求1所述的在3D游戏中获得物体显示色的方法,其特征在于:
步骤B后进一步包括:将获得的光能效果值存储于光能效果图中。
3、根据权利要求1所述的在3D游戏中获得物体显示色的方法,其特征在于:
步骤A包括:获取预置的光源颜色信息的红、绿、蓝RGB三个分量;
步骤B包括:
步骤B1:物体欲绘制点的点积函数分别与该点的光源衰弱因子相乘的结果值和获取的光源颜色信息的RGB三个分量分别相乘,获得物体绘制点的漫反射光的RGB三个分量值;
步骤B2:得到的漫反射光的RGB三个分量值分别与预置的对应环境光的RGB三个分量分别相加,获得光能效果的RGB三个分量值。
4、根据权利要求1所述的在3D游戏中获得物体显示色的方法,其特征在于:
步骤C包括:光能效果值与物体绘制点的材质色相乘,获得物体绘制点的显示色。
5、根据权利要求1所述的在3D游戏中获得物体显示色的方法,其特征在于:
步骤A包括:分别获取预置的多个光源的光源颜色信息的RGB三个分量;
步骤B包括:
步骤B11:物体绘制点的点积函数与该点的光源衰弱因子相乘的结果值分别和获取的每个光源对应的光源颜色RGB三个分量值相乘,获得每个光源在物体绘制点的漫反射光的RGB三个分量值;
步骤B22:将获得的每个光源颜色的漫反射光值相加,得到物体绘制点的最终漫反射光的RGB三个分量值;
步骤B33:得到的漫反射光的RGB三个分量值分别与预置的环境光的RGB三个分量分别相加,获得光能效果的RGB三个分量值。
6、根据权利要求1至5任一所述的在3D游戏中获得物体显示色的方法,其特征在于,该方法进一步包括:
获取光能效果值与物体各点的显示色的值的计算均使用浮点数。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100889302A CN1889127A (zh) | 2006-07-26 | 2006-07-26 | 一种在3d游戏中获得物体显示色的方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CNA2006100889302A CN1889127A (zh) | 2006-07-26 | 2006-07-26 | 一种在3d游戏中获得物体显示色的方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN1889127A true CN1889127A (zh) | 2007-01-03 |
Family
ID=37578402
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CNA2006100889302A Pending CN1889127A (zh) | 2006-07-26 | 2006-07-26 | 一种在3d游戏中获得物体显示色的方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN1889127A (zh) |
Cited By (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302441A (zh) * | 2016-08-12 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种3d场景中的光照处理方法、终端、服务器及系统 |
CN106991717A (zh) * | 2017-03-16 | 2017-07-28 | 珠海市魅族科技有限公司 | 一种应用于三维场景下的图像处理方法和系统 |
WO2018157375A1 (zh) * | 2017-03-03 | 2018-09-07 | 小天才科技有限公司 | 游戏地图的物体绘制方法及装置 |
CN110728625A (zh) * | 2019-10-14 | 2020-01-24 | 北京金山数字娱乐科技有限公司 | 一种图像推理的方法及装置 |
-
2006
- 2006-07-26 CN CNA2006100889302A patent/CN1889127A/zh active Pending
Cited By (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN106302441A (zh) * | 2016-08-12 | 2017-01-04 | 腾讯科技(深圳)有限公司 | 一种3d场景中的光照处理方法、终端、服务器及系统 |
WO2018028669A1 (zh) * | 2016-08-12 | 2018-02-15 | 腾讯科技(深圳)有限公司 | 3d场景中的光照处理方法、终端、服务器及存储介质 |
CN106302441B (zh) * | 2016-08-12 | 2018-09-07 | 腾讯科技(深圳)有限公司 | 一种3d场景中的光照处理方法、终端、服务器及系统 |
WO2018157375A1 (zh) * | 2017-03-03 | 2018-09-07 | 小天才科技有限公司 | 游戏地图的物体绘制方法及装置 |
CN106991717A (zh) * | 2017-03-16 | 2017-07-28 | 珠海市魅族科技有限公司 | 一种应用于三维场景下的图像处理方法和系统 |
CN110728625A (zh) * | 2019-10-14 | 2020-01-24 | 北京金山数字娱乐科技有限公司 | 一种图像推理的方法及装置 |
CN110728625B (zh) * | 2019-10-14 | 2023-06-30 | 北京金山数字娱乐科技有限公司 | 一种图像推理的方法及装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
WO2021247199A1 (en) | Rendering images on displays | |
JP4870665B2 (ja) | ビデオ・コンテンツから導出した周辺光を生成するための知覚規則を用いた支配色抽出 | |
CN103688287B (zh) | 使源图像内容适应于目标显示器的方法 | |
ES2737993T3 (es) | Aparatos y métodos basados en región de brillo para codificación y decodificación de imágenes HDR | |
CN1906951A (zh) | 由子采样视频内容和通过非再生色彩空间映射得出的环境光 | |
CN1906952A (zh) | 通过未渲染色空间用映射转换从视频内容中得到的环境光 | |
CN100584037C (zh) | 从通过未渲染颜色空间映射的视频内容中导出的环境光的无闪烁自适应阈值处理方法 | |
CN1538377A (zh) | 彩色有机发光二极管显示系统 | |
CN1808559A (zh) | 一种提高显示面板亮度与影像品质的影像处理装置与方法 | |
CN1664913A (zh) | 色修正电路和具备其的图像显示装置 | |
CN101049009A (zh) | 对增强的色彩空间内容进行母版制作和分发的方法和系统 | |
CN1837949A (zh) | 用黑白相机拍摄彩色图像的成像系统 | |
CN1217126A (zh) | 生成复合图像的装置与方法 | |
CN1664912A (zh) | 色修正电路和具备其的图像显示装置 | |
CN1894961A (zh) | 辅助可视显示系统 | |
CN1722193A (zh) | 具有新型子像素布局和排列的高亮度显示器 | |
CN1940695A (zh) | 用于补偿图像的方法 | |
CN1889127A (zh) | 一种在3d游戏中获得物体显示色的方法 | |
KR101263809B1 (ko) | 전자 디스플레이용 선호 톤 스케일 | |
CN1977529A (zh) | 从通过未着色色空间映射的视频内容得到的环境光的主色提取 | |
CN110428765B (zh) | 一种led旋转显示设备的伽玛校正方法 | |
JP6742417B2 (ja) | デジタル画像の処理方法、付随する装置、端末機器およびコンピュータプログラム | |
CN1881404A (zh) | 四色数据转换的方法及其装置 | |
Heckaman et al. | Expanding display color gamut beyond the spectrum locus | |
CN1941921A (zh) | 一种调节色平衡的方法 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
C12 | Rejection of a patent application after its publication | ||
RJ01 | Rejection of invention patent application after publication |