Regardez quatre milliards d’années d’humanité dans un pixel shader

Regardez quatre milliards d'années d'humanité dans un pixel shader

Moi, en 2000 : ah, donc les shaders peuvent rendre les textures de Quake 3 brillantes ou tremblotantes. Moi, en 2016 : oh, d’accord, les shaders peuvent également être utilisés pour créer des bancs de poissons à Abzu. Moi, en ce moment : attendez, que les shaders puissent aussi être utilisé pour raconter l’histoire d’une planète sur quatre milliards et demi d’années, d’un bloc de roche en fusion à la formation de montagnes, de rivières et de villes humaines.

Humanity, un shader dans le navigateur créé par David A. Roberts, vaut les quatre minutes qu’il faut pour regarder.

Si vous préférez, au lieu de cliquer sur le lien ci-dessus, vous pouvez regarder l’animation avec de la musique sur Vimeo :

L’animation traverse six étapes principales dans son développement d’une planète : la protoplanète, dans laquelle la surface est chauffée au rouge ; le déplacement des plaques tectoniques pour établir des montagnes et des océans ; l’érosion hydraulique, qui marque le terrain avec des rivières ; le climat global, qui représente le changement des saisons ; la répartition de la vie, y compris les plantes, les herbivores et les prédateurs ; et enfin l’humanité, alors que nous construisons des villes.

Son créateur, David A. Roberts, a écrit une longue explication de la façon dont chacune de ces étapes est construite, y compris les modèles scientifiques sur lesquels elle est basée et des exemples du code utilisé pour la recréer dans un shader. Il est particulièrement impressionnant de voir comment les différentes simulations interagissent : le climat découle de la distribution des océans, et la vie, y compris la croissance des plantes, réagit au climat.

La simulation se termine en décrivant l’humanité en train de brûler tous les combustibles fossiles disponibles, « entraînant la disparition de l’humanité d’une partie importante de la planète ». Ouf.

J’arrive à tout cela en retard. Roberts a créé le shader en 2018 et il a attiré l’attention en ligne lorsqu’il a écrit la ventilation de son fonctionnement l’année dernière. Il a depuis écrit un autre article décomposant l’expérience de devenir « viral ».

Un shader est juste un programme conçu pour fonctionner sur un GPU et ils sont généralement utilisés pour donner des instructions sur la façon dont les pixels doivent être dessinés à l’écran. Je sais que les GPU sont assez puissants pour faire toutes sortes de choses, mais je suis toujours renversé chaque fois qu’un shader est utilisé pour autre chose que faire briller un squelette.

Source-88