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
|
// On remplit le tableau de valeur pour la vue de cote
cout << "Vue de cote" << endl;
int cmpH=this->GetSize().GetHeight()-cote-marge;
glEnable(GL_SCISSOR_TEST);
glScissor(0, cmpH, hauteur,nbImage);
glViewport(0, cmpH, hauteur,nbImage);
for(int z = 0 ; z < nbImage ; z++) {
for(int y = 0 ; y < hauteur ; y++) {
vueCote[y + z * hauteur] = don->imageSequin[0]->valeurs[(z * largeur * hauteur) + y * largeur + currentX];
}
}
// ICI CA MARCHE
glDrawPixels(hauteur,nbImage , GL_RGB, GL_UNSIGNED_BYTE, don->imageSequin[0]->keepRGB(vueCote,nbImage ,hauteur));
SwapBuffers();
sleep(1);
// On recolorie tout en noir
glScissor(0,0,s.GetWidth()+marge, s.GetHeight()+marge);
glViewport(0,0,s.GetWidth()+marge, s.GetHeight()+marge);
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT); //Efface le frame buffer et le Z-buffer
SwapBuffers();
// On réduit la zone de dessin
glScissor(0, cmpH, hauteur,nbImage);
glViewport(0, cmpH, hauteur,nbImage);
// On build une texture2D
GLuint m_Textures_numi = -1;
glGenTextures(1,&m_Textures_numi);
glBindTexture(GL_TEXTURE_2D,m_Textures_numi);
glTexImage2D(GL_TEXTURE_2D,0, GL_RGB, hauteur,nbImage, 0, GL_RGB, GL_UNSIGNED_BYTE, don->imageSequin[0]->keepRGB(vueCote, nbImage,hauteur));
// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_S, GL_CLAMP);
// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_WRAP_T, GL_CLAMP);
// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MAG_FILTER, GL_LINEAR);
// glTexParameterf(GL_TEXTURE_2D, GL_TEXTURE_MIN_FILTER, GL_LINEAR);
// glTexEnvf(GL_TEXTURE_ENV, GL_TEXTURE_ENV_MODE, GL_DECAL);
glEnable(GL_TEXTURE_2D); // Activation des Textures2D
glShadeModel(GL_SMOOTH); // Mode d'application
// On dessine le carré et on lui plaque la texture
GLfloat minX=-1.0,maxX=1.0f;
glClear(GL_COLOR_BUFFER_BIT | GL_DEPTH_BUFFER_BIT);
glEnable(GL_COLOR_MATERIAL);
glBegin(GL_QUADS);
glTexCoord2f(0.0f, 0.0f);
glVertex2f(minX, minX); //glVertex3f(-0.20, -0.1, 0.0);
glTexCoord2f(0.0f, 1.0f);
glVertex2f(minX, maxX); //glVertex3f(-0.2, 0.1, 0.0);
glTexCoord2f(1.0f, 1.0f);
glVertex2f(maxX, maxX); //glVertex3f(0.0, 0.2, 0.0);
glTexCoord2f(1.0f, 0.0f);
glVertex2f(maxX, minX); //glVertex3f(0.0, -0.1, 0.0);
//delete(RGBA);
glEnd();
// cmpL+=(cote+marge);
// ICI RIEN A FAIRE J'OBTIENS UN CARRE BLANC DE LA BONNE TAILLE MAIS BLANC !
cout << "PRE-TEMPO" <<endl;
SwapBuffers();
sleep(2);
cout << "TEMPO" <<endl; |
Partager