Raycasting
Préface
Très employée dans l’image de synthèse cette méthode de rendu a pris naissance dans les années 90.
Les jeux vidéo n’utilisaient alors pas l’accélération matérielle des cartes graphiques plus récentes.
Il s’agit d’une technique relativement simple et dont les bases sont abordables pour les débutants.
Bien que les moteurs les plus avancés restent basés sur des algorithmes complexes difficilement accessibles.
Ce dossier propose de découvrir comment des jeux comme Wolfenstein 3D ou Doom ont put être créés.
Ou comment offrir au joueur l'immersion dans des univers jusque là inaccessibles.
Notez que c'est le jeu F-Zero sur Super Nintendo qui donna naissance au raycasting à l'aide du Mode 7.
Et que c'est sans doute Outcast qui poussera à son apogée la technique notamment grâce aux voxels.
L'étude de ces deux techniques fera (sans doute) l'objet de dossiers séparés.
Le Raycasting tel que nous allons le décrire se situe donc juste après la génération de jeux utilisant le Mode 7.
Entre Wolfenstein 3D et Duke Nukem 3D pour vous situer les choses.
Ce dossier comportera deux parties.
Théorie
Nous commencerons par une traduction personnelle et un peu retouchée d’un très bon article de F.Permadi qui explique clairement et simplement la théorie.
Pratique
Puis nous passerons à un exercice pratique en ActionScript 3 basé sur les travaux en C++ de Lode Vandevenne (http://members.gamedev.net/lode/, http://esoteric.voxelperfect.net/wiki/Lode_Vandevenne).
Demo Flash
Voici un exemple du rendu final (et temporaire) de l'exercice :
(utilisez les touches Z-Q-D-S-Flèche droite-Flèche gauche)
Notez que ces notions sont également expliquées par Diana Gruber dans le livre Action Arcade Adventure Set qu'elle a publiée en 1994 et auxquelles elle consacre un chapitre.
(Merci à Leedorien pour cette info)
Il me reste à vous souhaiter une bonne lecture
