
Envoyé par
Laurent7601
D'accord préviens moi dès que tu as fais cela, on échangera au niveau du gameplay du premier vrai jeux du moteur.
J'ai fait une nouvelle mise à jour pour la gestion des shaders. On peut désormais choisir la compilateur spriv avec cmake et le moteur compile les shaders avec cmake de glsl vers spriv. Et ma classe Shader peut désormais charger ces fichiers spriv. C'est plus propre, ça permet de résoudre le problème des différentes version de spirv installée sur une même OS avec le sdk de vulkan et l'environement de msys2 par exemple. (Sa version de spirv est trop ancienne pour compiler les mesh shaders)
J'ai dû donc trouvé une autre manière de faire avec l'aide de l'IA. ODFAEG peut désomrais compiler des mesh et task shaders.
J'ai pas encore testé au niveau du rendu ce que ça donne, mais les mesh shaders sont plus performant que les vertex shaders d'après l'IA, et ça te permet d'éviter de devoir utiliser un piepline par topologie ce qui est très lourd (faut juste 3 mesh shaders, un pour les points, un autre pour les lignes et un pour les triangles) On peut, peut être générer des sommets avec le vertex shader et le vertex pulling à partir de n'importe quel type de buffer pour produire la géométrie comme avec un mesh shader, mais je trouve pas ça optimal, c'est plus pour l'ancien hardware et la compatilbité. Par exemple pour générer une heightmap juste à partir des heights. Mais le soucis c'est que dans le vertex shader on ne peut pas générer de primitives, donc, pour générer des triangles strips à partir des heights de la height map..., ce qui est beaucoup plus simple côté éditeur, car, plus besoin de modifier les heights des triangles strips côté CPU ce qui était un vrai enfer vu que le mesh shader peut générer les triangles strips. Raison pour laquelle j'ai acheté du nouveau hardware. Je suis tranquille comme ça, et je pense pas que j'aurais encore besoin de carte graphique avant de longue années. (Avant la sortie de mon premier jeux)
Partager