Niebla (Direct3D 9)

Agregar niebla a una escena 3D puede mejorar el realismo, proporcionar ambiente o establecer un estado de ánimo, y artefactos oscuros a veces causados cuando la geometría lejana entra en la vista. Direct3D admite dos modelos de niebla, niebla de píxeles y niebla de vértices, cada uno con sus propias características e interfaz de programación.

Básicamente, la niebla se implementa mezclando el color de los objetos en una escena con un color de niebla elegido basado en la profundidad de un objeto en una escena o su distancia desde el punto de vista. A medida que los objetos crecen más distantes, su color original se mezcla más y más con el color de niebla elegido, creando la ilusión de que el objeto se está ocultando cada vez más por pequeñas partículas flotantes en la escena. En la ilustración siguiente se muestra una escena representada sin niebla y una escena similar representada con niebla habilitada.

ilustración de la misma escena con y sin niebla

En esta ilustración, la escena de la izquierda tiene un horizonte claro, más allá del cual no hay ningún paisaje visible, aunque sería visible en el mundo real. La escena de la derecha oculta el horizonte utilizando un color de niebla idéntico al color de fondo, lo que hace que los polígonos parezcan atenuarse a la distancia. Al combinar efectos discretos de niebla con el diseño creativo de la escena, puede agregar estado de ánimo y suavizar el color de los objetos en una escena.

Direct3D proporciona dos maneras de agregar niebla a una escena: niebla de píxeles y niebla de vértices, denominada para cómo se aplican los efectos de niebla. Para obtener más información, consulte Niebla de píxeles (Direct3D 9) y Niebla de vértices (Direct3D 9). En resumen, la niebla de píxeles , también denominada niebla de tabla, se implementa en el controlador del dispositivo y la niebla de vértices se implementa en el motor de iluminación Direct3D. Una aplicación puede implementar niebla con un sombreador de vértices y niebla de píxeles simultáneamente si lo desea.

Nota

Independientemente de si usa niebla de píxeles o vértices, la aplicación debe proporcionar una matriz de proyección compatible para asegurarse de que los efectos de niebla se apliquen correctamente. Esta restricción se aplica incluso a las aplicaciones que no usan el motor de iluminación y transformación direct3D. Para obtener más información sobre cómo puede proporcionar una matriz adecuada, consulte Transformación de proyección (Direct3D 9).

 

En los temas siguientes se presenta la niebla y se presenta información sobre el uso de varias características de niebla en aplicaciones direct3D.

La mezcla de niebla se controla mediante estados de representación; no forma parte de la canalización de píxeles programables.

Representación de Direct3D