bonjour
je travaille avec opengl avec visual studion 2010
je travaille en 3D
j'ai crée un carré rouge sur la surface et je veux mettre sur ce carré un triangle jaune mais lorsque j'affiche le triangle ne se colore pas bien avec le jaune : je sais pas pourquoi
voici le code
est ce que vous avez une idée
merci
Code : Sélectionner tout - Visualiser dans une fenêtre à part
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
 
#include "stdafx.h"
#include <stdlib.h>
#include <stdio.h>
#include <time.h>
#include <Windows.h>
#include <GL/glut.h>
/* l'heure systeme
 
	SYSTEMTIME Time;
    
    GetLocalTime(&Time);
    
    printf("Nous sommes le : %02d/%02d/%04d.\n",
    Time.wDay, Time.wMonth, Time.wYear);
 
    printf("Et il est : %02dh %02dmn %02ds %03dms.\n",
    Time.wHour, Time.wMinute, Time.wSecond, Time.wMilliseconds);
 
*/
 
 
static void key(unsigned char k, int x, int y)
{
  switch (k) {
  case 27:  //Echaper
    exit(0);
    break;
  default:
    return;
  }
  glutPostRedisplay();
}
void drawTriangle (GLfloat x1, GLfloat y1, GLfloat x2, 
    GLfloat y2, GLfloat x3, GLfloat y3, GLfloat z)
{
   glBegin (GL_TRIANGLES);
   glVertex3f (x1, y1, z);
   glVertex3f (x2, y2, z);
   glVertex3f (x3, y3, z);
   glEnd ();
}
 
void Dessiner()
{
	glClear( GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT );
 
    glMatrixMode( GL_MODELVIEW );
    glLoadIdentity( );
 
    gluLookAt(5.5,6.5,3,0,0,0,0,0,1);
 
 
	glColor3ub(255,0,0);
	glBegin(GL_QUADS);
		glVertex3d(6,-6,0);
		glVertex3d(-6,-6,0);
		glVertex3d(-6,6,0);
		glVertex3d(6,6,0);
	glEnd();
 
	glColor3f(0,1,0);
	drawTriangle(1.6,1.6,7,1.6,1.6,7,0);
 
	glColor3f(0,1,0);
	drawTriangle(-1.6,1.6,-7,1.6,-1.6,7,0);
 
	// les axes
	glColor3ub(255,0,255);
	glBegin(GL_LINES);
		glVertex3d(1,0,0);
		glVertex3d(0,0,0);
	glEnd();
	//
	glColor3ub(0,255,0);
	glBegin(GL_LINES);
		glVertex3d(0,1,0);
		glVertex3d(0,0,0);
	glEnd();
	//
	glColor3ub(0,255,255);
	glBegin(GL_LINES);
		glVertex3d(0,0,1);
		glVertex3d(0,0,0);
	glEnd();
 
	glFlush();
 
}
int main(int argc, char** argv)
{
 
	glutInit(&argc, argv);
	//glutInitDisplayMode(  GLUT_SINGLE | GLUT_RGB | GLUT_DEPTH );
	glutInitWindowSize(800,500);
	glutInitWindowPosition(50,50);
 
	glutCreateWindow("fenetre OpenGl");
 
	glMatrixMode( GL_PROJECTION );
    glLoadIdentity();
    gluPerspective(40,(double)640/480,1,100);
    glEnable(GL_DEPTH_TEST);
 
	glutDisplayFunc(Dessiner);
 
 
 
	//Dessiner();
	glutKeyboardFunc(key);
	glutMainLoop();
	return 0;
}