标题中的“PT”表示:Procedural Texture(过程纹理)。表示该章节属于“过程纹理”的内容。
当前章节在“过程纹理”内容中的位置:
过程纹理(0)——概述
过程纹理(1)——方格纹理(1)——3D方格纹理
过程纹理(1)——方格纹理(2)——2D方格纹理(1)——平面2D方格纹理
过程纹理(1)——方格纹理(2)——2D方格纹理(2)——球面2D方格纹理
过程纹理(1)——方格纹理(2)——2D方格纹理(3)——圆柱2D方格纹理
过程纹理(2)——纹理的仿射变换
过程纹理(3)——基于噪声的纹理(0)——概述
过程纹理(3)——基于噪声的纹理(1)——Basic Noise Texture
过程纹理(3)——基于噪声的纹理(2)——Wrapped Noise Texture
1,理论
所谓“包裹的噪声纹理”,相对于基本的噪声纹理,其实就是:对其get_color()返回的结果(即“求和”的结果)进行放大(即乘以一个大于1的系数),然后将乘积的结果包裹到[0,1]之间(即换算到[0,1]之间)。
下面我们以FBmTexture为例进行说明。
定义一个相对应的“包裹的噪声纹理”FBmTextureWrapped。
FBmTextureWrapped和FBmTexture唯一差异的地方在get_color():
2,测试图形
2.1 测试代码
相对于基本噪声纹理测试是的测试代码,只需将FBmTexture换成FBmTextureWrapped即可。
2.2 输出图形
求和项数2,求和幅值0.25,求和频率2;前边的是放大系数为2,后面的是放大系数为8。
求和项数2,求和幅值0.75,求和频率2;前边的是放大系数为2,后面的是放大系数为8。
求和项数2,求和幅值0.75,求和频率8;前边的是放大系数为2,后面的是放大系数为8。
求和项数2,求和幅值0.25,求和频率8;前边的是放大系数为2,后面的是放大系数为8。
求和项数8,求和幅值0.25,求和频率8;前边的是放大系数为2,后面的是放大系数为8。
求和项数8,求和幅值0.75,求和频率8;前边的是放大系数为2,后面的是放大系数为8。
求和项数8,求和幅值0.75,求和频率2;前边的是放大系数为2,后面的是放大系数为8。
求和项数8,求和幅值0.25,求和频率2;前边的是放大系数为2,后面的是放大系数为8。
3,其他说明
完整代码下载路径:http://download.csdn.net/detail/libing_zeng/9798147
Referrance:
[1]. Kevin Suffern, Ray Tracing from theGround Up, A K PetersLtd, 2007.