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 :

TextureBuffer : Structure des données [OpenGL 4.x]


Sujet :

OpenGL

  1. #1
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 209
    Par défaut TextureBuffer : Structure des données
    Bonjour à vous tous .

    Et oui, c'est encore moi pour de nouvelles aventures... heu questions ^^.

    Voilà, comme vous le savez sûrement déjà, je suis un débutant ^^. Voilà, j'ai donc attaqué les textures buffers, je les utilisais sans trop chercher à comprendre comment ça fonctionnait en utilisant le paramètre GL_RGBA32F, mais voilà, il se trouve que j'ai besoin de stocké des valeurs simples,et des vecteurs à 3 coordonnées et non 4, et je cherche donc à en connaître d'avantage .

    Voilà, donc déjà je voulais savoir si ma représentation était correct ou non ^^.

    A mon avis non car cela ne fonctionne pas lorsque je fais des tests avec d'autres choses ^^ .

    Donc voilà comment moi je m'imagine un texture buffer : Une sorte de gros tableau de float. Genre : v1, v2, v3, v4, ..., vn.

    Ensuite on récupère cette texture dans un shader dans un uniform samplerBuffer texBuffer;

    Et on récupère les données comme ceci : vec4 v1 = texelFetch(texBuffer, pos) ce qui, en suivant ma logique donnerait :
    texelFetch(texBuffer, 0).yzw = texelFetch(texBuffer, 1).xyz;
    car on décalle de 1. Mais apparemment ce n'est pas bon du tout ^^.

    En effet quand je fais ceci avec v1 v2 v3 v4 représentant une matrice cela fonctionne très bien, mais lorsque je n'utilise plus GL_RGBA32F mais juste GL_RGB32F, celà ne fonctionne plus très bien évidemment.
    Donc si ma représentation était juste, cela devrait marcher, donc il est évident que j'ai dû louper quelques choses...

    Merci de votre éclaircissement .

  2. #2
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 070
    Billets dans le blog
    144
    Par défaut
    Bonjour,

    Avez-vous essayé d'afficher la texture dans gDEBugger ? (pour confirmer vos dires). Moi je pensais la même chose que vous au début, mais là du coup, je doute
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  3. #3
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 209
    Par défaut
    Coucou .

    Effectivement, faudrait que j'essaie un jour d'apprendre à m'en servir ...

    Après diffèrente recherche, en fait, la position est en fonction de l'argument passé.
    Par exemple, si on a GL_RGBA32F, on déplace de 4 unité, si on a GL_R32F, on on va déplacer que d'une seule unité ^^.

  4. #4
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 070
    Billets dans le blog
    144
    Par défaut
    Ce serait comme chaque canaux stockés sur 32F ?
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

  5. #5
    Membre confirmé
    Inscrit en
    Mars 2006
    Messages
    209
    Détails du profil
    Informations forums :
    Inscription : Mars 2006
    Messages : 209
    Par défaut
    Coucou :-) .

    En fait, d'après ce que j'ai pu lire, le texture buffer est organisé comme ceci :

    Prenons 2 exemples afin de bien tout différencier ^^.
    Premier exemple : 2 Matrices 4x4 de type float.
    On utilise donc GL_RGBA32F.
    texelFetch(buffer, 0) renvoie la première colonne de la première matrice
    texelFetch(buffer, 0 + 1) renvoie la seconde ... etc.

    texelFetch(buffer, 1 * 4 + 0) renvoie la première colonne de la seconde matrice.
    texelFetch(buffer, 1 * 4 +3) renvoie la quatrième colonne de la seconde matrice.

    Prenons maintenant le cas de 2 matrices 2*2 de type float.
    On utilise donc GL_RG32F
    texelFetch(buffer, 0).rg renvoie la première colonne de la première matrice
    texelFetch(buffer, 1*2 + 1).rg renvoie la seconde colonne de la seconde matrice.

    D'après le manuel de glTexBuffer, les valeurs "b" sont à 0, et alpha à 1 dans le cas de RG32F.

    Donc dans le cas de matrice 3x3, on utilisera le RGB32F ^^.

    Maintenant j'aimerais te poser une question, où as tu appris à utiliser OpenGL?

    Merci

  6. #6
    Responsable 2D/3D/Jeux


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 070
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 27 070
    Billets dans le blog
    144
    Par défaut
    Euh, OpenGL, c'est tout seul, en voulant faire des démos :$
    Vous souhaitez participer à la rubrique 2D/3D/Jeux ? Contactez-moi

    Ma page sur DVP
    Mon Portfolio

    Qui connaît l'erreur, connaît la solution.

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

Discussions similaires

  1. extraction de la structure des données d'une BD
    Par wallabee dans le forum MS SQL Server
    Réponses: 6
    Dernier message: 01/02/2008, 16h33
  2. Structurer des données dans un tableau
    Par julie75 dans le forum Débuter
    Réponses: 21
    Dernier message: 18/12/2007, 23h20
  3. Structuration des données - macro
    Par bino007 dans le forum Requêtes et SQL.
    Réponses: 0
    Dernier message: 25/11/2007, 20h13
  4. Aide pour diagramme de structure des données
    Par DeezerD dans le forum Décisions SGBD
    Réponses: 4
    Dernier message: 04/12/2004, 19h10
  5. Structure des données en retour d'un DBExtract ?
    Par mikouts dans le forum XMLRAD
    Réponses: 4
    Dernier message: 24/01/2003, 15h15

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