IdentifiantMot de passe
Loading...
Mot de passe oublié ?Je m'inscris ! (gratuit)
Navigation

Inscrivez-vous gratuitement
pour pouvoir participer, suivre les réponses en temps réel, voter pour les messages, poser vos propres questions et recevoir la newsletter

OpenGL Discussion :

Probleme Texture VBO


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 43
    Par défaut Probleme Texture VBO
    Salut a tous,

    Voila depuis peux je suis passer sous VBO pour créer une maison,
    mais lorsque je compile j'ai un affichage bien plus exécrable à l’écran alors qu'avec les glVertex c’était parfait.

    Question:
    Comment faire pour utiliser glTranslatef sur du VBO apparemment cela ne fonctionne pas [Pour bien placer mon toit sur la maison]?

    Voici le visuel:


    Voici mon code:

    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
     
    void init()
             ////////////////////////////////////////////////////////////////////////
    	//Mur droite - mur face - mur gauche  = 220;
    	////////////////////////////////////////////////////////////////////////
    	GLfloat coordVerTexMur[] = 
    	{ 
    		-5, 6, 0, -5, -5, 0, -5, -5, 5, -5, 6, 5,   // Mur Droite
    		-5, 10, 0, -5, 9, 0, -5, 9, 5, -5, 10, 5,  // Mur Droite
    		-5, 9, 5, -5, 6, 5, -5, 6, 4.5, -5, 9, 4.5, // Mur Droite
    		-5, 9, 1.5, -5, 6, 1.5, -5, 6, 0, -5, 9, 0,   // Mur Droite
     
    		-5, -5, 0, -5, -5, 5, -3, -5, 5, -3, -5, 0,  // Mur face
    		-1, -5, 0, -1, -5, 5, 5, -5, 5, 5, -5, 0,  // Mur face
    		-3, -5, 4, -3, -5, 5, -1, -5, 5, -1, -5, 4,  // Mur face
     
    		5, -5, 0, 5, -1.5, 0, 5, -1.5, 5, 5, -5, 5,     // Mur Gauche
    		5, -1.5, 5, 5, 1.5, 5, 5, 1.5, 4.5, 5, -1.5, 4.5, // Mur Gauche
    		5, -1.5, 0, 5, 1.5, 0, 5, 1.5, 1.5, 5, -1.5, 1.5, // Mur Gauche
    		5, 1.5, 0, 5, 10, 0, 5, 10, 5, 5, 1.5, 5,	  // Mur Gauche
     
    		//------------------------------------------------------------
     
    		11, 0, 0, 0, 0, 5, 11, 5,    // Mur Droite
    		1, 0, 0, 0, 0, 5, 1, 5,    // Mur Droite
    		3, 0, 0, 0, 0, 0.5, 3, 0.5,  // Mur Droite
    		3, 0, 0, 0, 0, 1.5, 3, 1.5,  // Mur Droite
     
    		0, 5, 0, 0, 2, 0, 2, 5,    // Mur face
    		0, 5, 0, 0, 6, 0, 6, 5,    // Mur face
    		0, 1, 0, 0, 2, 0, 2, 1,	 // Mur face									   
     
    		0, 0, 3.5, 0, 3.5, 5, 0, 5,    // Mur Gauche
    		3, 0, 0, 0, 0, 0.5, 3, 0.5,  // Mur Gauche
    		3, 1.5, 0, 1.5, 0, 0, 3, 0,    // Mur Gauche
    		0, 0, 8.5, 0, 8.5, 5, 0, 5  // Mur Gauche
    	};  
    	//Mur
    	glGenBuffers(1, &VBOMur);
    	glBindBuffer(GL_ARRAY_BUFFER, VBOMur);
    	glBufferData(GL_ARRAY_BUFFER, 220 * sizeof(GLfloat), coordVerTexMur, GL_STATIC_DRAW);
     
            ////////////////////////////////////////////////////////////////////////
    	//  Toit 
    	////////////////////////////////////////////////////////////////////////
    	GLfloat coordVertexToitHaut[] = 
    	{
    		-5, 0, 4.55, 1.5, 0, 6.5, 1.5, 15, 6.5, -5, 15, 4.55,
    		8, 0, 4.55, 1.5, 0, 6.5, 1.5, 15, 6.5, 8, 15, 4.55,
     
    		10, 0, 10, 3, 0, 3, 0, 0,
    		10, 0, 10, 3, 0, 3, 0, 0
    	};
    	//Toit
    	glGenBuffers(1, &VBOToit);
    	glBindBuffer(GL_ARRAY_BUFFER, VBOToit);
    	glBufferData(GL_ARRAY_BUFFER, 40 * sizeof(GLfloat), coordVertexToitHaut, GL_STATIC_DRAW);
    }
     
     
    void MurMaisonVBO()
    {
    	////////////////////////////////////////////////////////////
    	//					     Maison							  //
    	////////////////////////////////////////////////////////////
    	glEnable(GL_TEXTURE_2D);
    	glEnable(GL_DEPTH_TEST);
     
    	glBindBuffer(GL_ARRAY_BUFFER, VBOMur);
     
    	glEnableClientState(GL_VERTEX_ARRAY);
    	glEnableClientState(GL_TEXTURE_COORD_ARRAY);
     
    	glVertexPointer(3, GL_FLOAT, 0, BUFFER_OFFSET(0));
    	glTexCoordPointer(2, GL_FLOAT, 0, BUFFER_OFFSET(12 * sizeof(GL_FLOAT)));
    	glBindTexture(GL_TEXTURE_2D, mur->textureID);
    	glDrawArrays(GL_QUADS, 0, 44);
     
    	glDisableClientState(GL_VERTEX_ARRAY);
    	glDisableClientState(GL_TEXTURE_COORD_ARRAY);
    	glBindBuffer(GL_ARRAY_BUFFER, 0);
    }
     
    void ToitMaisonVBO()
    {
    	////////////////////////////////////////////////////////////
    	//					     Toit							  //
    	////////////////////////////////////////////////////////////
    	glEnable(GL_TEXTURE_2D);
    	glEnable(GL_DEPTH_TEST);
     
    	glBindBuffer(GL_ARRAY_BUFFER, VBOToit);
    	glEnableClientState(GL_VERTEX_ARRAY);
    	glEnableClientState(GL_TEXTURE_COORD_ARRAY);
     
    	glVertexPointer(3, GL_FLOAT, 0, BUFFER_OFFSET(0));
    	glTexCoordPointer(2, GL_FLOAT, 0, BUFFER_OFFSET(9 * sizeof(GL_FLOAT)));
    	//glTranslatef(-15, 20, 0); //x:deplacer cote y:avancer z: descendre
    	glBindTexture(GL_TEXTURE_2D, toit2->textureID);
     
    	glDrawArrays(GL_QUADS, 0, 8);
     
    	glDisableClientState(GL_VERTEX_ARRAY);
    	glDisableClientState(GL_TEXTURE_COORD_ARRAY);
    	glBindBuffer(GL_ARRAY_BUFFER, 0);
    }
    Voici le même code avec les glVertex parfaitement mais avec les VBO c'est la croix et la bannière:
    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
     
    void Maison2(){
     
    	glEnable(GL_TEXTURE_2D);
    	glEnable(GL_DEPTH_TEST);
     
    	// sol
    	glBindTexture(GL_TEXTURE_2D, sol->textureID);
    	glBegin(GL_QUADS);
    	glTexCoord2d(-5, 10); glVertex3d(-5, 10, 0);
    	glTexCoord2d(-5, -5); glVertex3d(-5, -5, 0);
    	glTexCoord2d(5, -5); glVertex3d(5, -5, 0);
    	glTexCoord2d(5, 10); glVertex3d(5, 10, 0);
    	glEnd();
     
    	//mur droite
    	glBindTexture(GL_TEXTURE_2D, mur->textureID);
    	glBegin(GL_QUADS);
    	glTexCoord2d(11, 0); glVertex3d(-5, 6, 0);
    	glTexCoord2d(0, 0); glVertex3d(-5, -5, 0);
    	glTexCoord2d(0, 5); glVertex3d(-5, -5, 5);
    	glTexCoord2d(11, 5); glVertex3d(-5, 6, 5);
     
    	glTexCoord2d(1, 0); glVertex3d(-5, 10, 0);
    	glTexCoord2d(0, 0); glVertex3d(-5, 9, 0);
    	glTexCoord2d(0, 5); glVertex3d(-5, 9, 5);
    	glTexCoord2d(1, 5); glVertex3d(-5, 10, 5);
     
    	glTexCoord2d(3, 0); glVertex3d(-5, 9, 5);
    	glTexCoord2d(0, 0); glVertex3d(-5, 6, 5);
    	glTexCoord2d(0, 0.5); glVertex3d(-5, 6, 4.5);
    	glTexCoord2d(3, 0.5); glVertex3d(-5, 9, 4.5);
     
    	glTexCoord2d(3, 0); glVertex3d(-5, 9, 1.5);
    	glTexCoord2d(0, 0); glVertex3d(-5, 6, 1.5);
    	glTexCoord2d(0, 1.5); glVertex3d(-5, 6, 0);
    	glTexCoord2d(3, 1.5); glVertex3d(-5, 9, 0);
    	glEnd();
     
    	//mur face (trou pour porte)
    	glBindTexture(GL_TEXTURE_2D, mur->textureID);
    	glBegin(GL_QUADS);
    	glTexCoord2d(0, 5); glVertex3d(-5, -5, 0);
    	glTexCoord2d(0, 0); glVertex3d(-5, -5, 5);
    	glTexCoord2d(2, 0); glVertex3d(-3, -5, 5);
    	glTexCoord2d(2, 5); glVertex3d(-3, -5, 0);
     
    	glTexCoord2d(0, 5); glVertex3d(-1, -5, 0);
    	glTexCoord2d(0, 0); glVertex3d(-1, -5, 5);
    	glTexCoord2d(6, 0); glVertex3d(5, -5, 5);
    	glTexCoord2d(6, 5); glVertex3d(5, -5, 0);
     
    	glTexCoord2d(0, 1); glVertex3d(-3, -5, 4);
    	glTexCoord2d(0, 0); glVertex3d(-3, -5, 5);
    	glTexCoord2d(2, 0); glVertex3d(-1, -5, 5);
    	glTexCoord2d(2, 1); glVertex3d(-1, -5, 4);
    	glEnd();
     
    	//mur gauche
    	glBegin(GL_QUADS);
    	glTexCoord2d(0, 0); glVertex3d(5, -5, 0);
    	glTexCoord2d(3.5, 0); glVertex3d(5, -1.5, 0);
    	glTexCoord2d(3.5, 5); glVertex3d(5, -1.5, 5);
    	glTexCoord2d(0, 5); glVertex3d(5, -5, 5);
     
    	glTexCoord2d(3, 0); glVertex3d(5, -1.5, 5);
    	glTexCoord2d(0, 0); glVertex3d(5, 1.5, 5);
    	glTexCoord2d(0, 0.5); glVertex3d(5, 1.5, 4.5);
    	glTexCoord2d(3, 0.5); glVertex3d(5, -1.5, 4.5);
     
    	glTexCoord2d(3, 1.5); glVertex3d(5, -1.5, 0);
    	glTexCoord2d(0, 1.5); glVertex3d(5, 1.5, 0);
    	glTexCoord2d(0, 0); glVertex3d(5, 1.5, 1.5);
    	glTexCoord2d(3, 0); glVertex3d(5, -1.5, 1.5);
     
    	glTexCoord2d(0, 0); glVertex3d(5, 1.5, 0);
    	glTexCoord2d(8.5, 0); glVertex3d(5, 10, 0);
    	glTexCoord2d(8.5, 5); glVertex3d(5, 10, 5);
    	glTexCoord2d(0, 5); glVertex3d(5, 1.5, 5);
    	glEnd();
     
    	//pour boucher entre toit et mur
    	glBegin(GL_TRIANGLES);
    	glTexCoord2d(0, 2); glVertex3d(5, 5, 5);
    	glTexCoord2d(5, 0.5); glVertex3d(0, 5, 6.5); //6.5 hauteur du toit
    	glTexCoord2d(10, 2); glVertex3d(-5, 5, 5);
    	glEnd();
     
    	glBindTexture(GL_TEXTURE_2D, toit->textureID);
    	glBegin(GL_TRIANGLES);
    	glTexCoord2d(0, 2); glVertex3d(5, -5, 5);
    	glTexCoord2d(5, 0.5); glVertex3d(0, -5, 6.5); //6.5 hauteur du toit
    	glTexCoord2d(10, 2); glVertex3d(-5, -5, 5);
    	glEnd();
     
    	//toit
    	glTranslatef(-1.5, -5, 0); //x:deplacer cote y:avancer z: descendre
    	glBindTexture(GL_TEXTURE_2D, toit2->textureID);
    	glBegin(GL_QUADS);
    	glTexCoord2d(10, 0); glVertex3d(-5, 0, 4.55); //4.55 pour pas que ca coupe le mur
    	glTexCoord2d(10, 3); glVertex3d(1.5, 0, 6.5);
    	glTexCoord2d(0, 3);  glVertex3d(1.5, 15, 6.5);
    	glTexCoord2d(0, 0);  glVertex3d(-5, 15, 4.55);
    	glEnd();
     
    	glBegin(GL_QUADS);
    	glTexCoord2d(10, 0); glVertex3d(8, 0, 4.55);
    	glTexCoord2d(10, 3); glVertex3d(1.5, 0, 6.5);
    	glTexCoord2d(0, 3);  glVertex3d(1.5, 15, 6.5);
    	glTexCoord2d(0, 0);  glVertex3d(8, 15, 4.55);
    	glEnd();
    }
    Donc Si une personne a une idée pour m'aider a débloquer de cet impasse cela serais fort appréciable a toute âme charitable merci bien.

  2. #2
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 43
    Par défaut
    Personne aurait une petite idée du problème ?

  3. #3
    Expert confirmé
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 226
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 37
    Localisation : France, Bouches du Rhône (Provence Alpes Côte d'Azur)

    Informations professionnelles :
    Activité : cyber-paléontologue

    Informations forums :
    Inscription : Mai 2010
    Messages : 3 226
    Par défaut
    chez moi gltranslatef marche très bien avec les VBO , alors je pourra pas te dire pourquoi chez toi ça marche pas.

  4. #4
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 43
    Par défaut
    Et bien pour les texture d’où est ce que cela pourrait provenir car la je sèche totalement ?

  5. #5
    Membre éclairé Avatar de Kromagg
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Août 2008
    Messages
    275
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 38
    Localisation : France, Ille et Vilaine (Bretagne)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Opérateur de télécommunications

    Informations forums :
    Inscription : Août 2008
    Messages : 275
    Par défaut
    Citation Envoyé par pouti Voir le message
    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
     
    void init()
             ////////////////////////////////////////////////////////////////////////
    	//Mur droite - mur face - mur gauche  = 220;
    	////////////////////////////////////////////////////////////////////////
    	GLfloat coordVerTexMur[] = 
    	{ 
    		-5, 6, 0, -5, -5, 0, -5, -5, 5, -5, 6, 5,   // Mur Droite
    		-5, 10, 0, -5, 9, 0, -5, 9, 5, -5, 10, 5,  // Mur Droite
    		-5, 9, 5, -5, 6, 5, -5, 6, 4.5, -5, 9, 4.5, // Mur Droite
    		-5, 9, 1.5, -5, 6, 1.5, -5, 6, 0, -5, 9, 0,   // Mur Droite
     
    		-5, -5, 0, -5, -5, 5, -3, -5, 5, -3, -5, 0,  // Mur face
    		-1, -5, 0, -1, -5, 5, 5, -5, 5, 5, -5, 0,  // Mur face
    		-3, -5, 4, -3, -5, 5, -1, -5, 5, -1, -5, 4,  // Mur face
     
    		5, -5, 0, 5, -1.5, 0, 5, -1.5, 5, 5, -5, 5,     // Mur Gauche
    		5, -1.5, 5, 5, 1.5, 5, 5, 1.5, 4.5, 5, -1.5, 4.5, // Mur Gauche
    		5, -1.5, 0, 5, 1.5, 0, 5, 1.5, 1.5, 5, -1.5, 1.5, // Mur Gauche
    		5, 1.5, 0, 5, 10, 0, 5, 10, 5, 5, 1.5, 5,	  // Mur Gauche
     
    		//------------------------------------------------------------
     
    		11, 0, 0, 0, 0, 5, 11, 5,    // Mur Droite
    		1, 0, 0, 0, 0, 5, 1, 5,    // Mur Droite
    		3, 0, 0, 0, 0, 0.5, 3, 0.5,  // Mur Droite
    		3, 0, 0, 0, 0, 1.5, 3, 1.5,  // Mur Droite
     
    		0, 5, 0, 0, 2, 0, 2, 5,    // Mur face
    		0, 5, 0, 0, 6, 0, 6, 5,    // Mur face
    		0, 1, 0, 0, 2, 0, 2, 1,	 // Mur face									   
     
    		0, 0, 3.5, 0, 3.5, 5, 0, 5,    // Mur Gauche
    		3, 0, 0, 0, 0, 0.5, 3, 0.5,  // Mur Gauche
    		3, 1.5, 0, 1.5, 0, 0, 3, 0,    // Mur Gauche
    		0, 0, 8.5, 0, 8.5, 5, 0, 5  // Mur Gauche
    	};
     
            ...
    }
    Ou est-ce qu'elles se trouvent tes coordonnées de texture dans tes tableaux ? Normalement se sont des valeurs entre 0.0f et 1.0f non ?

  6. #6
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 43
    Par défaut
    Alors merci de ta réponse,

    Voici mes coordonnée de texture et mes coordonnes de Vertex,

    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
     
    //mur droite
    	glBindTexture(GL_TEXTURE_2D, mur->textureID);
    	glBegin(GL_QUADS);
    	glTexCoord2d(11, 0); glVertex3d(-5, 6, 0);
    	glTexCoord2d(0, 0); glVertex3d(-5, -5, 0);
    	glTexCoord2d(0, 5); glVertex3d(-5, -5, 5);
    	glTexCoord2d(11, 5); glVertex3d(-5, 6, 5);
     
    	glTexCoord2d(1, 0); glVertex3d(-5, 10, 0);
    	glTexCoord2d(0, 0); glVertex3d(-5, 9, 0);
    	glTexCoord2d(0, 5); glVertex3d(-5, 9, 5);
    	glTexCoord2d(1, 5); glVertex3d(-5, 10, 5);
     
    	glTexCoord2d(3, 0); glVertex3d(-5, 9, 5);
    	glTexCoord2d(0, 0); glVertex3d(-5, 6, 5);
    	glTexCoord2d(0, 0.5); glVertex3d(-5, 6, 4.5);
    	glTexCoord2d(3, 0.5); glVertex3d(-5, 9, 4.5);
     
    	glTexCoord2d(3, 0); glVertex3d(-5, 9, 1.5);
    	glTexCoord2d(0, 0); glVertex3d(-5, 6, 1.5);
    	glTexCoord2d(0, 1.5); glVertex3d(-5, 6, 0);
    	glTexCoord2d(3, 1.5); glVertex3d(-5, 9, 0);
    	glEnd();
     
    	//mur face (trou pour porte)
    	glBindTexture(GL_TEXTURE_2D, mur->textureID);
    	glBegin(GL_QUADS);
    	glTexCoord2d(0, 5); glVertex3d(-5, -5, 0);
    	glTexCoord2d(0, 0); glVertex3d(-5, -5, 5);
    	glTexCoord2d(2, 0); glVertex3d(-3, -5, 5);
    	glTexCoord2d(2, 5); glVertex3d(-3, -5, 0);
     
    	glTexCoord2d(0, 5); glVertex3d(-1, -5, 0);
    	glTexCoord2d(0, 0); glVertex3d(-1, -5, 5);
    	glTexCoord2d(6, 0); glVertex3d(5, -5, 5);
    	glTexCoord2d(6, 5); glVertex3d(5, -5, 0);
     
    	glTexCoord2d(0, 1); glVertex3d(-3, -5, 4);
    	glTexCoord2d(0, 0); glVertex3d(-3, -5, 5);
    	glTexCoord2d(2, 0); glVertex3d(-1, -5, 5);
    	glTexCoord2d(2, 1); glVertex3d(-1, -5, 4);
    	glEnd();
     
    	//mur gauche
    	glBegin(GL_QUADS);
    	glTexCoord2d(0, 0); glVertex3d(5, -5, 0);
    	glTexCoord2d(3.5, 0); glVertex3d(5, -1.5, 0);
    	glTexCoord2d(3.5, 5); glVertex3d(5, -1.5, 5);
    	glTexCoord2d(0, 5); glVertex3d(5, -5, 5);
     
    	glTexCoord2d(3, 0); glVertex3d(5, -1.5, 5);
    	glTexCoord2d(0, 0); glVertex3d(5, 1.5, 5);
    	glTexCoord2d(0, 0.5); glVertex3d(5, 1.5, 4.5);
    	glTexCoord2d(3, 0.5); glVertex3d(5, -1.5, 4.5);
     
    	glTexCoord2d(3, 1.5); glVertex3d(5, -1.5, 0);
    	glTexCoord2d(0, 1.5); glVertex3d(5, 1.5, 0);
    	glTexCoord2d(0, 0); glVertex3d(5, 1.5, 1.5);
    	glTexCoord2d(3, 0); glVertex3d(5, -1.5, 1.5);
     
    	glTexCoord2d(0, 0); glVertex3d(5, 1.5, 0);
    	glTexCoord2d(8.5, 0); glVertex3d(5, 10, 0);
    	glTexCoord2d(8.5, 5); glVertex3d(5, 10, 5);
    	glTexCoord2d(0, 5); glVertex3d(5, 1.5, 5);
    	glEnd();
    au départ j’utilisai les glVertex et les glTexCoord2 pour modéliser la maison tous marché bien, depuis que je suis passer sous VBO sa a foutue un bordel pas possible.

    Normalement sa devrais marché techniquement ???

  7. #7
    Expert confirmé

    Avatar de dragonjoker59
    Homme Profil pro
    Software Developer
    Inscrit en
    Juin 2005
    Messages
    2 033
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France, Bas Rhin (Alsace)

    Informations professionnelles :
    Activité : Software Developer
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Juin 2005
    Messages : 2 033
    Billets dans le blog
    12
    Par défaut
    glBindBuffer(GL_ARRAY_BUFFER, VBOMur);

    glEnableClientState(GL_VERTEX_ARRAY);
    glEnableClientState(GL_TEXTURE_COORD_ARRAY);

    glVertexPointer(3, GL_FLOAT, 0, BUFFER_OFFSET(0));
    glTexCoordPointer(2, GL_FLOAT, 0, BUFFER_OFFSET(12 * sizeof(GL_FLOAT)));
    La li ligne en rouge est fausse.
    Tu as défini ton buffer en non entrelacé (v0 ... vn t0 ... tn) et tu dis à OpenGl que les coordonnées de texture commencent à la douxième composante de ton buffer.
    Je pense que le bon offset serait 132 (si j'ai bien compté le nombre de coordonnées de sommets)
    Si vous ne trouvez plus rien, cherchez autre chose...

    Vous trouverez ici des tutoriels OpenGL moderne.
    Mon moteur 3D: Castor 3D, presque utilisable (venez participer, il y a de la place)!
    Un projet qui ne sert à rien, mais qu'il est joli (des fois) : ProceduralGenerator (Génération procédurale d'images, et post-processing).

  8. #8
    Membre averti
    Homme Profil pro
    Étudiant
    Inscrit en
    Décembre 2012
    Messages
    43
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Val d'Oise (Île de France)

    Informations professionnelles :
    Activité : Étudiant
    Secteur : High Tech - Éditeur de logiciels

    Informations forums :
    Inscription : Décembre 2012
    Messages : 43
    Par défaut
    Powwwwwa chapo merci merde j'avais mal compté effectivement c'etait bien 132, mais une dernier chose pourquoi mon glTranslatef ne marche pas sur mon toit ? m
    merci encore l'artiste


    Pour le glTranslatef il fallait juste modifier l'odre d'appel de fonction dans le display

+ Répondre à la discussion
Cette discussion est résolue.

Discussions similaires

  1. Multi texturing VBO
    Par Lintel-oo dans le forum OpenGL
    Réponses: 6
    Dernier message: 23/03/2012, 07h56
  2. probleme avec VBO
    Par briqueabrac dans le forum OpenGL
    Réponses: 1
    Dernier message: 30/11/2008, 22h18
  3. Probleme texture SDL/OPENGL
    Par bjacque2 dans le forum OpenGL
    Réponses: 3
    Dernier message: 15/11/2007, 16h17
  4. Probleme Texture stocké dans un .h
    Par lXT95l dans le forum OpenGL
    Réponses: 0
    Dernier message: 07/10/2007, 13h43
  5. Probleme avec VBO
    Par Naelhem dans le forum OpenGL
    Réponses: 4
    Dernier message: 07/11/2006, 18h28

Partager

Partager
  • Envoyer la discussion sur Viadeo
  • Envoyer la discussion sur Twitter
  • Envoyer la discussion sur Google
  • Envoyer la discussion sur Facebook
  • Envoyer la discussion sur Digg
  • Envoyer la discussion sur Delicious
  • Envoyer la discussion sur MySpace
  • Envoyer la discussion sur Yahoo