2009-06-23 7 views
8

Je n'ai pas trouvé de bonne définition du concept de surface de dessin. Quelles sont les propriétés associées à une surface? Dans le contexte d'OpenGL pur, il n'y a pas de surface, puisque OpenGL n'a aucune notion de choses spécifiques au système de fenêtrage. Dans OpenGL ES, vous avez l'API EGL, qui introduit le concept d'une surface de dessin, sans la définir correctement. Quelle est votre définition concise d'une surface de dessin?Qu'est-ce qu'une surface dans OpenGL ES ou Direct3D?

Répondre

7

Fondamentalement, une surface est quelque chose que vous pouvez rendre. C'est une sorte de contexte de périphérique, mais potentiellement plus intelligent puisque les surfaces peuvent savoir comment se montrer ou faire d'autres choses utiles. EGL a trois types de surface:

  • fenêtre Surface: une fenêtre.
  • Pixmap Surface: une image.
  • Pbuffer Surface: un tampon de pixels.

This forum post may be helpful.

1

Dans Direct3D, une surface matérielle est généralement - mais pas toujours - une section de mémoire matérielle dans le format de surface DirectDraw. Il s'agit du même format que celui utilisé par les fichiers d'image DDS. Il se compose essentiellement d'un en-tête, puis de données d'image dans l'un des formats d'image spécifiés dans la section d'en-tête. Les propriétés habituelles sont la largeur, la hauteur, le format de pixel, et peut-être quelques choses comme la stéréo (qui peut ne pas être supportée, bien sûr).

Il ne s'agit essentiellement pas d'un terme générique pour une image.

2

Dans le monde Direct3D, de manière générale, une surface est constituée de données d'image 2D. Une texture est quelque chose qui peut être échantillonné et utilisé dans un shader. Typiquement, les textures sont faites de surfaces; par exemple, chaque mip-map d'une texture 2D est une surface, et chaque face d'une carte de cube est une surface.

Questions connexes