2010-11-23 25 views
1

Je voudrais créer une liste de tous les formats de pixels disponibles pour OpenGL. Sous Windows, je peux le faire en appelant DescribePixelFormat dans une boucle, en augmentant l'ID de format de pixel, jusqu'à ce qu'il renvoie false.Énumérer tous les formats de pixels avec AGL - comment? (Mac OS X)

Malheureusement, il semble que aglDescribePixelFormat ne fonctionne pas comme ça. Son paramètre AGLPixelFormat est un pointeur vers une structure opaque - je ne peux pas l'appeler en boucle.

La documentation d'Apple ne fournit aucun indice, ni google. Tous les experts AGL prêts à partager leurs connaissances?

Editer: J'ai vu la mention d'une fonction aglListPixelFmts() mais celle-ci n'est pas listée dans agl.h, et je ne trouve aucune mention dans la documentation d'Apple. Ce qui donne?

Répondre

0

En fait, la documentation d'Apple donne un indice. Sous aglDescribePixelFormat, il est dit:

Pour récupérer les données au format de pixel objets autres que le premier dans la liste, appelez aglNextPixelFormat. Passez ensuite l'objet de format de pixel renvoyé à aglDescribePixelFormat à pour récupérer une valeur d'attribut.

+1

Merci. Cela fait référence à quelque chose de légèrement différent: sur Mac OS X, vous pouvez avoir plusieurs moteurs de rendu pour un seul format de pixel. Avec un format de pixel, aglNextPixelFormat vous permet de parcourir tous les rendus compatibles. –