dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 2008
-
25 août 2005 à 20:33
cs_erazor
Messages postés85Date d'inscriptionjeudi 7 février 2002StatutMembreDernière intervention 8 février 2007
-
28 oct. 2005 à 11:53
bonjour,
J'ai reussi a mettre en place le multitexturing avec opengl, j'obtiens
un melange homogene entre textures sur un polygone mais le
probleme est que l'eclairage se desactive des que j'utilise les
coordonnées de textures :
glMultiTexCoord2fARB( GL_TEXTURE0_ARB, u, v);
si je reviens aux coordonnées classiques avec:
glTexCoord2f( u, v);
la l'eclairage reviens, mais bien sur le multitexturing n'apparait plus!
Comment faire du multitexturing avec de l'eclairage?? Merci
j'ai parcouru pas mal de doc sur le multitexturing il y a qques jours
mais je n'ai jamais vu ce problème (je ne cherchais pas de côté là non
plus)
je sais que dans son tuto, NeHe désactive la lumière avant d'effectuer
le multitexturing et la réactive après, mais ça n'a sûrement rien à
voir, je crois que c'est nécessaire pour le bump mapping...
enfin bref, j'essaie de te donner des pistes... mais je ne peux malheureusement pas t'en dire plus.
Si tu trouve un réponse, aussi conne soit elle, postes là ici, ça m'intéresse, tkx.
luhtor
Messages postés2023Date d'inscriptionmardi 24 septembre 2002StatutMembreDernière intervention28 juillet 20086 26 août 2005 à 10:47
"Lorsqu'on applique une texture à un fragment, seule la couleur
principale est combinée aux couleurs des texels. La couleur principale
peut etre le résultat de calculs d'éclairage ou glColor" Donc
normalement il n'y a pas de problème.
Tiens, pourquoi tu utilises l'extension ARB ? Dans la 1.4, c'est par défaut. Donc on utilise
dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 20081 27 août 2005 à 00:28
Ben en fait je me suis inspiré d'une source existante ou il le
multitexturing est implémenté mais pas l'eclairage qui va avec! je vous
mets les paries interessantes du source:
j'ai un gros prb avec cette focntion ! Je la comprends que tres peu et
sur internet pas moyen de trouver de la doc qui explicite tous ces
paramètres (enfin j'ai peut etre trouvé sur le site des developpeurs
nvidia...mais faut que je telecharge un pdf qui a l'air lourd pour mon
56K) Mais cette fonction donne un truc trop bizarre au rendu! En fait
pour tester j'ai decider de melanger 2 textures sur tous les polygones
d'un objet et ce qui se passe c'est que toutes les zones qui sont
normalement eclairées sont recouverte de la 1ere texture et toutes les
zones d'ombres sont recouvertes par la 2eme texture! Mais il n'y a pas
d'eclairage a part cela.
Sinon g trouvé un autre systeme de paramétrage qui me donne ce que je veut en melangeant de facon homogene les 2 textures:
<hr size="2" width="100%">il prends bcp moins de place! Mais la encore de nouveaux parametres qui m'inspirent pas tellement...
la fct de rendu ne contiient rien de special a par cette fct la
glMultiTexCoord2*(GL_TEXTURE{0..n}, x, y); qui remplace le classique
glTexCoord2f(u,v);
Sinon vous voyez que dans les fcts precedentes g mis tous les
glEnable( GL_TEXTURE_2D ); en commentaires . Je n'ai pas compris du
tout pourquoi dans tous les codes implementant le multitexturing il
reactivait constamment les textures 2D! Surtout que en ne les mettant
pas je n'ai precu aucun changement!
Et la en plus je viens de m'aprecevoir que j'avais laissé un
avant le dessin des polys et c'est ce qui me permet d'obtenir un
melange homogene parce que si je l'enleve je ne vois plus que une
texture! Bref c la mega bidouille ce truc, j'y comprends que dalle! 8O
Et l'extension ARB je suis obligé de l'utiliser pour a ctiver les
textures 0 et 1 et pour paramétrer le melange...efin je crois...
Je suis aller voir le tut de nehe mais g rien trouvé d'interessant pour
resoudre mon prb...et sur opengl.org c'est le néant complet!! Mais
qu'est ce que c'est que ce site! Les seules liens utiles sont tous
morts! Le lien pour la derniere version de opengl mort aussi!
voila et les commentaires qu'ils donnent avec (pas tous):
Dans la première partie, deux objets de texture ordinaires sont mis en
place. Dans la deuxième partie, les deux objets de texture sont
utilisés pour composer deux unités de texture.
Vous n’avez pas trouvé la réponse que vous recherchez ?
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009 27 août 2005 à 13:31
faut que tu me dises où trouver le header gl.h qui contient les fonctions de multitexturing.
J'ai trouvé nul part la dernière version de cet header.
J'ai trouvé une sorte de pack qui contient dex fichiers (glprocs.c et
glprocs.h) à inclure dans nos projets qui charge automatiquement les
extensions contenues dans les versions 1.2 ; 1.3 ; 1.4 et 1.5
dans tous les cas, il faut charger cette extension.
dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 20081 27 août 2005 à 16:00
Ah bon pas d'extensions ARB! Ben tant mieux alors je vais essayer...
Mias le prb c'est que devcpp ne trouve pas de fct
glActiveTexture() dans les headers de opengl il ne trouve que glActiveTextureARB() !!
Et le code qsue tu me propose c'est le mien suaf que tu remplace la fct
glActiveTextureARB() par glActiveTexture() !! Sinon pour la creation de
la texture je fais toujours la methode classique...
NoRabbit les fcts extensions de opengl sont defines dans l'header glext.h dans le repertoire include\gl si tu as devcpp.
Mais en fait tout leprb du non eclairage setrouve dans le prametrage du
multitexturing dans la fct initARBtextures() que je vous est donné
parce que des que je ne l'utilise plus je n'ai plus de multitexturing
mais l'eclairage est la...
NoRabbit
Messages postés224Date d'inscriptionsamedi 26 juillet 2003StatutMembreDernière intervention30 mars 2009 27 août 2005 à 16:50
ok pour glext.h, je sais. Ce que je cherchais à
comprendre, c t comment accéder au multitexturing sans charger les
fonctions nécessaires. Je crois maintenant qu'il est toujours
nécessaire de les charger.
Pour ton problème avec la lumière, tu dois avoir raison, c dans cette fonction et plus précisément cette fonction: "
glTexEnv*(...)"
dletozeun
Messages postés546Date d'inscriptionvendredi 13 février 2004StatutMembreDernière intervention 9 janvier 20081 28 août 2005 à 10:58
oui je confirme le prb venait de cette fct, j'ai recherché de la doc
sur glTexEnv* et j'ai reussi a la paramétré de facon a avoir un melange
des 2 textures tout en gardant l'eclairage...
Mais le nouveau prb c'est que c'est hyper sombre! Pas de trouver
l'interrupteur! lol! J'ai beau changer les caractérsitiques
speculaires, ambientes du matériau et de la lumiere, rien y fait...
Comment faites vous pour augmenter la luminosité d'une scene?