Les promesses d’une planète

Cette semaine du 8 au 12 août 2016 a encore commencé par 3 directs dans lesquelles je programme Demiurge. Les rediffusions sont toujours au même endroit sur ma chaîne, c’est à dire Programmation de jeux en direct 🙂
J’y ai optimisé un minimum le code du subchunk et ajouté une pseudo lumière pour mieux voir les formes des cubes. C’est un code très basique pour la lumière qui ne fonctionne pas pour les pentes. A défaut de mieux, je pourrais envisager d’utiliser un algorithme d’ombrage de Gouraud ou de Phong, mais je suis allé au plus simple possible. A ce stade, une méthode très naïve suffit largement.

Le reste de la semaine à été consacrée à l’expérimentation de la forme de planète ronde dont j’ai parlé la semaine dernière. Une anomalie apparaissait sur les vertex de coordonnées (x0, y, z0), produisant un trou dans le maillage du subchunk.

Les points (x0, y, z0) sont les seuls à ne pas être déformés de par leurs positions sur l'axe Y du centre de la distorsion.
Les points (x0, y, z0) sont les seuls à ne pas être déformés de par leurs positions sur l’axe Y du centre de la distorsion.

La raison était que dans la formule, je commence par calculer la norme du vecteur xz et plus tard je réutilise cette dernière comme diviseur pour calculer un coefficient pour les positions finales de x et z du vertex. Évidemment, si x et z valent zéro, alors la norme sera égale à zéro, et donc le diviseur sera à zéro aussi. Hors, on ne peut pas diviser un nombre par zéro, car cela donne un résultat infini 🙂 J’ai résolu cette anomalie, en restreignant le calcul des coefficients hors du cas (x0, y, z0) et pour ce dernier, les vertex restent fidèle à elles-même. C’est dans ce cas, en effet, que les point ne subissent aucune distorsion, puisque positionnées dans l’axe du centre de la pseudo-sphère ;p

J’ai posté sur Facebook et Twitter des images, en milieu de semaine, montrant le résultat des premiers tests de mon algorithme. Puis, j’ai avancé cette fin de semaine et en suis arrivé à ce résultat dont j’ai fais une vidéo 🙂

En ce qui concerne mon épisode de Minecraft sur serveur, j’ai décidé de m’y consacrer la semaine prochaine, dés lundi, et de passer à d’autres choses une fois terminée et publiée sur ma chaîne 🙂 Jeudi, j’ai dû me reposer un peu et n’ai passé que peu de temps sur mon expérience de planète. Il m’a donc semblé plus judicieux de ne pas travailler sur deux choses la même semaine 🙂

Laisser un commentaire

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