2009-06-23 11 views
8

Non ho trovato una buona definizione del concetto di superficie del disegno. Quali proprietà sono associate a una superficie? Nel contesto della pura OpenGL non esiste una superficie, dal momento che OpenGL non ha alcuna nozione di cose specifiche del sistema di finestre. In OpenGL ES anche se hai l'API EGL, che introduce il concetto di una superficie di disegno, senza definirla correttamente. Qual è la tua definizione concisa di una superficie di disegno?Che cos'è esattamente una superficie in OpenGL ES o Direct3D?

risposta

7

Fondamentalmente, una superficie è qualcosa a cui è possibile eseguire il rendering. È una sorta di contesto del dispositivo, ma potenzialmente più intelligente poiché le superfici potrebbero sapere come visualizzare se stesse o fare altre cose utili. EGL ha tre tipi di superficie:

  • Finestra superficie: una finestra.
  • Superficie pixel: un'immagine.
  • Superficie Pbuffer: un buffer di pixel.

This forum post may be helpful.

1

In Direct3D, una superficie hardware è tipicamente, ma non sempre, una sezione di memoria hardware nel formato di superficie di DirectDraw. Questo è lo stesso formato utilizzato dai file di immagine DDS e consiste essenzialmente in un'intestazione e quindi in uno dei numerosi formati di immagine specificati nella sezione dell'intestazione. Le solite proprietà sono larghezza, altezza, formato pixel e forse un paio di cose diverse come stereo (che potrebbe non essere effettivamente supportato, ovviamente).

Fondamentalmente non è molto più di un termine generico per un'immagine.

2

Nel mondo di Direct3D, in senso lato, una superficie è costituita da alcuni dati di immagine 2D. Una texture è qualcosa che può essere campionata e utilizzata in uno shader. Tipicamente le trame sono fatte di superfici; per esempio, ciascuna mappa mip di una trama 2D è una superficie e ogni faccia di una mappa cubica è una superficie.