Closed barbudreadmon closed 4 years ago
Les bords sont dus al'extension des geometry. Le probleme c'est que le sol est plein de surfaces. Il faudrait reussir a trouver celles sur le bord pour voir ce qui ne va pas.
Pour le mesh, le test de reference, c'est Megaman X4, c'est plus simple a reproduire et a voir. Est ce que MX4 a egalement ce pb de lignes sur les surfaces mesh?
Les "trous" dans le bord de la route existent sur la console et sont dus au chevauchement d'un pixel entre les polygones de la route et ceux des bords. Les polygones sont rendus alternativement route-bord-route-bord en allant du fond vers l'avant. En fonction de l'angle, des pixels des polygones de la routes peuvent écraser ceux des bord déjà dessinés, à leur extrémité (commune à 2 polygones de bord et 2 de route), sans être tous recouverts par le polygone de bord suivant.
Exemple sur console :
Le noyau OpenGL accentue le phénomène avec l'expansion des polygones.
En noyau compute shader (1ère WIP du 03/09), il y a certains problèmes de jointure de polygone (peut-être dépendants du hardware, voir #598 ), mais les trous dans le bord de route sont corrects.
Sinon, un truc marrant : le jeu utilise les mêmes textures pour la route et les bords verts, avec une palette différente !
La ligne verticale noire visible en travers du phare est probablement un autre exemple du problème #616. Comme dans Tomb raider, la texture est à peu près tournée à 90°.
Le rendu en noyau CS est ok, idéalement il faudra simplement réaligner l'expand avec yabasanshiro pour le noyau opengl, pas utile de garder cette issue ouverte, donc je ferme.
Screenshot provenant de la version "Plus Netlink Edition (USA)", mais le problème se produit sur toutes les versions testées. Le bug disparaît et réapparaît au gré des commits : Le bord n'est pas régulier, il y a des sortes de trous, le problème est encore plus visible en augmentant la résolution. Sur ce screenshot il y a également un bug sur les vitres de la voiture, qui semblent être représentés sous forme de lignes horizontales au lieu du "mesh" habituel, ce bug-ci est nouveau.
PS : le bug avait été signalé pour la première fois dans https://github.com/FCare/Kronos/issues/341#issuecomment-437681503 par @Tatsuya79, sa première apparition connue date du commit https://github.com/FCare/Kronos/commit/1c1755b5d9f35c4e205a6cd20a70eb5ffd64db5b