2009-06-23 8 views
8

Nie znalazłem dobrej definicji pojęcia powierzchni rysunku. Jakie właściwości są powiązane z powierzchnią? W kontekście czystego OpenGL nie ma powierzchni, ponieważ OpenGL nie ma pojęcia o rzeczach specyficznych dla systemu okien. W OpenGL ES, jeśli masz interfejs API EGL, który wprowadza koncepcję powierzchni rysunkowej, nie definiując jej poprawnie. Jaka jest Twoja zwięzła definicja powierzchni rysunku?Czym dokładnie jest powierzchnia w OpenGL ES lub Direct3D?

Odpowiedz

7

Zasadniczo powierzchnia jest czymś, na co można oddać. Jest to rodzaj kontekstu urządzenia, ale potencjalnie mądrzejszy, ponieważ powierzchnie mogą wiedzieć, jak się wyświetlać lub robić inne użyteczne rzeczy. EGL ma trzy typy powierzchni:

  • Powierzchnia okna: okno.
  • Powierzchnia Pixmap: obraz.
  • Pbuffer Surface: bufor pikseli.

This forum post may be helpful.

1

W Direct3D powierzchnia sprzętowa jest zazwyczaj - ale nie zawsze - częścią pamięci sprzętowej w formacie powierzchni DirectDraw. Jest to ten sam format, co pliki obrazów DDS i zasadniczo składa się z nagłówka, a następnie danych obrazu w jednym z kilku formatów obrazu określonych w sekcji nagłówka. Typowe właściwości to szerokość, wysokość, format pikseli i może kilka rzeczy takich jak stereo (które oczywiście mogą nie być obsługiwane).

To w zasadzie niewiele więcej niż ogólne określenie obrazu.

2

W świecie Direct3D, ogólnie mówiąc, powierzchnia to niektóre dane 2D. Tekstura to coś, co można próbkować i używać w module cieniującym. Zazwyczaj tekstury są "zrobione z" powierzchni; na przykład każda mapa mip tekstury 2D jest powierzchnią, a każda powierzchnia mapy sześcianu jest powierzchnią.