Was genau ist eine Oberfläche in OpenGL ES oder Direct3D?

8

Ich habe keine gute Definition für das Konzept einer Zeichenfläche gefunden. Welche Eigenschaften sind mit einer Oberfläche verbunden? Im Kontext von reinem OpenGL gibt es keine Oberfläche, da OpenGL keine Ahnung von fenstersystemspezifischen Dingen hat. In OpenGL ES haben Sie jedoch die EGL-API, die das Konzept einer Zeichenoberfläche einführt, ohne sie richtig zu definieren. Was ist Ihre prägnante Definition einer Zeichenfläche?

    
nschmidt 23.06.2009, 15:48
quelle

3 Antworten

7

Grundsätzlich ist eine Oberfläche etwas, das Sie rendern können. Es ist eine Art Gerätekontext, aber möglicherweise intelligenter, da Oberflächen wissen können, wie sie sich selbst anzeigen oder andere nützliche Dinge tun können. EGL hat drei Oberflächentypen:

  • Fensteroberfläche: ein Fenster.
  • Pixmap-Oberfläche: ein Bild.
  • Pbuffer Surface: ein Pixelpuffer.

Dieser Forenbeitrag kann hilfreich sein .

    
Naaff 23.06.2009, 16:07
quelle
2

In der Direct3D-Welt sind grob gesagt eine Oberfläche einige 2D-Bilddaten. Eine Textur ist etwas, das in einem Shader abgetastet und verwendet werden kann. Typischerweise sind Texturen 'aus' Oberflächen; Zum Beispiel ist jede Mip-Map einer 2D-Textur eine Fläche und jede Fläche einer Cube-Map ist eine Fläche.

    
sdclibbery 05.10.2009 11:06
quelle
1

In Direct3D ist eine Hardwareoberfläche normalerweise - aber nicht immer - ein Abschnitt des Hardwarespeichers im DirectDraw-Oberflächenformat. Dies ist das gleiche Format, das von DDS-Bilddateien verwendet wird und besteht im Wesentlichen aus einem Header und dann Bilddaten in einem von mehreren Bildformaten, die im Header-Abschnitt angegeben sind. Die üblichen Eigenschaften sind Breite, Höhe, Pixelformat und vielleicht ein paar andere Dinge wie Stereo (das natürlich nicht unterstützt wird).

Es ist im Grunde nicht viel mehr als ein allgemeiner Begriff für ein Bild.

    
Promit 23.06.2009 17:03
quelle

Tags und Links