CN111127618A - 一种实时渲染时的纹理调色方法及装置 - Google Patents
一种实时渲染时的纹理调色方法及装置 Download PDFInfo
- Publication number
- CN111127618A CN111127618A CN201910851499.XA CN201910851499A CN111127618A CN 111127618 A CN111127618 A CN 111127618A CN 201910851499 A CN201910851499 A CN 201910851499A CN 111127618 A CN111127618 A CN 111127618A
- Authority
- CN
- China
- Prior art keywords
- color
- toning
- color space
- texture
- incolor
- 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.)
- Withdrawn
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/04—Texture mapping
-
- 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
一种实时渲染时的纹理调色方法,包括以下步骤:获取纹理贴图的所有像素;通过调色函数对每个所述像素的输入颜色进行调色,得到输出颜色;所述调色函数公式为:OutColor=TintFunction(InColor),其中,OutColor表示输出颜色,TintFunction表示调色函数,InColor表示像素的输入颜色。据本发明的实时渲染时的纹理调色方法,能够减少纹理贴图在实时渲染时的显存和内存占用,也能够减轻制作人员修改贴图时的工作量,增加更多颜色方案时也更方便。
Description
技术领域
本发明涉及一种图形处理技术领域,特别是涉及一种图形的实时渲染。
背景技术
随着科技的发展,在虚拟现实、三维游戏等领域中,越来越多地应用了实时渲染技术。实时渲染指的是根据图形学算法将三维数据绘制到二维位图之中,并将这些位图实时显示。它的本质就是对图像数据的实时计算和输出,要求在短时间内渲染出一张图片,并显示出来,同时渲染并显示下一张图片。对于这种技术来说,真实感和实时性都显得十分重要,通过实时模拟出十分真实的光影效果,能够给人们带来更完美的体验和更高的沉浸感。这就要求更高效的图形处理速度和更接近真实的渲染效果。
在实时渲染时,一般使用纹理来表现物体材质细节。在大部分情况下,会有很多物体使用类似的材质,但是颜色不同。比如用同一种材料制作的墙面,刷了不同的漆;用同一种布料做的衣服染了不同的颜色。常规的做法是对不同的颜色使用不同的纹理贴图,这种方法的缺点是:1)增加了贴图,占用更多的显存、内存和硬盘;2)如果要修改纹理贴图,不同颜色的贴图需要分别修改,增加了修改的工作量。
发明内容
为了解决现有技术存在的不足,本发明的目的在于,提供一种实时渲染时的纹理调色方法,对于不同颜色的同类型材质共用同一套纹理贴图,通过调色产生不同的颜色。
为实现上述目的,本发明至少一个实施例提供的实时渲染时的纹理调色方法,包括以下步骤:
获取纹理贴图的所有像素;
通过调色函数对每个所述像素的输入颜色进行调色,得到输出颜色;
所述调色函数公式为:
OutColor=TintFunction(InColor),
其中,OutColor表示输出颜色,TintFunction表示调色函数,InColor表示像素的输入颜色。
进一步地,所述通过调色函数对每个所述像素的输入颜色进行调色的步骤,包括,在RGB色彩空间、HSV色彩空间或HSL色彩空间对所述像素的输入颜色进行调色。
进一步地,所述在RGB色彩空间对每个所述像素的输入颜色进行调色,包括以下步骤:
计算所述像素的输入颜色的亮度;
根据计算出的所述像素的输入颜色的亮度,得到输出颜色;
所述亮度的计算公式为:
InLum=0.2126×InColor.r+0.7152×InColor.g+0.0722×InColor.b,
输出颜色的计算公式为:
OutColor=DestColor×InLum,
其中,InLum为输入颜色的亮度,InColor.r、InColor.g、InColor.b分别表示输入颜色的RGB三个通道值,OutColor为输出颜色,DestColor为目标颜色。
进一步地,所述在HSV色彩空间或HSL色彩空间对所述像素的输入颜色进行调色,包括以下步骤:
设置目标色相;
将RGB色彩空间转换为HSV色彩空间或HSL色彩空间;
计算输入颜色的色相、饱和度、明度;
根据目标色相和计算出的饱和度、明度,得到输出颜色;
将HSV色彩空间或HSL色彩空间转换为RGB色彩空间。
更进一步地,所述将RGB色彩空间转换为HSV色彩空间或HSL色彩空间,计算公式为:
将RGB的值除以255,使其取值范围从0~255变成0~1。
R'=R/255;
G'=G/255;
B'=B/255;
Cmax=max(R',G',B');
Cmin=min(R',G',B');
Δ=Cmax–Cmin;
所述色相Hue的计算公式如下:
所述饱和度Saturation的计算公式如下:
所述明度Value的计算公式如下:
V=Cmax;
所述HSV色彩空间或HSL色彩空间转换为将RGB色彩空间的计算公式如下:
当0≤H<360,0≤S≤1,0≤V≤1时:
C=V×S;
X=C×(1-|(H/60°)mod 2-1|);
m=V–C;
(R,G,B)=((R'+m)×255,(G'+m)×255,(B'+m)×255)。
为实现上述目的,本发明至少一个实施例提供一种实时渲染时的纹理调色装置,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的程序,所述处理器运行所述程序时,实现上述实时渲染时的纹理调色方法的步骤。
为实现上述目的,本发明至少一个实施例提供一种计算机可读存储介质,其上存储有程序,所述程序可被处理器执行,实现上述实时渲染时的纹理调色方法的步骤。
根据本发明的实时渲染时的纹理调色方法,能够减少纹理贴图在实时渲染时的显存和内存占用,也能够减轻制作人员修改贴图时的工作量,增加更多颜色方案时也更方便。
本发明的其它特征和优点将在随后的说明书中阐述,并且,部分地从说明书中变得显而易见,或者通过实施本发明而了解。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,并与本发明的内容和实施例一起,用于解释本发明,并不构成对本发明的限制。在附图中:
图1为根据本发明的实时渲染时的纹理调色方法流程图;
图2为根据本发明的在RGB色彩空间进行调色的工作流程图;
图3为根据本发明的在HSV色彩空间进行调色的工作流程图;
图4为根据本发明的实时渲染时的纹理调色装置框图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,下文中将结合附图对本发明的实施例进行详细说明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互任意组合。在附图的流程图示出的步骤可以在诸如一组计算机可执行指令的计算机系统中执行。并且,虽然在流程图中示出了逻辑顺序,但是在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤。
实施例中涉及的调色,需要对于纹理贴图的每个像素分别进行处理,每个像素处理流程都是一样的。对纹理贴图所有像素进行处理时,可以依次逐个像素进行处理,也可以并行同时处理多个像素。不论是逐个像素进行处理还是多像素并行处理,每个像素的处理流程是一样的。本文下面的说明都是针对单个像素进行描述。
图1为根据本发明的实时渲染时的纹理调色方法流程图,下面将参考图1对本发明的实时渲染时的纹理调色方法进行详细描述。
首先,在步骤101,获取纹理贴图中所有像素。
在步骤102,对每个像素的输入颜色进行调色处理。
在本发明的实施例中,对于一个像素,输入颜色InColor(即,纹理贴图中这个像素原始的颜色值),经过调色函数TintFunction(InColor)可以得到输出颜色OutColor(这就是最终的颜色结果)。公式如下:
OutColor=TintFunction(InColor)。
实时渲染时,纹理贴图颜色一般都是使用RGB颜色空间,最终渲染输出结果也使用RGB颜色空间。
对于具体的调色方法,可以有很多种选择。比如,可以在HSL或HSV色彩空间里进行调色,也可以在RGB色彩空间里进行调色。对于不同的调色方法,TintFunction的具体实现是不同的。
一个纹理贴图期望达到的目标颜色的表达方式也与调色方法有关。下面是几种常用调色方法的举例。
实施例1
图2为根据本发明的在RGB色彩空间进行调色的工作流程图,下面将参考图2,对本发明的在RGB色彩空间进行调色的工作流程进行详细描述。
在该实施例中,希望把纹理调成目标颜色DestColor,同时希望保留原纹理贴图里的明暗信息。比如把一个灰色目标刷成红色木板,DestColor就是红色。
首先,在步骤201,计算输入颜色InColor的亮度InLum=GetLuminace(InColor)。
本实施例中,亮度计算公式如下:
InLum=0.2126×InColor.r+0.7152×InColor.g+0.0722×InColor.b(公式1)。
公式1中,InColor.r、InColor.g、InColor.b分别表示输入颜色的RGB三个通道值。
在步骤202,计算输出颜色OutColor。
本实施例中,计算输出颜色OutColor的公式如下:
OutColor=DestColor×InLum,其中,DestColor为目标颜色。
实施例2
图3为根据本发明的在HSV色彩空间进行调色的工作流程图,下面将参考图2,对本发明的在HSV色彩空间进行调色的工作流程进行详细描述。
在该实施例中,希望把纹理调成目标色相DestH,同时希望保留原纹理贴图里的饱和度和明度信息。
首先,在步骤301,将RGB色彩空间转换为HSV色彩空间。
在该实施例中,将RGB色彩空间转换为HSV色彩空间的计算公式如下:
将RGB的值除以255,使其取值范围从0~255变成0~1。
R'=R/255
G'=G/255
B'=B/255
Cmax=max(R',G',B')
Cmin=min(R',G',B')
Δ=Cmax–Cmin
在步骤302,计算输入颜色InColor的色相H、饱和度S、明度V。
在该实施例中,色相Hue的计算公式如下:
饱和度Saturation的计算公式如下:
明度Value的计算公式如下:
V=Cmax
在步骤303,根据目标色相DestH、计算出的饱和度和明度,得到输出颜色OutColor。
用目标色相DestH代替步骤301中计算出来的输入颜色的色相H,此时已知DestH、S、V的值,可以计算出输出颜色OutColor。
在步骤304,HSV色彩空间转换为将RGB色彩空间。
在该实施例中,HSV色彩空间转换为将RGB色彩空间的计算公式如下:
当0≤H<360,0≤S≤1,0≤V≤1时:
C=V×S
X=C×(1-|(H/60°)mod 2-1|)
m=V-C
(R,G,B)=((R'+m)×255,(G'+m)×255,(B'+m)×255)
HSL色彩空间调色和HSV色彩空间调色流程类似,不再赘述。
实施例3
图4为根据本发明的实时渲染时的纹理调色装置框图,如图4所示,本发明一实施例提供的实时渲染时的纹理调色装置40,包括处理器401和存储器402,所述存储器402存储有程序,所述程序在被所述处理器401读取执行时,执行以下操作:
获取纹理贴图中所有像素;
在RGB色彩空间、HSL色彩空间调色或HSV色彩空间对每个像素的输入颜色进行调色处理。
在其他实施例中,所述程序在被所述处理器601读取执行时,还实现任一实施例所述的实时渲染时的纹理调色方法的步骤。
本发明一实施例提供一种计算机可读存储介质,所述计算机可读存储介质存储有程序,所述程序可被处理器执行,以实现任一实施例所述的实时渲染时的纹理调色方法的步骤。
所述计算机可读存储介质包括:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。
本领域普通技术人员可以理解,上文中所发明方法中的全部或某些步骤、装置中的功能模块/单元可以被实施为软件、固件、硬件及其适当的组合。在硬件实施方式中,在以上描述中提及的功能模块/单元之间的划分不一定对应于物理组件的划分;例如,一个物理组件可以具有多个功能,或者一个功能或步骤可以由若干物理组件合作执行。某些组件或所有组件可以被实施为由处理器,如数字信号处理器或微处理器执行的软件,或者被实施为硬件,或者被实施为集成电路,如专用集成电路。这样的软件可以分布在计算机可读介质上,计算机可读介质可以包括计算机存储介质(或非暂时性介质)和通信介质(或暂时性介质)。如本领域普通技术人员公知的,术语计算机存储介质包括在用于存储信息(诸如计算机可读指令、数据结构、程序模块或其他数据)的任何方法或技术中实施的易失性和非易失性、可移除和不可移除介质。计算机存储介质包括但不限于RAM、ROM、EEPROM、闪存或其他存储器技术、CD-ROM、数字多功能盘(DVD)或其他光盘存储、磁盒、磁带、磁盘存储或其他磁存储装置、或者可以用于存储期望的信息并且可以被计算机访问的任何其他的介质。此外,本领域普通技术人员公知的是,通信介质通常包含计算机可读指令、数据结构、程序模块或者诸如载波或其他传输机制之类的调制数据信号中的其他数据,并且可包括任何信息递送介质。
虽然本发明所揭露的实施方式如上,但所述的内容仅为便于理解本发明而采用的实施方式,并非用以限定本发明。任何本发明所属领域内的技术人员,在不脱离本发明所揭露的精神和范围的前提下,可以在实施的形式及细节上进行任何的修改与变化。
Claims (7)
1.一种实时渲染时的纹理调色方法,包括以下步骤:
获取纹理贴图的所有像素;
通过调色函数对每个所述像素的输入颜色进行调色,得到输出颜色;
所述调色函数公式为:
OutColor=TintFunction(InColor),
其中,OutColor表示输出颜色,TintFunction表示调色函数,InColor表示像素的输入颜色。
2.如权利要求1所述的实时渲染时的纹理调色方法,其特征在于,所述通过调色函数对每个所述像素的输入颜色进行调色的步骤,包括,在RGB色彩空间、HSV色彩空间或HSL色彩空间对所述像素的输入颜色进行调色。
3.如权利要求2所述的实时渲染时的纹理调色方法,其特征在于,所述在RGB色彩空间对每个所述像素的输入颜色进行调色,包括以下步骤:
计算所述像素的输入颜色的亮度;
根据计算出的所述像素的输入颜色的亮度,得到输出颜色;
所述亮度的计算公式为:
InLum=0.2126×InColor.r+0.7152×InColor.g+0.0722×InColor.b,
输出颜色的计算公式为:
OutColor=DestColor×InLum,
其中,InLum为输入颜色的亮度,InColor.r、InColor.g、InColor.b分别表示输入颜色的RGB三个通道值,OutColor为输出颜色,DestColor为目标颜色。
4.如权利要求2所述的实时渲染时的纹理调色方法,其特征在于,所述在HSV色彩空间或HSL色彩空间对所述像素的输入颜色进行调色,包括以下步骤:
设置目标色相;
将RGB色彩空间转换为HSV色彩空间或HSL色彩空间;
计算输入颜色的色相、饱和度、明度;
根据目标色相和计算出的饱和度、明度,得到输出颜色;
将HSV色彩空间或HSL色彩空间转换为RGB色彩空间。
5.如权利要求4所述的实时渲染时的纹理调色方法,其特征在于,所述将RGB色彩空间转换为HSV色彩空间或HSL色彩空间,计算公式为:
将RGB的值除以255,使其取值范围从0~255变成0~1。
R'=R/255;
G'=G/255;
B'=B/255;
Cmax=max(R',G',B');
Cmin=min(R',G',B');
Δ=Cmax–Cmin;
所述色相Hue的计算公式如下:
所述饱和度Saturation的计算公式如下:
所述明度Value的计算公式如下:
V=Cmax;
所述HSV色彩空间或HSL色彩空间转换为将RGB色彩空间的计算公式如下:
当0≤H<360,0≤S≤1,0≤V≤1时:
C=V×S;
X=C×(1-|(H/60°)mod 2-1|);
m=V–C;
(R,G,B)=((R'+m)×255,(G'+m)×255,(B'+m)×255)。
6.一种实时渲染时的纹理调色装置,其特征在于,包括存储器和处理器,所述存储器上储存有在所述处理器上运行的程序,所述处理器运行所述程序时执行权利要求1-5任一项所述的实时渲染时的纹理调色方法的步骤。
7.一种计算机可读存储介质,其上存储有程序,其特征在于,所述程序可被处理器执行权利要求1-5任一项所述的实时渲染时的纹理调色方法的步骤。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910851499.XA CN111127618A (zh) | 2019-09-10 | 2019-09-10 | 一种实时渲染时的纹理调色方法及装置 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201910851499.XA CN111127618A (zh) | 2019-09-10 | 2019-09-10 | 一种实时渲染时的纹理调色方法及装置 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN111127618A true CN111127618A (zh) | 2020-05-08 |
Family
ID=70495292
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201910851499.XA Withdrawn CN111127618A (zh) | 2019-09-10 | 2019-09-10 | 一种实时渲染时的纹理调色方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN111127618A (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111476861A (zh) * | 2020-05-18 | 2020-07-31 | 周恩泽 | 一种图像渲染方法、装置、电子设备及存储介质 |
CN113706665A (zh) * | 2021-10-28 | 2021-11-26 | 北京美摄网络科技有限公司 | 一种图像处理方法和装置 |
-
2019
- 2019-09-10 CN CN201910851499.XA patent/CN111127618A/zh not_active Withdrawn
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111476861A (zh) * | 2020-05-18 | 2020-07-31 | 周恩泽 | 一种图像渲染方法、装置、电子设备及存储介质 |
CN113706665A (zh) * | 2021-10-28 | 2021-11-26 | 北京美摄网络科技有限公司 | 一种图像处理方法和装置 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3678428B2 (ja) | クロマキー、透明性、およびフォグ動作を行う方法および装置 | |
CA2146740C (en) | Generating imitation custom artwork by simulating brush strokes and enhancing edges | |
Ancuti et al. | Enhancing by saliency-guided decolorization | |
US20120141014A1 (en) | Color balancing for partially overlapping images | |
CN110248242B (zh) | 一种图像处理和直播方法、装置、设备和存储介质 | |
JPH10187966A (ja) | 画像フィルタリング方法及びその装置 | |
CN109636890B (zh) | 纹理融合方法和装置、电子设备、存储介质、产品 | |
US6184893B1 (en) | Method and system for filtering texture map data for improved image quality in a graphics computer system | |
CN111127618A (zh) | 一种实时渲染时的纹理调色方法及装置 | |
CN116168091A (zh) | 图像处理方法、装置、计算机设备和计算机程序产品 | |
US7050066B2 (en) | Image processing apparatus and image processing program | |
US6577320B1 (en) | Method and apparatus for processing multiple types of pixel component representations including processes of premultiplication, postmultiplication, and colorkeying/chromakeying | |
CN113658280B (zh) | 基于人工智能的数据增广方法、装置、设备和存储介质 | |
US20140029848A1 (en) | Re-coloring a color image | |
CN111739074A (zh) | 一种场景多点光源渲染方法及装置 | |
US20170274285A1 (en) | Method and apparatus for automating the creation of a puzzle pix playable on a computational device from a photograph or drawing | |
CN111028180A (zh) | 图像处理方法、视频处理方法以及对应的装置 | |
CN113470156B (zh) | 纹理贴图的混合处理方法、装置、电子设备及存储介质 | |
CN113935891B (zh) | 像素风格的场景渲染方法、设备及存储介质 | |
CN110969675B (zh) | 一种模拟相机不同形状光圈虚化的方法 | |
Strickland et al. | Luminance, hue, and saturation processing of digital color images | |
JPH0467670B2 (zh) | ||
US7590283B2 (en) | Representing colors in stored images using color tinting | |
US7965301B1 (en) | Color conversion preserving global and local image characteristics | |
Sazzad et al. | Use of gamma encoder on HSL color model improves human visualization in the field of image processing |
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 | ||
WW01 | Invention patent application withdrawn after publication | ||
WW01 | Invention patent application withdrawn after publication |
Application publication date: 20200508 |