Cel shading utilisant les shaders (glsl)

Soyez le premier à donner votre avis sur cette source.

Vue 12 389 fois - Téléchargée 1 151 fois

Description

L'application présente un rendu cel-shading en OpenGL.
L'éclairage (diffus et spéculaire) est géré grâce aux shaders
J'ai utilisé la GLSL pour les shaders
Pour comprendre le code des shaders (fichiers .vert et .frag), il faut d'une part connaître la GLSL,
d'autre part être initié aux principes de l'illumination.

Les contours de l'objet sont faits en OpenGL (sans les shaders).

Conclusion :


Il est possible de naviguer autour de l'objet à l'aide de la souris (clic + déplacement)

Tutoriel pour le modèle d'éclairage (à la fin du pdf) :
http://www.typhoonlabs.com/tutorials/glsl/Chapter_3.pdf

Tutoriel pour la GLSL :
http://www.lighthouse3d.com/opengl/glsl/

Merci à Youri pour son Loader ASE !

Codes Sources

A voir également

Ajouter un commentaire Commentaires
Messages postés
229
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
20 août 2014

great !! merci !!!
Messages postés
3
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
19 avril 2007

Voilà c'est corrigé.
Content que mon code puisse t'aider :-)
Messages postés
229
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
20 août 2014

Compilé avec Code::Block + Mingw sans problème après quelques modifs pour les inclusions

je m'inspirerai de ton code lorsque je me mettrai sérieusement aux shaders GLSL ;-)
Messages postés
3
Date d'inscription
mardi 24 août 2004
Statut
Membre
Dernière intervention
19 avril 2007

Merci shenron666 pour tes deux commentaires.
Je prends note de tes remarques et je modifierai mon code dès que possible pour que ça soit plus "propre".

Et merci pour la note ! :-)
Messages postés
229
Date d'inscription
dimanche 14 septembre 2003
Statut
Membre
Dernière intervention
20 août 2014

parlons un peu du code, histoire de faire quelques améliorations :
- si tu fais du C++ (main.cpp = c++) tu n'utilises pas malloc et free mais new et delete
- en plus dans setShaders tu fais un delete d'un pointeur alloué avec malloc :pasbien: :taper: ^^
- de même pour printf, c'est pas du c++, tu mélanges du std::cout avec :pasbienbis:
- tant qu'à utiliser la std, laisses tomber FILE et stdio, la stdlib et les fstream les remplaceront

bon courage ;-)
Afficher les 8 commentaires

Vous n'êtes pas encore membre ?

inscrivez-vous, c'est gratuit et ça prend moins d'une minute !

Les membres obtiennent plus de réponses que les utilisateurs anonymes.

Le fait d'être membre vous permet d'avoir un suivi détaillé de vos demandes et codes sources.

Le fait d'être membre vous permet d'avoir des options supplémentaires.