Pause du montage vidéo et prototype de Ken Silverman’s Build-like

Finalement, je n’ai pas encore fini le montage de ma vidéo sur le Inktober de l’année dernière. Je pense finir ça dans deux semaines. Je reprendrai lundi plus exclusivement dessus. Pour le moment, une gastro a eu la mauvaise idée de venir dans mon organisme. Depuis ce matin donc, l’intrus est en train de passer un très mauvais moment face à mon système immunitaire de kryptonienne x)

La semaine du 22 au 27 janvier 2018, j’ai assez vite mis en pause le montage vidéo après avoir avancé un petit peu dessus. Je voulais finir le dessin de mon dernier tipeur de l’année précédente, et aussi j’avais un besoin vital de coder mon Old-school 3D Renderer inspiré de Build de Ken Silverman 🙂

J’en ai fais des choses dessus, même si il y a encore des éléments fondamentaux à programmer pour terminer le minimum syndical du rendu de ce prototype. J’ai fais un thread sur Twitter que j’ai alimenté à chaque nouveauté. Je vous ai remis les captures d’écran ici et résume ce que j’ai fais. J’ai réalisé le rendu 3D des murs, fais un Z-order pour les dessiner du plus près au plus lointain. Ce dernier est insuffisant et doit entrer dans un système de Z buffer simplifié qui s’inspire un peu d’un raycasting optimisé. Disons que ce pseudo-raycasting, scanne les murs dans le même ordre que le rendu, c’est à dire dans l’axe des X relatif à la caméra. Quand je dis scanner, je ne parle pas de pixels ou de cases d’une gille comme dans un raycasting classique. Je parle d’aller sur la partie gauche des murs et faire le reste par des calculs de segments tout simples. En gros, les murs sont ramenés au repère de la caméra, puis ordonnés sur le long de l’axe X (l’horizontale de ce qu’on voit, de gauche à droite), et scanné un à un en cherchant les intersections de murs dans le champ de vision et en comparant la distance des murs qui se concurrencent pour choisir le plus proche en premier. Tout est donc codé, à l’exception de ce balayage avec comparaison. J’ai choisi de simplifier le nombre de murs en me focalisant bien entendu sur ceux visibles à l’écran. J’ai donc codé un frustum culling, et je coderai tout à l’heure un backface culling (élimination des murs qui ne font pas face à la caméra). Oui, je m’éclate 🙂

J’ai très peu joué à Factorio moddé, donc pas avancé sur le tournage de ma future série sur la construction d’un megabase. Je reprendrai ça dés lundi, en essayant de caser le montage vidéo, le développement du Build-like et des parties d’une ou deux heures, et le script d’un No-Comment que j’ai envie de faire avant celui prévu depuis l’année dernière. Pfiou…

Si vous avez aimé cet article, vous pouvez me faire un don en Ethereum 🙂
Ethereum : 0xab7dD988aD7348C75db90343591596974A435803

Laisser un commentaire

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