Doom Wiki
Advertisement
Doom Wiki
Espectro

El Espectro, un monstruo parcialmente invisible

El Efecto de invisibilidad parcial (también conocido como el efecto fuzz) es un efecto visual que se utiliza en Doom para los Espectros y cuando el jugador recoge la esfera de invisibilidad, aunque ha sido sustituido por translucidez verdadera o basada en tablas en algunos source port.

El motor es técnicamente capaz de aplicar el efecto a cualquier cosa arbitraria, pero por defecto sólo se utiliza para las mencionadas.

Heretic, Hexen y Strife no utilizan este efecto en absoluto.

Cuando una cosa parcialmente invisible se está mostrando en Doom, en lugar de dibujar los datos habituales de píxeles de sprites, lo que el motor sólo tiene en cuenta es la forma básica del sprite. El espacio ocupado por el sprite se llena entonces con el efecto fuzz, que funciona mediante la copia de píxeles verticalmente adyacentes de ida y vuelta en un patrón (la tabla fuzz, que se define en una matriz en r_draw.c) dentro del buffer de cuadros mientras aplica el sexto COLORMAP (contando desde cero) a ellos. El resultado final es que el sprite aparece como una sombra translúcida, difusa y algo más oscuro que la zona de la pantalla sobre la que se dibuja.

Distinto aspecto en source ports

Debido a la tecnología de renderizado diferente, varios source ports (especialmente los basados en APIs 3D de aceleración por hardware como Direct3D y OpenGL) no utilizan el efecto fuzzing, pero en cambio emplean translucidez = opacidad reducida  de los sprites utilizados o modelos basados en mallas.

La texturización de monstruos parcialmente invisibles no es uniforme entre los diferentes ports: algunos simplemente usan la textura del monstruo de base (es decir, el Demonio para el Espectro), algunos aplican una textura animada con ruidos para acercarse al efecto fuzz original. Tampoco es homogéneo el concepto de si al matar a lso monstruos parcialmente invisibles se vuelven completamente visibles después de la muerte (lo que ocurre para algunos monstruos en ports Doom 64).

La representación de objetos translúcidos en forma correcta y eficaz no es una tarea trivial para un motor de 3D. La función Z-buffer utilizada a menudo, sólo funciona correctamente para "binary alpha" (ya sean texels completamente opacos o totalmente transparentes). Una correcta visualización de objetos translúcidos puede requerir varias pasadas de renderizado con diferentes atributos (especialmente respetar o ignorar el Z-buffer) en un orden específico para mostrar parcialmente cubierta y hasta la intersección de objetos translúcidos y sin artefactos noticable, lo que puede ralentizar la velocidad de renderizado. Este orden puede cambiar en los monstruos muertos, por lo que es posible ver a través de los charcos de sangre en el piso y las paredes producidos por un cadáver translúcido de un Espectro, dependiendo del motor 3D y del source port específico.

Véase también

Advertisement