Nous utilisons OpenTK, C# et Visual Studio 2010. Nous devons demander au périphérique graphique s'il prend en charge texture2DArray, et quels modes anti-aliasing il peut soutenir. Toute aide serait appréciée.Comment demander OpenGL pour les capacités de périphérique graphique (texture2DArray, modes anti-alias pris en charge)
Répondre
Le support d'origine pour les tableaux de texture fait partie de GL_EXT_texture_array. Cela a été intégré à OpenGL Core dans le cadre de la version 3.0.
Ainsi, vous pouvez vérifier que votre version OpenGL est supérieure ou égale à 3.0, ou que la chaîne d'extension contient GL_EXT_TEXTURE_ARRAY
. Pour être complet, vous devez effectuer les 2 tests, car le support peut être exposé par l'un ou l'autre moyen (ou vous pouvez décider de ne fonctionner que sur des périphériques compatibles OpenGL 3.0).
Pour la question multi-échantillonnage, c'est plutôt plus délicat. le multi-échantillonnage a toujours été fait au niveau de la plate-forme, puisqu'il était associé aux propriétés framebuffer. Je suppose que vous ciblez GL sur Windows, mais je ne suis pas au courant exactement comment cela se fait dans C#.
Découvrez http://www.opengl.org/wiki/Multisampling les moyens plutôt alambiquées de faire cela pour le framebuffer initial C.
maintenant ... Comme les objets framebuffer ont été introduits, le noyau GL a également la capacité d'allouer framebuffers, y compris multi surfaces échantillonnées (section 4.4 dans le Core 3.0). Si vous utilisez cette fonctionnalité, l'allocation est faite avec glRenderbufferStorageMultisample
, et le nombre maximum d'échantillons pris en charge est retourné par glGetIntegerv(GL_MAX_SAMPLES)
Cela a été très utile, merci beaucoup! – KobraX22