私はAshima's GLSL noiseを使用してThreeJSでWebGLRenderTargetに次のテクスチャをレンダリングしています:3つのJS:テクスチャによる頂点変位は256の値に制限されますか?
私は、XYZにいくつかのメッシュの頂点を変位させるテクスチャのRGBチャンネルを読んでいるが、次のGLSLコードで軸:動きが非常に微妙であるため、
vec4 fluctuation = texture2D(fluxTexture, uv);
curPos.y += (fluctuation.r - 0.5) * 40.0;
curPos.x += (fluctuation.g - 0.5) * 20.0;
curPos.z += (fluctuation.b - 0.5) * 20.0;
しかし、私はRGBの値が変更されたときの頂点がすべてのステップのためのいくつかのピクセルをジャンプことに気付きました。私はこのアーティファクトを各色の256個の値に限定しています。テクスチャのビット深度を16ビットまたは32ビットに変更する方法はありますか?そうすれば、RGBチャンネルの精度をさらに高めることができますか?
もちろん、webglターゲットの作成に関するコードを掲載する必要があります。また、他の精度を8ビットテクスチャまたは複数の8ビットテクスチャでエンコードすることもできます。 3つは、シェイダーにパック/アンパックメソッドを持っています。 – pailhead