✨ 光の散乱処理

// 周囲8方向から色を取得してぼかす
vec3 blurred = vec3(0.0);
for (int i = -1; i <= 1; i++) {
    for (int j = -1; j <= 1; j++) {
        vec2 offset = vec2(i, j) * 0.002;
        blurred += texture2D(image, uv + offset).rgb;
    }
}
blurred /= 9.0;

// ぼかした色を透過光として加算
vec3 scattered = blurred * transmittance;
処理の説明:

1. 周囲のピクセル取得
3x3のグリッド(9個のピクセル)から色を取得します。 offset * 0.002で、わずかにずらした位置をサンプリング。

2. 平均を計算
9個の色を平均してぼかします。 簡易的なぼかし処理ですが、効果は十分。

3. 透過光として加算
ぼかした色に透過率をかけて、最終的な色に加算。 光が紙の中で拡散する効果が出ます。