梯度体纹理合成方法

文档序号:6434213阅读:246来源:国知局
专利名称:梯度体纹理合成方法
技术领域
本发明涉及纹理合成技术领域,特别涉及一种梯度体纹理合成方法。
背景技术
在体纹理合成领域,一个体纹理通常用三维图像来表示,其基本单位是像素。这种表示的优点是简单,是二维图像的简单推广。但是,这种方法的缺点是数据量大,例如IOM3 的体纹理相当于IOM张10242的图片,其合成和处理非常困难。近年来,体纹理获得了广泛的应用。相对于面纹理来说,体纹理能够表示物体的内部,对于一些需要将物体模型切开的应用(例如游戏),体纹理往往是必不可少的。但是,正如前面所说,体纹理的合成与存储开销非常大,以至于大家往往只使用1283的纹理块,将其重复堆砌得到复杂的效果。这种方法的缺点是纹理的数据量大、重复度非常高,在很多例子中能观察到重复的模板,使得视觉效果大打折扣,因而合成困难,存储开销大。

发明内容
(一 )要解决的技术问题本发明要解决的技术问题是如何减小体纹理的数据量,从而减小存储开销,使合成更容易。( 二 )技术方案为解决上述技术问题,本发明提供了一种梯度体纹理合成方法,包括以下步骤Sl 建立三维空间均勻网格结构,根据事先输入的2D纹理图为所述网格的顶点设置颜色和颜色梯度;S2 在所述网格的每个格子中选择至少一个采样点,在每个采样点处选择至少两个采样平面,采样平面上任一点的颜色由所述采样点所在格子的顶点的颜色和颜色梯度通过三次插值得出;S3 在所述2D纹理图中找到与所述采样平面最相近的纹理块,并将所述纹理块的像素点拷贝到相应的格子中,两个纹理块对应位置的像素点的颜色相减,之后计算Ll或者 L2范数,范数值越小两个纹理块越接近;S4 根据所述网格的各个格子中的像素点更新网格顶点的颜色和颜色梯度;S5 重复S2 S4的过程若干次,以合成梯度体纹理。其中,所述步骤Sl中,从所述输入的2D纹理图中随机选择一个颜色作为该网格的顶点的颜色。其中,所述步骤Sl中颜色梯度设置为较小的随机数。其中,在选择所述采样平面前还包括输入向量场的步骤,所述采样平面的方向与所述向量场的方向一致。其中,所述步骤S4中更新的方式为对每个格子中的像素点按照其位置在格子的顶点处进行线性拟合,得到该顶点处的颜色值和颜色梯度。
其中,在线性拟合前对格子中的像素点进行聚类,拟合时选择包含像素点最多的一类中的像素点进行拟合。其中,步骤S5之后还包括存储所述体纹理的步骤,存储时对所述网格顶点处的颜色值和颜色梯度值进行量化,且只存储所述梯度体纹理的顶点的颜色和颜色梯度。其中,所述网格的每个格子对应d3的像素点,d为大于1的整数。其中,所述d等于4。其中,该方法进一步包括利用所述梯度体纹理进行渲染的步骤Al 将待渲染三维模型中的点对应到所述梯度体纹理的格子中;A2:根据所述格子的顶点处的颜色值和颜色梯度,通过三次插值得到三维模型中每个点的颜色。(三)有益效果本发明的方法通过建立三维均勻网格,在网格的每个格子中选择格子总像素点数的采样点来计算格子顶点的颜色及颜色梯度以合成体纹理,由于采样点个数远小于格子中对应的像素点个数且只存储顶点的颜色及颜色梯度,因此能够快速地合成梯度体纹理,且减小了体纹理的数据量和存储开销。


图1是本发明实施例的一种梯度体纹理合成方法流程图;图2是采用图1中方法合成的梯度体纹理的结果示意图。
具体实施例方式下面结合附图和实施例,对本发明的具体实施方式
作进一步详细描述。以下实施例用于说明本发明,但不用来限制本发明的范围。如图1所示,本发明的梯度体纹理合成方法包括步骤S101,建立三维空间均勻网格结构,根据事先输入的2D纹理图为网格的顶点设置颜色和颜色梯度,并对格子内的点着色。均勻网格的每个格子对应d3的像素点,d为大于1的整数,优选d = 4。建立网格结构以后,需要给网格的顶点一个初始值。本实施例中, 对于每个网格顶点,从输入的2D纹理图中随机选择一个颜色作为该网格的顶点的颜色,由于梯度过大可能会出来一些奇怪的颜色,因此该网格的顶点的颜色梯度则设置为0 1之间的一个随机数。步骤S102,在上述建立的网格的每个格子中随机选择至少3个采样点,在每个采样点处选择至少2个采样平面。其中,采样平面的大小通常为11X11的像素块。为了使合成出的三维纹理在2 3个切面上都能和原2D纹理图保持一致,效果较好,优选地,用户事先输入向量场,采样平面的法线方向与该向量场一致。采样平面上每个点处的颜色根据采样点所在格子顶点的颜色值和颜色梯度通过三次插值给出,一个格子的顶点是8个,具体采用三维埃尔米特插值。采样点的位置是稀疏的,随机分布在均勻网格中,远少于网格所对应像素点的个数,因此加快了合成速度。步骤S103,在原2D纹理图中找到与采样平面最相近的纹理块,并将该纹理块的像素点拷贝到相应的格子中。将两个纹理块对应位置的像素点的颜色相减,然后计算Ll或L2范数,范数值越小两个纹理块越接近。步骤S104,根据网格的各个格子中的像素点更新网格顶点的颜色和颜色梯度。更新过程如下对每个格子中的像素点按照其位置在格子的顶点处进行线性拟合,得到该顶点处的颜色值和颜色梯度,并存储顶点处的颜色值和颜色梯度。如果格点附近的像素点很多,为了防止过拟合,则需要对这些像素点进行聚类(如mean shift聚类方法或者简单地按颜色将像素点放到η个桶中,然后取像素点最多的那个桶),选择最大的一类进行拟合,而丢弃其它的像素点,通过这种方法,可以防止颜色过于平均。在获得顶点处地颜色和梯度后, 这些像素点就可以丢弃,以节省合成过程中的内存空间。重复步骤执行S102 S104若干次,一般来说,次数重复越多,获得的梯度体纹理的效果越好,但是速度也会慢一些。优选地,需要重复2 3次即可,以获得良好的效果,而且速度也不会慢。在存储梯度体纹理时,只存储网格顶点处的颜色和颜色梯度,且对网格顶点处的颜色和颜色梯度值进行量化,例如颜色范围是在0 1之间,就用一个0 255的数来表达,i表示i/255. 0,0 ^ i ^ 255表示,以减少显存的占用。图2是采用图1中方法合成的梯度体纹理的结果示意图,左边是输入的纹理图,右边是输出的梯度体纹理。本发明还提供了应用上述梯度体纹理进行渲染的方法。在获得梯度体纹理后,可以将其用于渲染。例如要渲染一个三维模型,将待渲染三维模型中的点对应到梯度体纹理的格子中,具体将该三维模型放入梯度体纹理对应的三维空间,那么三维模型中的点就会分布在梯度体纹理的每个格子中。根据所述格子的顶点处的颜色值和颜色梯度,通过三维埃尔米特插值得到三维模型中每个点的颜色。以上实施方式仅用于说明本发明,而并非对本发明的限制,有关技术领域的普通技术人员,在不脱离本发明的精神和范围的情况下,还可以做出各种变化和变型,因此所有等同的技术方案也属于本发明的范畴,本发明的专利保护范围应由权利要求限定。
权利要求
1.一种梯度体纹理合成方法,其特征在于,包括以下步骤Sl 建立三维空间均勻网格结构,根据事先输入的2D纹理图为所述网格的顶点设置颜色和颜色梯度;S2:在所述网格的每个格子中选择至少一个采样点,在每个采样点处选择至少两个采样平面,采样平面上任一点的颜色由所述采样点所在格子的顶点的颜色和颜色梯度通过三次插值得出;53在所述2D纹理图中找到与所述采样平面最相近的纹理块,并将所述纹理块的像素点拷贝到相应的格子中,两个纹理块对应位置的像素点的颜色相减,之后计算Ll或者L2范数,范数值越小两个纹理块越接近;54根据所述网格的各个格子中的像素点更新网格顶点的颜色和颜色梯度;55重复S2 S4的过程若干次,以合成梯度体纹理。
2.如权利要求1所述的梯度体纹理合成方法,其特征在于,所述步骤Sl中,从所述输入的2D纹理图中随机选择一个颜色作为该网格的顶点的颜色。
3.如权利要求1所述的梯度体纹理合成方法,其特征在于,所述步骤Sl中颜色梯度设置为较小的随机数。
4.如权利要求1所述的梯度体纹理合成方法,其特征在于,在选择所述采样平面前还包括输入向量场的步骤,所述采样平面的方向与所述向量场的方向一致。
5.如权利要求1所述的梯度体纹理合成方法,其特征在于,所述步骤S4中更新的方式为对每个格子中的像素点按照其位置在格子的顶点处进行线性拟合,得到该顶点处的颜色值和颜色梯度。
6.如权利要求5所述的梯度体纹理合成方法,其特征在于,在线性拟合前对格子中的像素点进行聚类,拟合时选择包含像素点最多的一类中的像素点进行拟合。
7.如权利要求1所述的梯度体纹理合成方法,其特征在于,步骤S5之后还包括存储所述体纹理的步骤,存储时对所述网格顶点处的颜色值和颜色梯度值进行量化,且只存储所述梯度体纹理的顶点的颜色和颜色梯度。
8.如权利要求7所述的梯度体纹理合成方法,其特征在于,所述网格的每个格子对应 d3的像素点,d为大于1的整数。
9.如权利要求8所述的梯度体纹理合成方法,其特征在于,所述d等于4。
10.如权利要求1 9中任一项所述的梯度体纹理合成方法,其特征在于,该方法进一步包括利用所述梯度体纹理进行渲染的步骤Al 将待渲染三维模型中的点对应到所述梯度体纹理的格子中;A2 根据所述格子的顶点处的颜色值和颜色梯度,通过三次插值得到三维模型中每个点的颜色。
全文摘要
本发明公开了一种梯度体纹理合成方法,涉及纹理合成技术领域,该方法包括S1建立三维空间均匀网格结构,根据事先输入的2D纹理图为网格的顶点设置颜色和颜色梯度;S2在网格的每个格子中选择至少一个采样点,在每个采样点处选择至少两个采样平面,采样平面上任一点的颜色由采样点所在格子的顶点的颜色和颜色梯度通过三次插值得出;S3在2D纹理图中找到与采样平面最相近的纹理块,并将纹理块的像素点拷贝到相应的格子中;S4根据网格的各个格子中的像素点更新网格顶点的颜色和颜色梯度;S5重复S2~S4的过程若干次,以合成梯度体纹理。采用本发明的方法合成体纹理,能够快速地合成梯度体纹理,且减小了体纹理的数据量和存储开销。
文档编号G06T15/04GK102298791SQ201110289079
公开日2011年12月28日 申请日期2011年9月26日 优先权日2011年9月26日
发明者张国鑫, 胡事民 申请人:清华大学
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1