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 :

affichage de cube avec plusieurs textures


Sujet :

OpenGL

  1. #1
    Membre régulier Avatar de fifafou
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Janvier 2016
    Messages : 173
    Points : 92
    Points
    92
    Par défaut affichage de cube avec plusieurs textures
    Bonjour,
    J'ai créé un programme en opengl3.3 qui adfiche un cube avec six textures identiques avec vbo et vao
    Je me pose maintenant la question:quelle est le meilleur moyen quand on a des textures différentes?
    Faut il appeler gldrawarrays pour chaque face?
    Est il genant de trop changer de texture et d'appeller plein de fois gldrawarrays?
    Merci d'avance.

  2. #2
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    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 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Citation Envoyé par fifafou Voir le message
    Faut il appeler gldrawarrays pour chaque face?
    Est il genant de trop changer de texture et d'appeller plein de fois gldrawarrays?
    Alors oui et oui

    Donc en général , on préfère ranger un peu les models qui ont les même texture pour éviter de trop switch
    Mais bon je doute que dans ton cas ça sera le truc le plus gênant.

  3. #3
    Membre régulier Avatar de fifafou
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Janvier 2016
    Messages : 173
    Points : 92
    Points
    92
    Par défaut
    Merci pour ta réponse,
    Maintenant je me pose une autres question
    J'aimerais créer un terrain proceduralement
    Pour cela il faudrait que j'ajoute et enleve des parcelles de terrain d'un nombre variable de triangles quand je me déplace
    Mais comme les vbos sont de taille fixe, je me demande quelle est la meilleur technique pour cela
    Ps:j'ai utilisé au tout début le fichier lib de glew venant d'un de tes template car c'est le seul qui marchais pour moi(windows, codeblock), te souvient tu comment tu l'a obtenu?

  4. #4
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    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 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Si tu parle de faire un minecraft , il me semble qu'il utilise une seule texture.
    Sinon ben tu peux générer les Vertex coté CPU (et de plus ça te permet d'enlever les faces inutiles ) et donc renvoyer les vertex à chaque changement, et ça permet aussi de n'avoir que quelque drawcall.

  5. #5
    Membre régulier Avatar de fifafou
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Janvier 2016
    Messages : 173
    Points : 92
    Points
    92
    Par défaut
    Mon objectif est effectivement d'experimenter un minecraft avec chunks cubiques
    Les textures sont séparées dans les fichiers du jeu mais peut être que la texture est assemblée après.
    Donc si je comprend bien, il faut que je remplace tout le vbo quand je le modifie?
    Si oui, a l'aide d'un vector?
    J'avais peur que ce soit un peut lent

  6. #6
    Expert éminent sénior
    Avatar de Kannagi
    Homme Profil pro
    cyber-paléontologue
    Inscrit en
    Mai 2010
    Messages
    3 214
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 35
    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 214
    Points : 10 140
    Points
    10 140
    Par défaut
    Minecraft utilise une texture 256x256 un bloc fait 16x16 pixel donc minecraft à 256 bloc différent (pour la dernière fois que j'y avais joué il y'a fort longtemps) , je pense qu'une texture de 1024x1024 (ou plus) est largement suffisant pour ce genre de jeux.

    Pour renvoyer , je ne vois pas le pas le rapport avec vector , tu renvoie avec glBufferData/glBufferSubData par exemple.


    J'avais peur que ce soit un peut lent
    C'est effectivement un peu 'lent' mais bon tu ne fait pas un jeu AAA , et j’avais testé cette méthode sur un vieux PC et cela tournait rapidement et envoyer 1000 vertex de temps en temps c'est pas ça qui va mettre ton PC à genoux.

    Surtout que avant on envoyait largement plus de donné au GPU et c'était largement moins puissant et les transferts beaucoup plus lent (mais les besoins actuelle ne sont pas forcément les même qu'avant).

  7. #7
    Membre régulier Avatar de fifafou
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Janvier 2016
    Messages
    173
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 22
    Localisation : France, Seine Maritime (Haute Normandie)

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

    Informations forums :
    Inscription : Janvier 2016
    Messages : 173
    Points : 92
    Points
    92
    Par défaut
    Je comptais utiliser les vector pour mettre bout à bout les vertex côté CPU comme je ne connais pas d'avance la taille finale
    Mais ce n'est pas pratique car je n'arrive pas à ajouter plusieurs élément en une seule fois

Discussions similaires

  1. [Google Maps] Affichage de map avec plusieurs markers et une InfoWindow par marker
    Par yesenia dans le forum APIs Google
    Réponses: 5
    Dernier message: 20/12/2016, 14h53
  2. Réponses: 6
    Dernier message: 19/03/2014, 15h49
  3. [Irrlicht] Utiliser un mesh avec plusieurs textures
    Par demonixis dans le forum Irrlicht
    Réponses: 4
    Dernier message: 05/11/2009, 20h28
  4. Réponses: 8
    Dernier message: 19/03/2008, 19h08
  5. Réponses: 17
    Dernier message: 18/03/2008, 17h10

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