J'ai réussi sans problème à faire les 3 premiers chapitres, j'arrive à créer une fenêtre avec SDL et à dessiner un triangle en 2D. C'est quand on commence à utiliser les shaders (https://openclassrooms.com/courses/developpez-vos-applications-3d-avec-opengl-3-3/introduction-aux-shaders-1) que mon programme ne fonctionne plus très bien. Il compile sans problème, sans me signaler d'erreur, il crée une fenêtre mais le triangle n'apparait pas. J'ai l'impression que le problème vient des shaders, il y a peut-être un problème d'incompatibilité avec ma carte graphique (NVIDIA GeForce 9400M), j'ai cherché mais je n'ai pas trouvé de solution.
J'ai testé différente version de shaders, à part me dire qu'il y a un problème de compatibilité (ce qui n'arrive pas avec la version 150 core), cela ne change rien. Ayant un mac, je suis allée voir le tutoriel un peu plus loin afin de pouvoir coder sur mon ordinateur (https://openclassrooms.com/courses/developpez-vos-applications-3d-avec-opengl-3-3/les-vertex-array-objects#/id/r-964710), donc normalement cela ne devrait pas venir de là.
Si vous pouvez m'aider, je vous en serez fort reconnaissante
Euh... j'ai suivi le tuto, donc je ne sais pas trop
Mais ça y est, j'ai trouvé le problème, il vient de la version des shaders, j'ai du remplace "#version 150 core" par "#version 120"... Le triangle s'affiche mais ne se colorie pas comme il devrait.
Voici un exemple de code (fichier couleur2D.frag) :
// Version du GLSL
#version 120
// EntrÈe
attribute vec3 color;
// Sortie
varying vec4 out_Color;
// Fonction main
void main() { // Couleur finale du pixel
out_Color = vec4(color, 1.0); }
Le soucis maintenant, c'est que quand je compile, j'ai une erreur comme quoi il ne comprend pas le mot "attribute"... mais je ne sais pas par quoi le remplace x)
Et pour répondre à ta question dragonjoker, je dois me former à OpenGL pour un projet d'informatique à la fac, le but étant de créer un volume en 3D à partir d'un gabarit 2D grâce à une rotation
c'était comme ça avant, c'est moi qui ai remplacé in par attribute et varying par out parce que il ne les reconnaissait pas ^^' j'ai un ami qui m'a dit que les "in" et "out" n'étaient arrivés que après la version 1.20
mais sinon, ma prof m'a dit de laisser tomber les shaders, que je n'en avais pas l'utilité donc je vais oublié tout ça et chercher un tuto pour utiliser openGL sans les shader
euh... c'est ma prof qui m'a dit de faire sans... et puis si les shaders ne fonctionnent pas sur mon ordi et que c'est possible de faire sans, je ne vais pas me casser la tête surtout que le but de notre travail n'est pas de faire un jeu vidéo, juste de créer un volume à partir d'un gabarit 2D
j'ai pourtant suivi le tuto et j'ai utilisé les fichiers du tuto, j'ai une erreur comme quoi la version n'est pas supportée et si j'ai beau la changer, ça ne marche toujours pas x)
problème avec les shaders sur openGL
× Après avoir cliqué sur "Répondre" vous serez invité à vous connecter pour que votre message soit publié.
× Attention, ce sujet est très ancien. Le déterrer n'est pas forcément approprié. Nous te conseillons de créer un nouveau sujet pour poser ta question.
Si vous ne trouvez plus rien, cherchez autre chose.
Si vous ne trouvez plus rien, cherchez autre chose.
Mes articles | Nazara Engine | Discord NaN | Ma chaîne Twitch (programmation)
Si vous ne trouvez plus rien, cherchez autre chose.