(ミップマップスタイルの解像度ピラミッドを使用して)スタックして最終的な画像に到達する一連のテクスチャがあります。
それらがスタックする方法のために、意味のある画像データが入力されていない場合は、unsignedint値128に初期化する必要があります。IE、128はゼロです。これは、レンダーシェーダーが各テクスチャ値から.5を減算するためです。これにより、後続のピラミッドレイヤーが最終画像を正または負の値でオフセットできるようになります。
(シングルチャネルGL_LUMINANCE)テクスチャを値に初期化する方法がわからないようです!
それをrenderbufferターゲットとして設定し、それにポリゴンをレンダリングしようとしましたが、FBOは不完全としてマークされているようです。また、renderbufferターゲットとしてターゲットを設定し、gl.clear(gl.COLOR_BUFFER_BIT)を使用してみましたが、これも不完全であると見なされます。
明らかなことは、gl.texSubImage2D()を使用して値をコピーすることですが、それは本当に遅いようです...多分それが唯一の方法ですか?私は、それほど多くのメモリ(少なくともフレームに相当する単一の値)を割り当てる必要がなく、非常に遅い(すべてが単一の値である場合、すべてのデータをバッファに書き込む必要があるため)、よりエレガントなものを望んでいました。
WebGLでテクスチャを(デフォルトの)値に設定する唯一の方法は、テクスチャのサイズを変更するか、割り当てることであるように思われます。これにより、テクスチャがすべてゼロに設定されます。
また、ゼロをゼロにすることができるgl.SIGNED_BYTEのようなコピーモードはないようです(つまり、符号付きの値が入力されます)...しかし、これはテクスチャを単一に初期化する問題も解決しません値(この場合はゼロ)。
何か案は?WebGLテクスチャを、値をコピーするだけの古いもの以外の値に初期化するにはどうすればよいですか?