Bonjour,
Je cherche à faire un shader en glsl qui permettrait de générer des ombres au sol par lancer de rayon. C'est-à-dire qu'on pourrait lancer un rayon entre le sol et la lumière et s'il y a un objet entre les deux on dit que le pixel du sol est dans l'ombre.
Voilà comment je vois les choses : je crée un plan, je charge un objet 3D, j'applique un shader sur le plan, dans le vertex shader je mets rien de spécial par contre dans le fragment shader :
-je récupère les coordonnées de ma lumière
-je regarde si l'objet 3D est sur le segment entre la lumière et le fragment actuel et si c'est le cas, on met le fragment actuel dans l'ombre
Je sais créer un plan, charger un modèle 3D, avoir les coordonnées de la lumière, par contre je ne ne sais pas du tout comment savoir si l'objet 3D est sur le trajet entre le fragment et la lumière.
PS : j'ai aussi trouvé une méthode qui fait des ombres parfaites qui s'appelle le "path tracing"; l'inconvénient c'est que pour l'instant tout le monde l'a fait sur des primitives et j'ai rien trouvé sur des modèles 3D importés.
Partager