Comment c'est fait

VECTRA ne contient aucun modèle 3D. Pas un triangle. Tout ce que tu vois est calculé, pixel par pixel, à partir de quelques formules. Voici comment, en trois expériences à manipuler.

Retour au monde

1

Avancer à pas de géant, sans jamais rien traverser

Chaque objet est décrit par une fonction qui répond à une seule question : « à quelle distance suis-je de toi ? ». Un rayon part de l'œil. À chaque pas, il demande cette distance au monde entier, et avance d'exactement cette longueur : c'est sans danger, puisque rien n'est plus proche. Quand la distance devient minuscule, il a touché la surface.

Chaque cercle est la zone garantie vide à cet endroit. Fais glisser dans l'image pour déplacer l'œil.

2

Une coquille vivante en une ligne

Les organismes de VECTRA sont taillés dans un gyroïde, une surface que l'on trouve dans les ailes de certains papillons. Elle tient en une ligne de calcul. On la découpe dans une sphère, on la creuse, et on fait varier le temps : la matière semble respirer.

gyroïde(p) = | sin(x)·cos(y) + sin(y)·cos(z) + sin(z)·cos(x) |
Coupe à travers le volume, qui avance dans le temps.
3

Huit caractères, un monde entier

Un monde VECTRA ne pèse rien : il est entièrement déduit d'une graine de 8 caractères. Le même calcul, exécuté à l'identique en Python, en Rust et dans ton navigateur, donne toujours les mêmes couleurs, la même densité de vie, les mêmes reliefs. Partager un monde, c'est partager 8 caractères.

Visiter ce monde
4

Un seul dessin, partout

Toute l'image tient dans un seul fichier de shader. Il est exécuté tel quel par trois programmes différents, et traduit automatiquement pour les navigateurs plus anciens. Les tests vérifient que le moteur natif et le prototype produisent la même image, au pixel près.

NavigateurWebGPU, ou WebGL2 en repli
Moteur natifRust, Windows, macOS, Linux
WebAssemblyle même moteur Rust, dans la page
AtelierPython, pour créer et tester