CONNEXION
  • RetourJeux
    • Sorties
    • Hit Parade
    • Les + populaires
    • Les + attendus
    • Soluces
    • Tous les Jeux
    • Gaming
  • RetourActu Gaming
    • News
    • Astuces
    • Tests
    • Previews
    • Toute l'actu gaming
  • RetourBons plans
    • Bons plans
    • Bons plans Smartphone
    • Bons plans Hardware
    • Bons plans Image et Son
    • Bons plans Amazon
    • Bons plans Cdiscount
    • Bons plans Decathlon
    • Bons plans Fnac
    • Tous les Bons plans
  • RetourJVTech
    • Actus High-Tech
    • Intelligence Artificielle
    • Smartphones
    • Mobilité urbaine
    • Hardware
    • Image et son
    • Tutoriels
    • Tests produits High-Tech
    • Guides d'achat High-Tech
    • JVTech
  • RetourCulture
    • Actus Culture
    • Culture
  • RetourVidéos
    • A la une
    • Gaming Live
    • Vidéos Tests
    • Vidéos Previews
    • Gameplay
    • Trailers
    • Chroniques
    • Replay Web TV
    • Toutes les vidéos
  • RetourForums
    • Hardware PC
    • PS5
    • Switch 2
    • Xbox Series
    • Switch
    • Pokemon pocket
    • FC 25 Ultimate Team
    • League of Legends
    • Tous les Forums
  • PC
  • PS5
  • Xbox Series
  • Switch 2
  • PS4
  • One
  • Switch
  • iOS
  • Android
  • MMO
  • RPG
  • FPS
En ce moment Genshin Impact Valhalla Breath of the wild Animal Crossing GTA 5 Red dead 2
Liste des sujets

Aide OpenGL

CYBER_BOB
CYBER_BOB
Niveau 10
26 août 2004 à 02:23:17

Bonjour a tous,
voila le code d´une fonction que j´utilise pour faire une translation suivant z:

void anim_translatez(double zdebut, double zfin, double pas, int idtexture)
{
while(zdebut ! = zfin)
{
glBindTexture(GL_TEXTURE_2D, 00); / / texture noir

// efface image precedent
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex3i(-1, -1, zdebut);
glTexCoord2f(0, 1); glVertex3i(-1, 1, zdebut);
glTexCoord2f(1, 1); glVertex3i(1, 1, zdebut);
glTexCoord2f(1, 0); glVertex3i(1, -1, zdebut);
glEnd();

zdebut += pas; / / on avance l´image

glBindTexture(GL_TEXTURE_2D, idtexture); / / texture choisi

// dessine un carre
glBegin(GL_QUADS);
glTexCoord2f(0, 0); glVertex3i(-1, -1, zdebut);
glTexCoord2f(0, 1); glVertex3i(-1, 1, zdebut);
glTexCoord2f(1, 1); glVertex3i(1, 1, zdebut);
glTexCoord2f(1, 0); glVertex3i(1, -1, zdebut);
glEnd();

glFlush(); / / force l´affichage

glutSwapBuffers(); / / on inverse les buffers
glutPostRedisplay(); / / fenetre redessiné
}
}

en fait j´essai de faire la meme chose sur x, mais je n´y arrive pas ! !! :non:
Merci par avance...
Bob

rackhir
rackhir
Niveau 5
26 août 2004 à 02:32:59

oooooooooooooooooooooooooooo

JeanYvesYves
JeanYvesYves
Niveau 10
26 août 2004 à 09:05:59

ça doit venir de la position de ta caméra :)
quelle est elle ?
ton glulookat a quoi comme params ?

xflash-games
xflash-games
Niveau 4
26 août 2004 à 09:09:18

OHHHH!!!
C´est du javata!!!!!
on y comprends rien mais que c bo!
:lol:

JeanYvesYves
JeanYvesYves
Niveau 10
26 août 2004 à 09:37:07

oula, dans " javata", y´a " java" --> BERK ! !
On parle de langage C dans ce topic :)

CYBER_BOB
CYBER_BOB
Niveau 10
26 août 2004 à 14:21:05

voila mon fonction de redimensionnement:

/ / fonction redimensionnemnt
void reshape(int w, int h)
{
glViewport(0, 0, ( GLsizei) w, ( GLsizei) h);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45.0f, ( GLfloat)w/(GLfloat)h, 1.0f, 150.0f);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
}

en fait la fonction pour elle fait bien ce que je veux, une translation suivant z, le truc c´est que quand j´essai de faire la meme chose suivant x, bah ca ne marche pas...
j´aimerais bien avoir des conseils, ou meme un code pourquoi pas ! !!

JeanYvesYves
JeanYvesYves
Niveau 10
26 août 2004 à 14:26:53

tout dépend ce que tu appelles ne pas marcher :)

d´apres ce que j´en déduis, rien n´apparait c´est bien ça ?
tu ne m´as pas montré ta fonction glulookat :)

c´est a dire que je soupçonne que ta caméra soit - par hasard - placée devant ton modele quand tu geres ton z, mais quand tu essaies avec x, ta caméra ne regarde pas au bon endroit !

CYBER_BOB
CYBER_BOB
Niveau 10
26 août 2004 à 14:46:44

bah en fait je procede de la meme facon que pour la fonction sur z, sauf que je deplace les " x"

JeanYvesYves
JeanYvesYves
Niveau 10
26 août 2004 à 14:49:32

certes, j´ai bien compris :)
mais du coup, ton quad n´est plus au meme endroit dans l´espace !
et cependant, ta caméra est, elle, au meme endroit qu´avant, donc elle ne voit plus rien

Un peu comme si je dessine un quad derriere toi : toi tu regardes toujours ton PC, donc tu ne le vois pas !

tu n´as pas de glulookat ?

JeanYvesYves
JeanYvesYves
Niveau 10
26 août 2004 à 14:52:16

je vais te le faire en version mathématique :

on passe en 2D : ton quad devient un segment :

soit le repere O,i,j
place le point A(5,1) et B(5,2) : c´est ton quad

trace les droites y=x et y=-x, mais que la partie telle que x>0
tu as ton champ de vision : tu vois que le segment A,B est dedans

maintenant, inverse les coords x et y de A et B
--> ton segment est hors du champ !
Il faut bouger la caméra :)

CYBER_BOB
CYBER_BOB
Niveau 10
26 août 2004 à 14:56:15

et si je veux rien toucher juste faire avec les coordoné?

JeanYvesYves
JeanYvesYves
Niveau 10
26 août 2004 à 15:02:36

alors il faut que tu mettes ton objet dans le champ de ta caméra :)

je ne sais plus quelle est exactement la position par défaut de la cam :

ce que je sais c´est qu´elle est sur le point 0,0,0, qu´elle regarde selon l´axe Z, donc tu vois le plan formé par les axes x,y

mais essaie :

glTexCoord2f(0, 0); glVertex3i(-xdebut, -1, z);
glTexCoord2f(0, 1); glVertex3i(-xdebut, 1, z);
glTexCoord2f(1, 1); glVertex3i(xdebut, 1, z);
glTexCoord2f(1, 0); glVertex3i(xdebut, -1, z);

et pour z, essaie -10 ou +10 tu me diras si ça marche

CYBER_BOB
CYBER_BOB
Niveau 10
27 août 2004 à 00:46:09

je viens d´essayer et en fait ca fait un truc bizar... la texture s´ettire plus ou moins avec ta fonction ! !!

JeanYvesYves
JeanYvesYves
Niveau 10
27 août 2004 à 01:00:47

lol ! !
normal :)

j´ai mis des -xdebut :)
enleve les - devant les xdebut :)

mais au moins tu la vois ! tu vois que ça venait de la ! n´oublie jamais de mettre un glulookat, car un prog sans glulookat, C sale :)

Koyo-K
Koyo-K
Niveau 9
27 août 2004 à 01:03:45

Cyber_Bob tu es passe par quelle(s) lib(s) avant de te mettre a openGL qui serve à faire des JV ( au cas où tu t´y serais pas mis directement) ?

CYBER_BOB
CYBER_BOB
Niveau 10
27 août 2004 à 01:06:20

tu veux que je mette:

glTexCoord2f(0, 0); glVertex3i(xdebut, -1, z);
glTexCoord2f(0, 1); glVertex3i(xdebut, 1, z);
glTexCoord2f(1, 1); glVertex3i(xdebut, 1, z);
glTexCoord2f(1, 0); glVertex3i(xdebut, -1, z);

bizar ce que tu me dis la ! !!

[LoCkLeSs]
[LoCkLeSs]
Niveau 10
27 août 2004 à 01:08:05

Koyo-K
Posté le 27 août 2004 à 01:03:45
Cyber_Bob tu es passe par quelle(s) lib(s) avant de te mettre a openGL qui serve à faire des JV ( au cas où tu t´y serais pas mis directement) ?

Je pense que si tu as de bonnes bases en C/C++, tu peux commencer directement par Opengl pour créer des jeux.

CYBER_BOB
CYBER_BOB
Niveau 10
27 août 2004 à 01:18:35

bah en fait j´ai un peu tout essayé, j´ai essayé SDL pour la 2D et j´avais testé Irrlicht ( un moteur 3D)... mais j´ai voulu m´aventuré sur autre chose OpenGL directement avec GLUT ! !!

Koyo-K
Koyo-K
Niveau 9
27 août 2004 à 01:27:56

:ok: c´est parce que j´ai du mal a me decider donc je te remercie de m´avoir indiqué ( comme ça j´essaie de pas commencer par un niveau trop haut).

CYBER_BOB
CYBER_BOB
Niveau 10
27 août 2004 à 01:34:12

franchement SDL si tu veux commencer moi j´ai trouver que c´était le top ! !!
irrlicht c´était juste pour voir ( j´avais vu un article dessus dans un magazine)...
OpenGL comme j´ai dit c´était juste pour " voir", que j´y touche pour connaitre un tout petit peu...
mais je pense quand meme que j´avais des bonnes bases quand j´ai commencé tout ca...

Sous forums
  • Aide à l'achat Mac
  • Macintosh
  • Création de Jeux
  • Programmation
  • Création de sites web
  • Linux
  • Internet
  • Steam Deck
  • Hardware
La vidéo du moment