GPU Gems1 - 20 纹理爆炸(Texture Bombing)

【章节概览】

这章介绍了纹理爆炸(Texture Bombing)和相关的细胞技术,它们能在Shader中增加视觉的丰富性,图像的多样性,并减少大块纹理图案的重复性。

【核心要点】

纹理爆炸(Texture bombing)是一种程序化技术,它把小块图像以不规则的间隔放置。有助于减少团案的失真。纹理爆炸的基本思想是把UV空间分为规则的单元栅格。然后使用噪声或者伪随机函数,把一个图像放在任意位置上的各个单元中。最终的结果是在背景上对这些图像的合成。由于要组合数以百计的图像,因此实际上这种合成(composite)图像的方法效率并不高。而程序化(Procedural)计算图像虽好,但是又不适合合成。这篇文章主要讲了图像合成和程序化生成这两种方法,可以发现他们各有优劣。

图片合成(如下图使用花瓣纹理)

只采样当前cell的结果:

将临近四个点都采样的结果: 

 

 程序化生成(如下例子生成圆形) 

Example 20-3. Using a Procedurally Generated Circle

offset_t -= float2(0.5, 0.5) + (float2) random;
fixed radius2 = dot(offset_t, offset_t);
if (random.w > priority && radius2 < 0.25) {
  color = tex2D(randomTex, randomUV + float2(0.13, 0.4));
  priority = random.w;
}

基于此还可以玩出很多花样,比如随机采样图像,纹理随时间移动,3D程序化爆炸等等

 

【关键词提炼】

纹理爆炸(Texture Bombing)

3D程序化爆炸(Procedural 3D Bombing)

Voronoi区域(Voronoi Region)

  • 0
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值