Acabo de encontrar este vídeo de "Low Score Boy" en Youtube en el cual explica la arquitectura de Saturn, el diseño de dos CPUs y dos VDP (Visual Display Processor) y su complejidad a la hora de programar. Habla especialmente de las capacidades de VPD1 y VDP2 y del efecto half-transparency en juegos 2D y 3D.
Empieza indicando que el efecto half-transparent o semitransparencia sí es posible en Saturn. Con ejemplos como Megaman X4 (incluyendo diferencias con PSX y uso de mallas en los focos de luz) o Guardian Heroes. Según explica, el procesador gráfico VDP2 puede mostrar hasta 5 capas simultáneamente y soportar efectos como el escalado, la rotación y más de un efecto semitransparente sobre el fondo; facilitando la creación de aureolas, niebla, sombras, llamas, haces de luz o ventanas de diálogo. Por otra parte, las capacidades del VPD1, donde a pesar de que el juego puede asignar un orden dimensional a cada sprite, junta al final todo en un único plano en el frame buffer. Esto provoca un solapamiento de los objetos a mostrar, mostrando el último sprite por encima del resto y cuando hay semitransparencia todos los sprites de debajo desaparecen (ejemplo de la chica con capa con efecto de semitransparencia en Gunstar Herores). Para evitar estos problemas de transparencia, hay alternativas. Por ejemplo, en Cotton Boomerang programaron alternancia entre semitransparencia y sin transparencia al juntarse varios objetos.
También habla de las capacidades 3D de Saturn. VDP1 tiene la capacidad de dibujar polígonos cuadriláteros en vez de triángulos (más comunes), habla del mapeado de texturas realizado con sprites deformados y explica el uso de efectos 3D junto con planos 2D (como el famoso modo7 de supernintendo). Resalta la diferencia de los primeros resultados (mal uso exclusivo del 3D) en Virtua Fighter respecto a la versión mejorada Remix (mezclando con planos usando paralelamente el procesador VDP2). La asignación de resurcos de la VRAM (de 1.5 megas) era compatida para ambos procesadores VDP quedando 512 kb para cada VP1 y 512 para los 2 "frame buffer". Por los tanto, cuando se hace un juego 3D en Saturn, la mejor forma de optimizar los recursos es usar planos u objetos 2D de forma inteligente para aprovechar el procesamiento en paralelo de los procesadores. Este concepto fue usado en los juegos como Panzer Dragoon donde muchos objetos (como el efecto del agua) fueron creados los efectos de rotación y scroll usando el procesador VDP2 y dejando que VDP1 se encargara de dibujar los polígonos. Si el juego solo usara polígonos, consumiría muchos más recursos (VRAM y hilo secuencial en el único procesador 3D) repercutiendo en rendimiento, framerate, menos objetos en pantalla. En juegos de lucha 3D, como Last Bronx, se solía usar VDP2 para dibujar y rotar el plano del suelo.
Por último habla del efecto de semitransparencia en 3D, por ejemplo el ataque láser de Panzer Dragoon. En Shining Force 3, los ataques son dibujadoss por VDP1 y combinados con VDP2 y en Panzer Dragoon Saga, la primera fase del río usa semitransparencia en las cascadas con capas del procesador VDP2. En el caso de Grandia, las sombras de los edificios están realmente dibujadas en el plano del mismo suelo, para hacer el efecto de sombra, cuando un sprite pasa al lado, es oscurecido. También explica el uso de estos efectos en Sonic R y Burning Rangers.
Como conclusiones resalta que, según documentación oficial, dibujar un objeto con semitransparencia en VDP1 le lleva hasta 6 veces más que sin ella y debate sobre si a al hora de programar se debería uno de molestar en solucionar los problemas encontrados con la semitransparencia o utilizar directamente mallas.
Aquí os dejo el vídeo. Me pareció muy interesante para aprender sobre desarrollo y limitaciones del hardware:
YouTube Link