2009-06-23 9 views
8

No encontré una buena definición del concepto de una superficie de dibujo. ¿Qué propiedades están asociadas a una superficie? En el contexto de OpenGL puro no hay superficie, ya que OpenGL no tiene noción de cosas específicas del sistema de ventanas. En OpenGL ES, aunque tiene la API EGL, que introduce el concepto de una superficie de dibujo, sin definirlo correctamente. ¿Cuál es su definición concisa de una superficie de dibujo?¿Qué es exactamente una superficie en OpenGL ES o Direct3D?

Respuesta

7

Básicamente, una superficie es algo en lo que puedes renderizar. Es un tipo de contexto de dispositivo, pero potencialmente más inteligente ya que las superficies pueden saber cómo exhibirse o hacer otras cosas útiles. EGL tiene tres tipos de superficie:

  • Ventana de superficie: una ventana.
  • Pixmap Superficie: una imagen.
  • Pbuffer Superficie: un buffer de píxeles.

This forum post may be helpful.

1

En Direct3D, una superficie de hardware suele ser, pero no siempre, una sección de la memoria de hardware en el formato de superficie de DirectDraw. Este es el mismo formato utilizado por los archivos de imagen DDS, y básicamente consiste en un encabezado, y luego los datos de imagen en uno de varios formatos de imagen que se especifican en la sección del encabezado. Las propiedades habituales son ancho, alto, formato de píxel, y tal vez algunas cosas confusas como estéreo (que, por supuesto, pueden no ser compatibles).

Básicamente no es mucho más que un término genérico para una imagen.

2

En el mundo Direct3D, en términos generales, una superficie es algunos datos de imagen en 2D. Una textura es algo que se puede muestrear y usar en un sombreador. Normalmente, las texturas son superficies 'hechas de'; por ejemplo, cada mapa de mip de una textura 2D es una superficie, y cada cara de un mapa de cubo es una superficie.