gKit2 light
|
autre solution pour ecrire et tester facilement des shaders : shader_kit.cpp, c'est un petit programme qui compile les shaders, affiche les erreurs de compilation de manière assez lisible, et permet de dessiner un seul triangle ou un mesh. le gros interet de shader_kit est qu'il recharge et recompile les shaders automatiquement lorsqu'ils sont modifiés, ce qui permet de corriger interactivement le source du shader en le modifiant dans un éditeur (ouvert à coté) sans avoir besoin de fermer l'application et de la recharger.
shader_kit est un 'bac à sable' permettant d'écrire et de tester des shaders assez facilement. il permet aussi de charger un objet .obj / wavefront
, des textures et gère une camera que l'on peut contrôler à la souris (cf AppCamera)
comme il n'est pas possible d'écrire une solution totalement générique, shader_kit à des limites :
#ifdef VERTEX_SHADER
, #ifdef FRAGMENT_SHADER
, etc,commencez par compiler shader_kit, si ce n'est pas deja fait :
enregistrez un shader de base dans un ficher shader.glsl
:
exécutez shader_kit avec le nom du fichier en paramètre :
le vertex shader ne compile pas (pour l'instant), shader_kit va afficher les erreurs de compilation :
après quelques modifications, sans fermer la fenetre de shader_kit, on peut dessiner un triangle en initialisant un tableau de positions pour les 3 sommets :
shader_kit recharge et recompile le shader tout seul, lorsqu'il est modifié et enregistré par l'éditeur. pratique non ? vous pouvez aussi appuyer sur la touche R
pour forcer la compilation du shader...
ben non, on peut aussi charger un fichier .obj / wavefront
et des images :
mais en ne dessinant qu'un seul triangle qui couvre tous les pixels de l'image... on peut quand meme faire des choses assez rigolotes avec des formes procédurales, exemple par iq/quillez et la video version longue sur youtube qui explique comment il programme ce genre de choses...
on peut aussi faire du lancer de rayons classique :