浮動小数点値を「ペイント」するにはgl_FragColorが必要です。浮動小数点値は負(x <)と> 1.0になります。次に、FBOのカラーアタッチメントを使用して、この値を別のFBOのテクスチャとしてレンダリングして使用します。今私はhttp://www.khronos.org/opengles/sdk/docs/man/(glTexImage2Dの下に)すべての値が[0、1]の範囲にクランプされているとglClampColor命令が見つかりませんでした。ここで回避策を見つける可能性はありますか、誰かが私の問題を解決するのに役立つアイデアを持っていますか? :)iOS上のOpenGL ES 2.0の浮動小数点テクスチャを[0、1]にクランプすることなし
は、それが可能であり、値は浮動小数点テクスチャを使用する場合、すべての[1,0]にクランプされていないが、それは唯一のテクスチャの内部形式としてGL_HALF_FLOAT_OESを使用して動作し
を解決しました。代わりにGL_FLOATを使用すると、不完全なフレームバッファオブジェクトが生成されます。これは、実際には悲しいことですが、私は合計面積テーブル(SAT)を作成していて、だから一般的にiPad2では半精度(2バイト、1符号ビット+ 5指数ビット+ 10小数)の浮動小数点数しかサポートされていないようです。 FBOの色の添付ファイルテクスチャ
glTexImage2D(GL_TEXTURE_2D, 0, GL_RGBA, w, h, 0, GL_RGBA, GL_HALF_FLOAT_OES, NULL);
もう一つの
の作業の作成はもちろんのこと:楽器は、メッセージ「引数の 『タイプ』のために無効な列挙型」を報告しますが、それはとにかく動作しません。また、シミュレータは、指定された半精度の代わりに完全精度のテクスチャを使用します(Cでは、そのようなデータ型がないと思います)。これが、シミュレータ上の精度が問題になる可能性が低いためです。
しかし、最も紛らわしいことは、glGetString(GL_EXTENSIONS)を印刷するときに "GL_OES_texture_float"がサポートされていることです。しかし、前述のように、それは動作しません。
使用しているテクスチャの内部タイプは何ですか? –
申し訳ありませんが、皆さん、すごくいい休日を過ごしたことを願っています。これまでのところとても大変ありがとうございます。私は今週末にそれをテストします。 – RayDeeA
内部形式はGL_RGBです。それで、GL_ALPHA、GL_LUMINANCE、GL_LUMINANCE_ALPHA、GL_RGB、GL_RGBAだけが許可されており、それらのすべてが[0,1]にクランプされているとdocが述べているので心配していたのです。 参照:http://www.khronos.org/opengles/sdk/docs/man/under glTexImage2D – RayDeeA