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

Discussion :

OpenGL 3 [2D/3D]

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2011
    Messages : 129
    Par défaut OpenGL 3
    Bonjour,

    J'attaque l'OpenGL 3, et j'ai un souci avec mon premier programme. Impossible de comprendre pourquoi, j'ai ma scène 3D, mais mon supppppper triangle ne daigne s'afficher. Voici le code de ma scène, si quelqu'un a une petite idée :

    Main.cpp :
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    9
    10
    11
    12
    13
    MapEditor::MapEditor(QWidget *parent) : QMainWindow(parent), ui(new Ui::MapEditor)
    {
        ui->setupUi(this);
     
        // Specify an OpenGL 3.3 format using the Core profile.
        // That is, no old-school fixed pipeline functionality
        QGLFormat glFormat;
        glFormat.setVersion( 3, 3 );
        glFormat.setProfile( QGLFormat::CoreProfile ); // Requires >=Qt-4.8.0
        glFormat.setSampleBuffers( true );
     
        _3Dscene = new GLScene(this, glFormat);
    }
    GLScene.cpp :
    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
    #include <iostream>
    #include "GLScene.h"
     
    using namespace std;
     
    GLScene::GLScene(QMainWindow *parent, QGLFormat & glformat) : QGLWidget(glformat, parent)
    {
        // Necessary ?
        glInit();
        this->setGeometry(0,0,parent->width(),parent->height());
    }
     
    GLScene::~GLScene()
    {
    }
     
    void GLScene::initializeGL()
    {
       // makeCurrent();
     
        GLenum initialisationGLEW(glewInit());
     
        if(initialisationGLEW != GLEW_OK)
            std::cout << "Erreur d'initialisation de GLEW : " << glewGetErrorString(initialisationGLEW) << std::endl;
     
        glClearColor(1.0, 0.0, 0.0, 0.0);
        //glEnable(GL_DEPTH_TEST);
    }
     
    void GLScene::paintGL()
    {
        draw();
    }
     
    void GLScene::draw()
    {
        float vertices[] = {-0.5, -0.5, 0.0, 0.5, 0.5, -0.5};
     
        glClear(GL_COLOR_BUFFER_BIT);
        glVertexAttribPointer(0,2,GL_FLOAT,GL_FALSE,0, vertices);
        glEnableVertexAttribArray(0);
        glDrawArrays(GL_TRIANGLES,0,3);
        glDisableVertexAttribArray(0);
        swapBuffers();
    }
    Théoriquement, ca doit mafficher un triangle blanc sur fond rouge, banalement, en 2D.

    Merci d'avance !

  2. #2
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Au hasard, tu ne t'es trompé ni sur la transparence, ni sur les couleurs, ni sur la direction de la caméra?

  3. #3
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2011
    Messages : 129
    Par défaut
    A priori la couleur par défaut c'est blanc sans transparence, et pas de direction de caméra puisqu'on est en 2D.

  4. #4
    Expert éminent

    Femme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Juin 2007
    Messages
    5 202
    Détails du profil
    Informations personnelles :
    Sexe : Femme
    Localisation : France, Essonne (Île de France)

    Informations professionnelles :
    Activité : Ingénieur développement logiciels

    Informations forums :
    Inscription : Juin 2007
    Messages : 5 202
    Par défaut
    Bon, bah, je ne sais pas que dire, je ne connais pas Qt en lui même, mais j'avais une certaine habitude d'OpenGL (dans le temps...)

  5. #5
    Inactif  


    Homme Profil pro
    Inscrit en
    Novembre 2008
    Messages
    5 288
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 49
    Localisation : France, Rhône (Rhône Alpes)

    Informations professionnelles :
    Secteur : Santé

    Informations forums :
    Inscription : Novembre 2008
    Messages : 5 288
    Par défaut
    Bonjour

    Un peu de lecture peut être ? La 3D avec le module OpenGL de Qt et plus généralement la catégorie OpenGL des ressources de la rubrique Qt : http://qt.developpez.com/tutoriels/#qtopengl

    Tu ne reféinis pas resizeGL ? Tu n'as pas de shaders ?

    Utilises les layout et pas setGeometry
    this-> ne sert à rien
    C'est quoi glInit ?
    Pourquoi utiliser glew ? (parfois compliqué le mélange de lib, test d'abord qu'avec Qt)

  6. #6
    Membre confirmé
    Homme Profil pro
    Étudiant
    Inscrit en
    Novembre 2011
    Messages
    129
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Novembre 2011
    Messages : 129
    Par défaut
    Citation Envoyé par gbdivers Voir le message
    Bonjour

    Un peu de lecture peut être ? La 3D avec le module OpenGL de Qt et plus généralement la catégorie OpenGL des ressources de la rubrique Qt : http://qt.developpez.com/tutoriels/#qtopengl
    Je m'en vais lire ca de ce pas, c'est vrai que ca fait un moment déjà.
    Citation Envoyé par gbdivers Voir le message
    Tu ne reféinis pas resizeGL ? Tu n'as pas de shaders ?
    Si, mais je n'ai mis que le code "utile". Sinon, non, je n'ai pas encore de shaders, je voulais déjà essayer de faire fonctionner 3D et OpenGL de manière très simple, à savoir en 2D.

    Citation Envoyé par gbdivers Voir le message
    C'est quoi glInit ?
    Une vieille habitude !

    Citation Envoyé par gbdivers Voir le message
    Pourquoi utiliser glew ? (parfois compliqué le mélange de lib, test d'abord qu'avec Qt)
    Il me semble que l'on en a forcément besoin à un moment ou à un autre non ? Je sais qu'avant c'était le cas pour les VBO et d'autres implémentations diverses, ce n'est plus le cas ?

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

Discussions similaires

  1. Directx ou opengl
    Par scorpiwolf dans le forum DirectX
    Réponses: 13
    Dernier message: 07/02/2003, 08h29
  2. interface utilisateur avec OpenGL
    Par demis20 dans le forum OpenGL
    Réponses: 6
    Dernier message: 03/10/2002, 12h27
  3. OpenGL et *.3ds
    Par tintin22 dans le forum OpenGL
    Réponses: 4
    Dernier message: 06/05/2002, 13h51
  4. OpenGL ou DirectX
    Par Nadir dans le forum DirectX
    Réponses: 6
    Dernier message: 02/05/2002, 12h48
  5. Opengl -- Les surfaces
    Par Anonymous dans le forum OpenGL
    Réponses: 2
    Dernier message: 02/05/2002, 10h14

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