glTeximage2D
のdocumentationを読みましたが、少し混乱しています。この場合、OpenGLはテクスチャ値を[0,1]に固定します。私は私の質感にGL_RED
としてフォーマットを使用していますし、ドキュメントは言う:OpenGLテクスチャクランプ
形式は、データの各元素の組成を決定します。 は、次のいずれかの象徴的な値をとることができます。
GL_RED各要素は単一の赤色コンポーネントです。 GLはそれを浮動小数点に変換し、緑と青に0、アルファに1をつけてRGBA要素にアセンブルします。各コンポーネントは[0,1]の範囲にクランプされます。
これは基本的に、OpenGLが内部形式に関係なく値を固定するとは言いませんか?
glTexImage2D(GL_TEXTURE_2D, 0, GL_R16F, width, height, 0, GL_RED, GL_FLOAT, data);
OpenGLはGL_R16F
として内部形式で自分のデータをクランプないを行いますよう
しかし、私は私のテクスチャをアップロードするとき。しかし、内部フォーマットをGL_R16
に変更すると、クランプされます。ドキュメントには、形式のクランプに関する情報はどこにありますか?
誤って古いドキュメントへのリンクを貼り付けました。 OpenGL 4 – novalain
を指すようにリンクが更新されました。カラーコンポーネントグループの場合、テクスチャ の内部形式が符号付きまたは符号なしの固定小数点である場合、コンポーネントはそれぞれ[-1、1] または[0、1]に固定されます。深度成分グループの場合、深さ値は を[0、1]にクランプする。それ以外の場合は、値は変更されません。 OpenGL 4.4(Core Profile) - 2014年3月19日p183-184 –
通常のテクスチャ(GL_R16)には、固定小数点データが格納されています。 GL_R16Fは浮動小数点なので、変更されていません –