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

J´aide les personne en C/C++

0[0]7
0[0]7
Niveau 6
17 décembre 2004 à 19:03:13

Ah oui, c´est ça. :-)

J´avais déjà créé des fichiers du même nom, et j´avais beau cliquer sur la croix, donc le fermer, ça restait dans les processus utilisé.

Je les ai supprimés, et le compilement a bien réussi.

Mais, l´application, ça créé une fenêtre toute noir . .. Sans le triangle qu´il devrait y avoir, comme si j´avais pas mis la fonction dans le code.

0[0]7
0[0]7
Niveau 6
17 décembre 2004 à 19:13:11

J´ai essayé de le refaire, de recompiler, mais maintenant, quand je lance l´executable, bah, ça fait rien . .. Une fenêtre, mais . .. comme transparente, on voit à travers . ..

0[0]7
0[0]7
Niveau 6
18 décembre 2004 à 14:31:59

Hmm, Lapintade avait fait une sorte de " cours", enfin nan, un test. Il nous disait ce qu´il fallait faire, et avec un tuto à part, on doit essayer de le faire. Vous pouvez me donner le lien :svp: :-)

Ou alors, juste la page d´accueil de son site . ..

Et ensuite, j´ai fait ça :

  1. include < gl/glut.h>

int WindowName;

void Reshape(int width, int height)
{
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45,
float(width)/float(height),
0,
100);
glMatrixMode(GL_MODELVIEW);
}

void Draw()
{
glClear(GL_COLOR_BUFFER_BIT |
GL_DEPTH_BUFFER_BIT);
}

void DrawGLScene(GLvoid) // Here´s Where We Do All The Drawing
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer
glLoadIdentity();
glTranslatef(-1.5f,0.0f,-6.0f);
glBegin(GL_TRIANGLES); // Drawing Using Triangles
glVertex3f( 0.0f, 1.0f, 0.0f); // Top
glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left
glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right
glEnd();
glTranslatef(3.0f,0.0f,0.0f);
glBegin(GL_QUADS); // Draw A Quad
glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left
glVertex3f( 1.0f, 1.0f, 0.0f); // Top Right
glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right
glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left
glEnd(); // Done Drawing The Quad

}

int main( int argc, char *argv[ ], char *envp[ ] )
{
glutInit(&, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(640,480);
WindowName = glutCreateWindow("Ma première fenêtre OpenGL ! ");
glutFullScreen();

glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);
DrawGLScene();

glutMainLoop();

return 0;
}

Comment faire pour afficher " DrawGLScene" ? Parce que là, la compilation marche, mais quand j´lance, ça affiche pas . ..

:merci:

JeanYvesYves
JeanYvesYves
Niveau 10
18 décembre 2004 à 14:42:53

met :

glutSwapBuffers();

juste a la fin de ton drawglscene

0[0]7
0[0]7
Niveau 6
18 décembre 2004 à 14:53:40
  1. include < gl/glut.h>

int WindowName;

void Reshape(int width, int height)
{
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45,
float(width)/float(height),
0,
100);
glMatrixMode(GL_MODELVIEW);
}

void Draw()
{
glClear(GL_COLOR_BUFFER_BIT |
GL_DEPTH_BUFFER_BIT);
}

void DrawGLScene(GLvoid) // Here´s Where We Do All The Drawing
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); // Clear The Screen And The Depth Buffer
glLoadIdentity();
glTranslatef(-1.5f,0.0f,-6.0f);
glBegin(GL_TRIANGLES); // Drawing Using Triangles
glVertex3f( 0.0f, 1.0f, 0.0f); // Top
glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left
glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right
glEnd();
glTranslatef(3.0f,0.0f,0.0f);
glBegin(GL_QUADS); // Draw A Quad
glVertex3f(-1.0f, 1.0f, 0.0f); // Top Left
glVertex3f( 1.0f, 1.0f, 0.0f); // Top Right
glVertex3f( 1.0f,-1.0f, 0.0f); // Bottom Right
glVertex3f(-1.0f,-1.0f, 0.0f); // Bottom Left
glEnd();

glutSwapBuffers(); // Done Drawing The Quad

}

int main( int argc, char *argv[ ], char *envp[ ] )
{
glutInit(&, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(640,480);
WindowName = glutCreateWindow("Ma première fenêtre OpenGL ! ");
glutFullScreen();

glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);
DrawGLScene();

glutMainLoop();

return 0;
}

Normalement, ça ouvre une fenêtre DOS, puis une autre fenêtre, avec l´OpenGL.
La, ça créé une fenêtre DOS, mais pas le truc OpenGL.

:merci: d´avance

JeanYvesYves
JeanYvesYves
Niveau 10
18 décembre 2004 à 15:06:08

glutDisplayFunc(Draw); / / faux :

glutDisplayFunc(DrawGLScene);

:rire:

0[0]7
0[0]7
Niveau 6
18 décembre 2004 à 15:11:30

Pour apprendre, d´abord, je recopie le code pour voir s´il marche, et ensuite j´le recopie.

J´en était qu´au premier point :-p

Merci!

0[0]7
0[0]7
Niveau 6
18 décembre 2004 à 15:53:40

Dans " glTranslatef(x,y,z)" et " glVertex(x,y,z)", je comprends pas trop ce que c´est, " z".

Merci d´avance. :-)

jejej
jejej
Niveau 9
18 décembre 2004 à 15:59:21

z , c la profondeur
x c l´horizontale , y la verticale , et z la profondeur , je pense qu´on doit voir ca en math dans une classe ou une autre , mais c pas dur de s´en servir je pense .

gl translate(x,y,z)
il deplace la camera dans le plan
si z = -6 il recule la camera par exemple
( camera je ve dire la scene affichee a l´ecrna je pense )

gl vertex ( x,y,z )
il cre un point de coordonnees x en horizontale , y en verticale et z en profondeur

jejej
jejej
Niveau 9
18 décembre 2004 à 16:07:13

Hmm, Lapintade avait fait une sorte de " cours", enfin nan, un test. Il nous disait ce qu´il fallait faire, et avec un tuto à part, on doit essayer de le faire. Vous pouvez me donner le lien

Ou alors, juste la page d´accueil de son site . . .

http://perso.wanadoo.fr/ck/Langages.htm
et tu vas dans " methode NGCK , en haut de la page "

sinon , pour les tutos de NeHe , et avec dev cpp , moi j´ai pas eu de problèmes majeurs avec , jsuqu´au tutos 5 , a partir du moment ou il commence a utiliser la lib GLAUX , elle est pas fournie avec dev cpp , et situ veux pouvoir avancer dans les tutos tu devras chercher la lib , le . a et le . dll sur internet . ..
enfin je dis ca mais si ca se toruve tu les a deja . ..
bref

Camus34
Camus34
Niveau 7
18 décembre 2004 à 16:36:53

Besoin urgent de programeur c++ pour un projet de jeu, si vous ete interesser aller voir cet page pour plus d´info.
https://www.jeuxvideo.com/forums/1-31-8333463-1-0-1-0-0.htm

JeanYvesYves
JeanYvesYves
Niveau 10
18 décembre 2004 à 18:45:13

0[0]7 >
il faut bien comprends a quoi te sert OpenGL :
il te sert a placer des triangles dans l´espace ( en 3D, donc tu as 3 coordonnées x,y,z)
il te permet de placer une caméra ou tu veux dans l´espace,
puis, c´est OpenGL qui te calcule automatiquement ce que vois la caméra, et y projette sur ton écran !
Toi, tu travailles dans l´espace 3D, donc x,y,z

camus34 > pas le temps de m´investir dans un gros projet. Cependant, si tu bloques sur un point en particulier dans ton programme, expose le, et j´essaierai de te trouver une solution.

0[0]7
0[0]7
Niveau 6
18 décembre 2004 à 18:55:07

Dans les jeux style Counter ( -Strike), en faîtes, ils font QUE ce que tu vois, où y font toute la carte, puis ce que tu vois par rapport à ça ? Y z´utilise la profondeur, avec un nombre négatif, donc derrière, & tu le vois pas ?

C´est un peu flou ce que j´viens de dire :-p

Sinon :

  1. include < gl/glut.h>

int WindowName;

void Reshape(int width, int height)
{
glViewport(0,0,width,height);
glMatrixMode(GL_PROJECTION);
glLoadIdentity();
gluPerspective(45,
float(width)/float(height),
0,
100);
glMatrixMode(GL_MODELVIEW);
}

void Draw()
{
GLfloat rtri;

glClear(GL_COLOR_BUFFER_BIT |
GL_DEPTH_BUFFER_BIT);
glMatrixMode(GL_MODELVIEW);
glLoadIdentity();
gluLookAt(0,0,-10,0,0,0,0,1,0);

glRotatef(rtri,0.0f,1.0f,0.0f); // Rotate The Triangle On The Y axis ( NEW )
glBegin(GL_TRIANGLES); // Start Drawing A Triangle
glColor3f(1.0f,0.0f,0.0f); // Set Top Point Of Triangle To Red
glVertex3f( 0.0f, 1.0f, 0.0f); // First Point Of The Triangle
glColor3f(0.0f,1.0f,0.0f); // Set Left Point Of Triangle To Green
glVertex3f(-1.0f,-1.0f, 0.0f); // Second Point Of The Triangle
glColor3f(0.0f,0.0f,1.0f); // Set Right Point Of Triangle To Blue
glVertex3f( 1.0f,-1.0f, 0.0f); // Third Point Of The Triangle
glEnd();

glutSwapBuffers();
glutPostRedisplay();
}

int main( int argc, char *argv[ ], char *envp[ ] )
{
glutInit(&, argv);
glutInitDisplayMode(GLUT_RGBA | GLUT_DOUBLE | GLUT_DEPTH);
glutInitWindowSize(640,480);
WindowName = glutCreateWindow("Ma première fenêtre OpenGL ! ");
glutFullScreen();

glutReshapeFunc(Reshape);
glutDisplayFunc(Draw);

glutMainLoop();

return 0;
}

Comment faire une rotation ?

En faîtes, je lis pas les cours, je recopie le code, puis ENSUITE je regarde, et j´essaie de comprendre. J´m´y suis jamais aussi mal pris . .. Donc, quand je recopie le code, je fais des erreurs , et, j´peux pas comprendre . .. :-p

( Je fais ça parce que NeHe --> Anglais )

petitpetro
petitpetro
Niveau 7
18 décembre 2004 à 18:58:00

Vous me conseillez quoi entre SDL et Allegro ?
Et quel sont les differences ?

0[0]7
0[0]7
Niveau 6
18 décembre 2004 à 19:11:16

Hmm, excusez, j´avais confondu " rotation" et " inclinaison" :-)

JeanYvesYves
JeanYvesYves
Niveau 10
18 décembre 2004 à 19:12:34

dans les jeux comme counter strike : ils font TOUTE la carte. ( en réalité, il y a des optimisations, mais pour le moment oublie)
le principe, c´est qu´ils affichent toute la carte, puis ensuite, toi tu bouges ta caméra et le logiciel calcule ce que tu vois :)
tu ne bosses pas dans l´écran rendu, tu bosses dans l´espace 3D :)

petitpetro > perso je ne connais que SDL

JeanYvesYves
JeanYvesYves
Niveau 10
18 décembre 2004 à 19:59:44

glRotate pour tourner.

On ne parle pas d´inclinaison en 3d : on parle de translations, de rotations, et de redimentionnement ( scale en anglais)

glaab
glaab
Niveau 5
18 décembre 2004 à 20:27:04

vous vous y conaisé en javascript

il me dit kil ya une erreur a
var awbMNBSpm=new awbmnbspm();

si vous pouver me le rectifier, c pour un menu

voila le script complet

< HTML>
< body>
< !-- PLEASE INSERT THESE CODES BETWEEN < BODY> . .. < /BODY> TAGS! -->
< !-- START Javascript Menu Builder GOLD 1.0 config parameters. Don´t modify these codes by yourself -->
< script type=´text/javascript´ src=´awjsmenugold10trial.js´></script>
< script type=´text/javascript´>
var awbMNBSpm=new awbmnbspm();
awjsmngold10=new
TJSMenuType2("awjsmngold10","",0,1,0,0,0,0,1,1000,
2,"arial,helvetica,times new roman",12,0,0,2,"#000000",40,15,1,5,1,"");

awjsmngold10.awBmnbspM("i0","","Menu","","_self",8
0,20,"","","#000000","#83C0C0","#FF0000","#008040"
,"");

awjsmngold10.awBmnbspM("i1","i0","News","","_self"
,80,20,"","","#000000","#83C0C0","#FF0000","#00804
0","");

awjsmngold10.awBmnbspM("i2","i1","today","","_self
",80,20,"","","#000000","#83C0C0","#FF0000","#0080
40","");

awjsmngold10.awBmnbspM("i3","i1","soon","","_self"
,80,20,"","","#000000","#83C0C0","#FF0000","#00804
0","");

awjsmngold10.awBmnbspM("i4","i0","lien","","_self"
,80,20,"","","#000000","#83C0C0","#FF0000","#00804
0","");

awjsmngold10.awBmnbspM("i5","i4","www.jeuxvideo.co
m","www.jeuxvideo.com","_self",80,20,"","","#00000
0","#83C0C0","#FF0000","#008040","");

awjsmngold10.awBmnbspM("i6","i4","www.pixmania.com
","www.pixmania.com","_self",80,20,"","","#000000"
,"#83C0C0","#FF0000","#008040","");

awjsmngold10.awBmnbspM("i7","i0","Contact","","_se
lf",80,20,"","","#000000","#83C0C0","#FF0000","#00
8040","");

awjsmngold10.awBmnbspM("i8","","Rancoeur","","_sel
f",80,20,"","","#000000","#83C0C0","#FF0000","#008
040","");
awjsmngold10.awBmnbspM("i9","i8","Bande
Anonce","","_self",120,20,"","","#000000","#83C0C0
","#FF0000","#008040","");

awjsmngold10.awBmnbspM("i10","i8","Images","","_se
lf",120,20,"","","#000000","#83C0C0","#FF0000","#0
08040","");

awjsmngold10.awBmnbspM("i11","i8","Commentaires","
","_self",120,20,"","","#000000","#83C0C0","#FF000
0","#008040","");
awjsmngold10.awBmnbspM("i12","","Dernier
espoir","","_self",120,20,"","","#000000","#83C0C0
","#FF0000","#008040","");
awjsmngold10.awBmnbspM("i13","i12","Bande
Anonce","","_self",120,20,"","","#000000","#83C0C0
","#FF0000","#008040","");

awjsmngold10.awBmnbspM("i14","i12","Images","","_s
elf",120,20,"","","#000000","#83C0C0","#FF0000","#
008040","");

awjsmngold10.awBmnbspM("i15","i12","Commentaires",
"","_self",120,20,"","","#000000","#83C0C0","#FF00
00","#008040","");
awjsmngold10.awBmnbspM("i16","","Silva
Sacer","","_self",120,20,"","","#000000","#83C0C0"
,"#FF0000","#008040","");
awjsmngold10.awBmnbspM("i17","i16","Bande
Anonce","","_self",120,20,"","","#000000","#83C0C0
","#FF0000","#008040","");

awjsmngold10.awBmnbspM("i18","i16","Images","","_s
elf",120,20,"","","#000000","#83C0C0","#FF0000","#
008040","");

awjsmngold10.awBmnbspM("i19","i16","Commentaires",
"","_self",120,20,"","","#000000","#83C0C0","#FF00
00","#008040","");
awjsmngold10.awBmNBspm();
< /script>
< noscript>Your browser does not support Javascript!</noscript>
< !-- END Javascript Menu Builder GOLD 1.0 config parameters -->
< !-- PLEASE INSERT THESE CODES BETWEEN < BODY> . .. < /BODY> TAGS! -->
< /body>
< /HTML>

0[0]7
0[0]7
Niveau 6
19 décembre 2004 à 01:28:27

Leçon 4 de NeHe. Je copie/colle la fonction :

int DrawGLScene(GLvoid)
{
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glLoadIdentity();
glTranslatef(-1.5f,0.0f,-6.0f);
glRotatef(rtri,0.0f,1.0f,0.0f);
glBegin(GL_TRIANGLES);
glColor3f(1.0f,0.0f,0.0f);
glVertex3f( 0.0f, 1.0f, 0.0f);
glColor3f(0.0f,1.0f,0.0f);
glVertex3f(-1.0f,-1.0f, 0.0f);
glColor3f(0.0f,0.0f,1.0f);
glVertex3f( 1.0f,-1.0f, 0.0f);
glEnd();

glLoadIdentity(); glTranslatef(1.5f,0.0f,-6.0
f); glRotatef(rquad,1.0f,0.0f,0.0f); glColor3
f(0.5f,0.5f,1.0f); glBegin(GL_QUADS); glVe
rtex3f(-1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f, 1.0f, 0.0f);
glVertex3f( 1.0f,-1.0f, 0.0f);
glVertex3f(-1.0f,-1.0f, 0.0f);
glEnd();
rtri+=0.2f;
rquad-=0.15f;
return TRUE;
}

Et il me dit qu´il y a une erreur à " Return TRUE;". Je devine qu´il va falloir faire une condition plus tard : if ( DrawGLScene() == TRUE { DrawGLScene } / /dîtes si j´me trompe :-°

Mais, comment enlever l´erreur ?

LGV
LGV
Niveau 28
19 décembre 2004 à 02:21:56

TRUE doit etre undefined avec tes includes, essaye true ( en minuscules) à la place

au passage, le return true ne sert absolument à rien puisque c´est la seule possibilité.. autant faire une fonction qui retourne void. Tant qu´a y etre, DrawGLScene n´appelle pas la fonction, ça te renvoi le pointeur sur la fonction ( l´adresse du code de la fonction quoi) ; et faire ce que tu proposes ( if fct() fct) appelerai DEUX fois la fonction, qui n´est pas ce qu´on veut : en cas d´erreur dans la fonction de rendu, tu prefererai afficher une info de debuggage, logguer le code d´erreur, ou autre.

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