Le ZX Spectrum de 42 ans peut faire du ray tracing : 17h par image, c'est rapide ? - Gamerush

Le ZX Spectrum de 42 ans peut faire du ray tracing : 17h par image, c’est rapide ?

Le Ray Tracing sur un ZX Spectrum de 42 ans : Un exploit à la vitesse de 17 heures par image

Publié par Streamers Visuals le 1er février 2024. L’ordinateur des années 1980 produit des résultats de ray tracing étonnamment beaux, mais soyez prêts à mesurer les performances en heures plutôt qu’en secondes.

Le ZX Spectrum et le Ray Tracing

Le ray tracing a une longue histoire dans le monde des graphiques informatiques. Il a été utilisé pour générer des images dès les années 1960 et de nouveaux algorithmes ont été créés dans les années 80, dont le path tracing. Cependant, le « Saint Graal du rendu » restait un rêve lointain pour les premières machines domestiques comme le ZX Spectrum.

Il faut environ 17 heures au ZX Spectrum pour rendre une seule image en ray tracing. C’est une image toutes les 61 200 secondes, soit 0,000016 images par seconde.

Un projet de Ray Tracing sur ZX Spectrum

Ce résultat est l’œuvre de Gabriel Gambetta, auteur de « Computer Graphics from Scratch » et ingénieur logiciel senior chez Google Zürich. En tant que grand fan du ZX Spectrum, Gambetta a décidé un jour de voir si la machine robuste de Sir Clive Sinclair, née au début des années 80, pouvait gérer le ray tracing. Le résultat surprenant est que, oui, elle le peut, en quelque sorte.

Dans un article de blog détaillant son projet, Gambetta a adapté le code de base du ray tracing de son livre en BASIC, le langage de programmation qui alimente le ZX Spectrum. Sans trop de modifications, il a découvert que ce code produisait une image de base, même sur le matériel limité du ZX Spectrum.

Les limites du ZX Spectrum

Le ZX Spectrum est capable de produire seulement une poignée de couleurs, quinze au total, et a une résolution totale de 256 x 192 pixels. Il ne peut pas afficher n’importe quelle couleur dans n’importe quel pixel à tout moment. Il utilise des blocs de 8 x 8 pixels dans lesquels il peut stocker des informations de seulement deux couleurs à la fois.

La première version du ZX Spectrum avait un total de 16 KB de RAM, donc l’efficacité de la mémoire était absolument cruciale. Pour aider à économiser la mémoire, la RAM vidéo a été divisée en deux blocs : un bloc de bitmap, utilisant un bit par pixel, et un bloc d’attributs, utilisant un octet par bloc de 8 x 8 pixels.

Le Ray Tracing sur ZX Spectrum : un exploit impressionnant

Malgré toutes ces limitations, le résultat final est véritablement impressionnant. Certes, même avec des optimisations, il faut environ 17 heures pour rendre une seule image, mais le résultat est tout simplement bluffant.

Les réflexions sont pratiquement impossibles avec les limitations sur le mélange des couleurs, et peut-être y a-t-il encore du travail à faire pour augmenter les performances, mais finalement, c’est quelque chose que je n’aurais jamais cru possible sur le modeste processeur de 3,5MHz du ZX Spectrum.

Pourquoi le ZX Spectrum ?

Le ZX Spectrum était un ordinateur très populaire au début des années 80. Abordable, divertissant, étonnamment beau et même assez éducatif. Une partie de sa popularité est due au fait qu’il était possible de coder ses propres jeux en utilisant son langage de programmation, le BASIC. Mais il fallait d’abord contourner les limitations du matériel.

Apprenez un peu de BASIC et vous pourriez faire quelque chose sur le ZX Spectrum. Pas rapidement, ni avec trop de couleurs, mais quelque chose.

Conclusion

Le projet de Gambetta montre que même avec des limitations matérielles, il est possible de réaliser des choses incroyables. C’est un rappel que la créativité et l’innovation peuvent souvent trouver un moyen de contourner les obstacles.

Pour suivre l’actualité des jeux vidéo et du streaming, rejoignez la newsletter Gamerush sur notre site.

Laisser un commentaire

Votre adresse e-mail ne sera pas publiée. Les champs obligatoires sont indiqués avec *

Retour en haut