1
QtでGL_TEXTURE_2D_ARRAYとQOpenGLTextureを使用しています。この種のテクスチャでレイヤーの数に制限があるのかどうか疑問に思っていましたか?私は81×81のレイヤーが必要ですが、何とか今は81×25のレイヤーでしか動作しません。セグメンテーションフォールトはありません。テクスチャの代わりに黒いスクリーンしかレンダリングされません。QOpenGLtextureレイヤー数
QtでGL_TEXTURE_2D_ARRAYとQOpenGLTextureを使用しています。この種のテクスチャでレイヤーの数に制限があるのかどうか疑問に思っていましたか?私は81×81のレイヤーが必要ですが、何とか今は81×25のレイヤーでしか動作しません。セグメンテーションフォールトはありません。テクスチャの代わりに黒いスクリーンしかレンダリングされません。QOpenGLtextureレイヤー数
はい、制限があります。あなたは、あなたがあまりにも多くの層(またはその他の理由でサポートされていないテクスチャ)を要求した場合、少なくとも256
であることが保証されて
への呼び出しGLint maxLayers;
glGetIntegerv(GL_MAX_ARRAY_TEXTURE_LAYERS, &maxLayers);
によって制限を照会することができます適切なエラーが生成されます。 glGetError
でエラーを問い合わせることができます。
ありがとうございます!それだった! GL_TEXTURE_3Dを使用している場合、レイヤーの制限は深度の制限と同じですか? – user3178756
@ user3178756:いいえ。 'GL_TEXTURE_3D'の最大サポート深度は' GL_MAX_3D_TEXTURE_SIZE'です。 – ybungalobill