oui, c'est ce que tu fais
Version imprimable
oui, c'est ce que tu fais
ca ne m'avance donc pas cette histoire d'extension.
Quelqu'un a t-il deja fait du render to Texture et peut me dire si je n'ai rien oublié.
Ça devrait fonctionner. Il doit y avoir un bug quelque part dans ton code. Tu devrais nous montrer tes fichiers
voila mes fichiers.
render2texture.rar
je pense qu'il y a tout ce qu'il faut.
J'ai essayé cette technique pour obtenir du motion blur, et j'ai pas réussi à la faire fonctionner non plus :lol: .
Vais quand même regarder, au cas ou ^^.
oui quelle est ta methode pour le faire... comparons les techniques.
motion blur avec render to texture... t'aurais pas trouvé ca par hasard?
Si, exactement ça :lol: ET j'ai pas réussi à l'implémenter dans mon jeu... Mais je réessayerais, j'étais trop pressé pour bien faire.
ca va je ne suis pas seul alors ca me rassure.Citation:
Envoyé par NiuAge
Toujours est-il que je ne peut plus trop avancé sans render to texture.
Donc appel a Témoin:
Si vous avez deja fait du render to texture et que vous avez envi de partagé cette experience : "c'est mon choix" -> 0812 xx xx xx.(1.5€/min)
Plus sérieusement je regarde mon code et celui sur lequel je me base et pas moyen de voir le probleme.
Y'a une initialisation spéciale a faire??
d'apres mon code qui fonctionne, il faut faire :
pour créer une texture de rendu (avec width et height des puissances de 2 bien entendu ;))Code:
1
2
3
4
5
6
7
8
9
10
11
12 glGenTextures(1, &texId);// Génère un ID pour la texture glBindTexture(GL_TEXTURE_2D, texId); // Pointe la texture // Génère la texture OpenGL en mémoire if (useMipMap) { gluBuild2DMipmaps(GL_TEXTURE_2D,GL_RGB,width,height,type,GL_UNSIGNED_BYTE,NULL); } else { glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, width, height, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL);
et pour le rendu :
[edit] une petite demo qui utilise le rendu dans des texture : http://michel.deverdelhan.free.fr/do...water_demo.zipCode:
1
2
3
4
5
6
7
8 glViewport(0,0,bufferSize,bufferSize); glClear(GL_COLOR_BUFFER_BIT|GL_DEPTH_BUFFER_BIT); glLoadIdentity(); gluLookAt (x,y,z,0,0,0,0,1,0); drawScene(); glBindTexture(GL_TEXTURE_2D,renderTextureId) glCopyTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 0, 0, bufferSize, bufferSize, 0);
je suppose que texId et renderTextureId sont des Gluint, masi il doit y avoir un lien entre les deux non ? (genre une égalité?)
ha moui en effet... en fait, texId est un membre d'une classe (texture) et c'est donc bien la même chose que renderTextureId (le copié collé me perdra :lol:)
ca va je m'en doutais donc j'ai pas attendu la reponse pour testé.Citation:
Envoyé par bafman
Il nous perdra tous... lol.Citation:
Envoyé par bafman
par contre j'ai une erreur à la compilation sur cette ligne:
Code:glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 512, 512, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL);
je vois pas là...Citation:
Envoyé par compilateur delphi
ben je vois pas pourquoi il ne veut pas de mon
alors qu'il prend tonCode:
1
2 glTexImage2D(GL_TEXTURE_2D, 0, GL_RGB, 512, 512, 0, GL_RGB, GL_UNSIGNED_BYTE, NULL);
donné en debut de topic...Code:
1
2 glTexImage2D(GL_TEXTURE_2D, 0, 3, 256, 256, 0, GL_RGB, GL_UNSIGNED_BYTE, pData);
toi aussi tu t'est fait avoir au coup du coppié collé ? :roll:
Je me suis fait la meme reflexion, j'ai repris ma ligne de code j'ai changé mon pdata en null il ne me le prend toujours pas..Citation:
Envoyé par bafman
ouaip, la derniere fois : poste 3 de ce sujet.Citation:
Envoyé par bafman
EDIT: si je laisse mon pdata ca compile et execute (ce qui n'est pas une fin en soit, je ne voit toujours rien)
donc a priori ca viendrais du NULL... etrange, normalement on peut passer NULL a la fonction pour lui dire de ne pas l'initialiser (bon apres, mon code est en C++ et je ne sais pas comment fonctionne delphi au niveau du typage...)
Yep damien il a compris. Damien il a fait beaucoup de C avant et Damien vient de passer a delphi (en meme temps qu'opengl).
NULL n'existe pas en delphi donc il a pas compris.... C'est nil qu'il faut utiliser pour un pointeur qui ne pointe sur rien....:sm: <-moi
bon je vois toujours rien.
La fenetre n'a pas besoin d'etre initialisé de maniere spéciale?
non, c'est juste un changement de de viewport et une recuperation de texture standard...
sinon, qu'est ce que tu vois dans la scene que tu souhaite rendre (est ce qu'elle apparait effectivement a l'ecran ?
autre possibilité : changer la couleur de fond entre les 2 rendu (le rendu dans la texture avec un glClearColor(1,0,0) et le rendu normal avec un glClearColor(0,0,0)), ca permet de voir effectivement ce qui et contenu dans la texture.
une couleur unie sur toute ma fenetre.Citation:
Envoyé par bafman
j'ai essayé:Citation:
Envoyé par bafman
glClearColor(1,0,0) pour le netoyage de ma texture.
glClearColor(0,0,0) pour le netoyage de ma scene "finale".
Je vois un fond noir donc le dernier nettoyage effectué fonctionne.
et pas de rectangle rouge ? la quad sur lequel tu affiche ta texture de rendu est bien visible ?