1
キューマップマップの配列テクスチャでglTextureStorage3Dを呼び出すときに、GL_INVALID_VALUEが発生します。私のコードは非常に抽象化されますが、エラーをGLにテクスチャ作成から生GLコードをダンプすると、これに沸く:GL_INVALID_VALUE(キューマップマップ配列の場合)
[SafeGL DUMP] glCreateTextures(glTargets[uint32_t(type)], 1, &id_) // glTargets[uint32_t(type)] = GL_TEXTURE_CUBE_MAP_ARRAY
[SafeGL DUMP] glTextureParameteri(id_, GL_TEXTURE_MIN_FILTER, GL_LINEAR_MIPMAP_LINEAR)
[SafeGL DUMP] glTextureParameteri(id_, GL_TEXTURE_MAG_FILTER, GL_LINEAR)
[SafeGL DUMP] glTextureStorage3D(id_, mipLevels, glFormats[uint32_t(format_)], width, height, depth) // mipLevels = 1, glFormats[uint32_t(format_)] = GL_RG16F, width = 1024, height = 1024, depth = 4
/!\ GL ERROR 501: GL_INVALID_VALUE -- Breaking to debugger.
GL仕様は、幅、高さ、または深さがある場合」INVALID_VALUEエラーが発生したことを指定します負。"私の場合にはそれがない場合を除き...
私の唯一の推測では、私は、ベンダー固有の(NVIDIA 375.70ドライバのGL 4.4コンテキスト)だ文書化されていないエラーが発生していますか、私は完全に間違って何かをやっているということですが、それから私は何が完全に失われています。
EDIT:ちょうど378.66に更新されたドライバ、無駄に。
'glTextureStorage3D'と' glCreateTextures'はOpenGL 4.5の関数ですが、4.4のコンテキストを作成しています。 – SurvivalMachine
@ SurvivalMachine:4.4が要求されたフォーマットですが、ドライバが4.5を与えた可能性があります。そうしないと、 'glCreateTextures'は動作しません。 – peppe
@peppeうん、それだった! glTexStorage3Dの仕様全体を細心の注意を払って読んでいます。解決済みとしてマークする: – xtrium