El desarrollo de LightWave para MorphOS continúa avanzando. Javier R. Santurde (Tolki3n) ha presentado nuevos resultados de su trabajo para trasladar progresivamente partes del motor de renderizado de LightWave desde código 68k a código nativo PowerPC, aprovechando directamente la capacidad de procesamiento de los equipos compatibles con MorphOS.
El objetivo es reducir una de las principales limitaciones de la aplicación: los tiempos de renderizado. Hasta ahora, aunque LightWave ya había recibido importantes mejoras para funcionar con gráficos RTG, buena parte de sus cálculos seguían dependiendo del código original de 68k y, por tanto, de su emulación.
La nueva implementación aborda directamente los cálculos relacionados con el renderizado, incluyendo sombreado, iluminación, sombras, texturas procedurales y efectos de postprocesado. Estas operaciones se están trasladando progresivamente a código PowerPC nativo mediante una implementación específica para MorphOS, con el objetivo de reducir considerablemente los tiempos de renderizado.
Las pruebas se han realizado sobre un Power Mac G5 a 2 GHz con MorphOS 3.21, comparando el motor original de 68k con la nueva implementación acelerada para PowerPC.
Los resultados son bastante significativos. Una de las escenas utilizadas, Blade, pasa de necesitar 3 minutos y 37 segundos a completarse en apenas 54 segundos. Otra prueba especialmente exigente, correspondiente a una escena con trazado de rayos (raytracing), reduce su tiempo de renderizado de 10 minutos y 53 segundos a tan solo 3 minutos.
Si tenemos en cuenta las nueve escenas utilizadas durante las pruebas, el tiempo total pasa de 21 minutos y 10 segundos con el motor original a solamente 6 minutos y 12 segundos con la aceleración PowerPC. Esto supone una reducción del 70,7 % del tiempo de renderizado y una mejora global de rendimiento de 3,41 veces.
Las ganancias individuales varían entre 1,44 y 4,02 veces dependiendo de las características de cada escena. Esto se debe a que no todas las operaciones utilizan en la misma proporción las partes del motor que ya han sido trasladadas a PowerPC. El proyecto sigue utilizando un motor híbrido, por lo que todavía existen operaciones que continúan ejecutándose mediante el código 68k original.
Otro aspecto importante del desarrollo es mantener la fidelidad de los resultados. Javier está comparando las imágenes generadas por ambas versiones para comprobar que materiales, geometría, iluminación y efectos mantienen el mismo comportamiento visual.
La aceleración también se ha planteado para que resulte transparente al usuario. En MorphOS, LightWave carga automáticamente el módulo RenderModule_MorphOS cuando está disponible junto a la aplicación. Si el módulo no se encuentra presente, el programa continúa utilizando el motor de renderizado original de 68k.
Conviene destacar que esta aceleración PowerPC es específica de MorphOS y no debe confundirse con las mejoras de compatibilidad RTG disponibles para Amiga Classic.
El trabajo continúa y las próximas etapas estarán centradas en optimizar los cuellos de botella restantes, mejorar la compatibilidad y seguir verificando la fidelidad de las imágenes generadas.
Web del proyecto <<—

