2017-05-20 5 views
1

QtでGL_TEXTURE_2D_ARRAYとQOpenGLTextureを使用しています。この種のテクスチャでレイヤーの数に制限があるのか​​どうか疑問に思っていましたか?私は81×81のレイヤーが必要ですが、何とか今は81×25のレイヤーでしか動作しません。セグメンテーションフォールトはありません。テクスチャの代わりに黒いスクリーンしかレンダリングされません。QOpenGLtextureレイヤー数

答えて

1

はい、制限があります。あなたは、あなたがあまりにも多くの層(またはその他の理由でサポートされていないテクスチャ)を要求した場合、少なくとも256

であることが保証されて

への呼び出し
GLint maxLayers; 
glGetIntegerv(GL_MAX_ARRAY_TEXTURE_LAYERS, &maxLayers); 

によって制限を照会することができます適切なエラーが生成されます。 glGetErrorでエラーを問い合わせることができます。

+0

ありがとうございます!それだった! GL_TEXTURE_3Dを使用している場合、レイヤーの制限は深度の制限と同じですか? – user3178756

+0

@ user3178756:いいえ。 'GL_TEXTURE_3D'の最大サポート深度は' ​​GL_MAX_3D_TEXTURE_SIZE'です。 – ybungalobill

関連する問題