Skip to content

Commit 4896596

Browse files
committed
修订文章 《高品质后处理:十种故障艺术(Glitch Art)算法的总结与实现》
修订文章 《高品质后处理:十种故障艺术(Glitch Art)算法的总结与实现》
1 parent b870271 commit 4896596

File tree

1 file changed

+5
-5
lines changed
  • Content/高品质后处理:十种故障艺术(Glitch Art)算法的总结与实现

1 file changed

+5
-5
lines changed

Content/高品质后处理:十种故障艺术(Glitch Art)算法的总结与实现/README.md

Lines changed: 5 additions & 5 deletions
Original file line numberDiff line numberDiff line change
@@ -220,7 +220,7 @@ Split后处理特效,以满足不同情形下RGB颜色抖动风格的需要。
220220

221221
对于基础版本的实现,第一步,基于uv和噪声函数生成方格块。可以使用floor方法(对输入参数向下取整)以及低成本的噪声生成函数randomNoise进行实现,代码仅需一句:
222222

223-
half2 block = randomNoise(floor(i.texcoord * _BlockSize));
223+
half2 block = randomNoise(floor(i.texcoord * _BlockSize));
224224

225225
基于这句代码可以生成随机强度的均匀Block图块:
226226

@@ -240,11 +240,11 @@ half displaceNoise = pow(block.x, 8.0) * pow(block.x, 3.0);
240240

241241
第三步,将经过强度二次筛选的Block图块强度值,作为噪声强度的系数,分别对G和B颜色通道进行采样。实现如下:
242242

243-
half ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).r;
244-
half ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + float2(displaceNoise * 0.05 * randomNoise(7.0), 0.0)).g;
245-
half ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord - float2(displaceNoise * 0.05 * randomNoise(13.0), 0.0)).b;
243+
half ColorR = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord).r;
244+
half ColorG = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord + float2(displaceNoise * 0.05 * randomNoise(7.0), 0.0)).g;
245+
half ColorB = SAMPLE_TEXTURE2D(_MainTex, sampler_MainTex, i.texcoord - float2(displaceNoise * 0.05 * randomNoise(13.0), 0.0)).b;
246246

247-
return half4(ColorR, ColorG, ColorB, 1.0);
247+
return half4(ColorR, ColorG, ColorB, 1.0);
248248

249249

250250
可以得到如下基础的错位图块故障(Image Block Glitch)的渲染表现:

0 commit comments

Comments
 (0)