La dernière fois, nous avons effleuré les possibilités offertes par le langage PostScript avec un petit programme même pas obfusqué. Aujourd'hui, nous plongeons dans le grand bain avec un programme beaucoup plus spectaculaire : un raytraceur auto-décompactable dont le décompacteur est compacté, complètement illisible de prime abord.
1 Des boules réfléchissantes, un damier, un raytraceur !
Le programme du jour est un programme PostScript de quelques lignes qui affiche une scène raytracée comprenant un damier, et deux sphères dont l'une est réfléchissante, le tout rendu avec un modèle d'éclairage de type Phong et gestion des ombres. Pour économiser de la place, le code PostScript est compacté au maximum. Il s'agit d'une création de Takashi Hayakawa, dont vous pouvez voir le résultat sur la figure 1.
Fig. 1 : Le résultat de l'exécution du programme du jour
1.1 Version initiale
Voici la forme initiale du script de M. Hayakawa que j'ai à peine retouché pour des raisons éditoriales :
/C/neg/d/mul/R/rlineto/E/exp/H{{cvx def}repeat}def/T/dup/g/gt/r
/roll/J/ifelse 8 H/A/copy(z&v4QX&93r9AxYQOZomQalxS2w
!O&vMYa43d6r93rMYvx2dca!D&cjSnjSnjjS3o!v&6A
X&55SAxM1CD7AjYxTTd62rmxCnTdSST0g&12wECST
&!J0g&D1!&xM0!J0g!l&544dC2Ac96ra!m&3A
- Accédez à tous les contenus de Connect en illimité
- Découvrez des listes de lecture et des contenus Premium
- Consultez les nouveaux articles en avant-première