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 :

[OpenGL ES]Fonctionnement des Shaders (rotation, translation etc.)


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Par défaut [OpenGL ES]Fonctionnement des Shaders (rotation, translation etc.)
    Bonjour à tous!

    Je suis débutant avec OpenGL ES et j'ai un problème que je n'arrive pas à comprendre.

    J'ai plusieurs objets dont je définie la "structure" à l'aide des Vertex Buffer Object. Ces objets doivent subir des transformations (rotation, translation etc.) mais indépendamment les un des autres.

    Pour cela pour chaque objet est calculé une matrice de transformation, qui inclut les translations et les rotations à effectuer.
    Cette matrice est envoie au vertex shader via une variable "uniform".

    voici mon shader:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
     
    uniform mat4 WORD;
    attribute POSITION;
     
    void main(void)
    {
           gl_Position = POSITION*WORLD;
    }
    Le problème c'est que ça impacte tous les objets et je me demande pourquoi!

    Je vous remercie!

    1rageux

  2. #2
    Membre éclairé
    Profil pro
    Inscrit en
    Juillet 2007
    Messages
    318
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juillet 2007
    Messages : 318
    Par défaut
    Avant l'affichage de chaque objet tu doit modifier la variable uniform de ton shader. Par exemple:
    Code : Sélectionner tout - Visualiser dans une fenêtre à part
    1
    2
    3
    4
    5
    6
    7
    8
    glBinShader(idShader);
    glUniformMatrix4f(matrcePosObj1);
    afficherObjet(Obj1);
    glUniformMatrix4f(matrcePosObj2);
    afficherObjet(Obj2);
    glUniformMatrix4f(matrcePosObj3);
    afficherObjet(Obj3);
    .....

  3. #3
    Membre averti
    Profil pro
    Inscrit en
    Juin 2008
    Messages
    31
    Détails du profil
    Informations personnelles :
    Localisation : France

    Informations forums :
    Inscription : Juin 2008
    Messages : 31
    Par défaut
    Oki merci!
    Mais en fait c'est ce que je fait déja
    Par contre j'ai vu que si je mettais ma variable en tant que "attribute", les modification ce ferait "per pixel".
    Donc c'est ce que j'ai essayé de faire avec glEnableVertexAttribArray et glVertexAttribPointer, mais le probleme est que j'ai une erreur car l'adresse de ces api ne sont pas chargés(@=0x00000000)...
    C'est comme si le contexte graphique n'avait pas été crée, alors que si j'appelle par exemple glDisable juste avant ça marche .
    Jsuis un peu perdu...

  4. #4
    Membre émérite

    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Avril 2006
    Messages
    450
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 39
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Ingénieur développement logiciels
    Secteur : High Tech - Multimédia et Internet

    Informations forums :
    Inscription : Avril 2006
    Messages : 450
    Par défaut
    Ca veut dire que tu dois t'occuper de les charger toi-meme ou alors tu peux utiliser glee or glew pour le faire pour toi mais je ne connais pas leur capacite pour gerer OpenGL ES, renseigne-toi.

Discussions similaires

  1. À la découverte des Shader Storage Buffer Objects d'OpenGL 4.3
    Par LittleWhite dans le forum Développement 2D, 3D et Jeux
    Réponses: 0
    Dernier message: 10/08/2014, 18h39
  2. [OpenGL] probleme rotations/ translations
    Par Daemonkii dans le forum Windows
    Réponses: 4
    Dernier message: 16/12/2007, 17h42
  3. Réponses: 3
    Dernier message: 14/02/2004, 10h10
  4. [langage] fonctionnement des Processus
    Par GMI3 dans le forum Langage
    Réponses: 3
    Dernier message: 19/09/2003, 11h12

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