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 :

Rendu offscreen & taille des textures


Sujet :

OpenGL

Vue hybride

Message précédent Message précédent   Message suivant Message suivant
  1. #1
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Par défaut Rendu offscreen & taille des textures
    Bonjour,

    J'ai un FBO auquel j'ai attaché deux textures: depth & diffuse.
    La taille de ces textures est égale à la taille de ma fenêtre Windows. Ce n'est donc pas des textures avec une taille de puissance 2. Ca semble fonctionner mais est-ce un coup de bol ? Est-ce performant ?
    Quel est la solution idéal pour ce genre de problème ?

    Merci d'avance.
    Grégory

  2. #2
    Invité
    Invité(e)
    Par défaut
    Citation Envoyé par zenux Voir le message
    J'ai un FBO auquel j'ai attaché deux textures: depth & diffuse.
    La taille de ces textures est égale à la taille de ma fenêtre Windows. Ce n'est donc pas des textures avec une taille de puissance 2. Ca semble fonctionner mais est-ce un coup de bol ?
    Oui et non. Ca ne fonctionne probablement pas sur les vieilles ATI et les Intel GMA. En dessous des GF8 et ATI HD il peut y avoir des bugs dangereux quand on mélange MRT, texture Float, NPOT, etc... Celà dit si tu laisses tomber ces cartes-là tes ennuis seront bien moindres et je pense que les NPOT marcheront bien.

    Est-ce performant ?
    Sur pas mal de cartes, moins. Tout ça dépend de la configuration minimale que tu choisis pour ton jeu.

    Quel est la solution idéal pour ce genre de problème ?
    Je ne sais pas, mais ça m'intéresse aussi.
    Il faut tester partout... prévoir du logging et acheter un stock de cartes.

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


    Avatar de LittleWhite
    Homme Profil pro
    Ingénieur développement logiciels
    Inscrit en
    Mai 2008
    Messages
    27 129
    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 129
    Billets dans le blog
    150
    Par défaut
    Bonjour,

    En fait ... je pense que le render to texture en NPOT n'est pas pénalisant. Alors oui, je connais le point de vue de ponce sur les textures NPOT, et je suis d'accord avec lui, c'est généralement embêtant et lent.
    Mais, en fait, j'aimerai que l'on revienne sur la source de ce ralentissement (et je vais faire des tas d'hypothèses en fait).

    Les NPOT sont généralement lentes sans même que l'on fasse de RTT. Donc j'oserai dire le RTT sera pas vraiment un problème.
    Qu'est ce qui pourrait ralentir l'application des NPOT ? Je pense que c'est toute les techniques de sampling et autre filtrage. Pourquoi ... car je ne sais pas vous, mais redimensionner une texture NPOT pour qu'elle corresponde à une surface semble tout de même un peu plus dur qu'avec une texture POT.

    Maintenant, je reviens sur le problème. D'abord, le depth buffer est toujours de la taille de la fenêtre et celle ci est souvent NPOT.
    Il est très facile de récupéré ce buffer me semble t'il (ainsi que le stencil).
    Dans DirectX (10) j'ai fait du deferred shading ... bien sur mes textures n'était pas NPOT. Aucun problème.

    Conclusion. Le RTT sur des textures NPOT ne me semble pas pénalisant, car la carte est potentiellement habitué à le faire. Notamment car le rendu ne se fait presque jamais sur des surfaces POT.

    Deuxièmement, l'utilisation de ces textures entre dans le cas le plus simple de l'utilisation des FBO ... celui ou chaque point de la texture correspond à un pixel. Effectivement, il n'y aucune interpolation , redimensionnement à effectuer, car nous effectuons nos calculs sur une texture qui est une copie de l'écran (si je puis dire).

    Donc moi je dis le Render To Texture dans des textures Non Power Of Two c'est ok
    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.

  4. #4
    Membre éclairé
    Profil pro
    Inscrit en
    Février 2006
    Messages
    396
    Détails du profil
    Informations personnelles :
    Localisation : Belgique

    Informations forums :
    Inscription : Février 2006
    Messages : 396
    Par défaut
    Merci pour vos réponses

  5. #5
    Membre très actif Avatar de oxyde356
    Homme Profil pro
    Ingénieur Recherche Imagerie
    Inscrit en
    Février 2006
    Messages
    797
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France

    Informations professionnelles :
    Activité : Ingénieur Recherche Imagerie

    Informations forums :
    Inscription : Février 2006
    Messages : 797
    Par défaut
    Quid des render to texture avec un viewport NPOT dans une texture POT ? Plus de consommation mémoire mais quels performances ?

  6. #6
    Membre Expert

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Par défaut
    Sur carte récente (geforce 8800 et plus récente), le rendu non power of two n'est pas plus pénalisant que le rendu power of two.
    Sur carte plus ancienne (geforce series 7,6,5,4,3 et plus anciennes), tout d'abord le support des surfaces non power of two est plus limité (pas de support de toutes les formes d'adressage etc) et généralement moins performant (si une forme est performante comme surface de rendu, elle est moins performante comme surface de texture et vice et versa, la faute aux représentations internes comme le tiling, swizzling etc).

    Le problème des non power of two peut venir des mipmaps. Les mipmaps en power of two sont super simples : tu divises la taille de chaque niveau par deux. En non power of two c'est moins simple et suivant le choix d'implémentation tu te retrouves soit avec une forme trop floue ou une forme trop détaillée.
    Ceci dit ce problème n'est pas si énorme que ça. Mais disons que si tu peux avoir des texture power of two pour la plupart de tes modèles (voir avec tes artistes pour maximiser leur utilisation) et réserver le non power of two pour les surfaces de rendu (pour économiser de la mémoire), c'est probablement idéal.

    LeGreg

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

  7. #7
    Membre Expert

    Profil pro
    Programmeur
    Inscrit en
    Août 2002
    Messages
    1 091
    Détails du profil
    Informations personnelles :
    Localisation : Etats-Unis

    Informations professionnelles :
    Activité : Programmeur

    Informations forums :
    Inscription : Août 2002
    Messages : 1 091
    Par défaut
    Citation Envoyé par oxyde356 Voir le message
    Quid des render to texture avec un viewport NPOT dans une texture POT ? Plus de consommation mémoire mais quels performances ?
    la forme du viewport n'a pas d'influence sur les performances.
    Mais ceci dit si tu as une texture power of two, et que tu ne fais que du rendu partiel sur celle-ci, ça peut être une utilisation non optimale de ta mémoire.

    Mon site web | Mon blog | Mes photos | Groupe USA
    > BONJOUR, JE SUIS NOUVEAU SUR CE FORUM
    > presse la touche caps lock, stp
    > OH.. MERCI C EST BEAUCOUP PLUS FACILE COMME CA

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

Discussions similaires

  1. problème de taille des textures
    Par darkdindon dans le forum Moteurs 3D
    Réponses: 4
    Dernier message: 29/01/2007, 10h47
  2. Réponses: 2
    Dernier message: 05/07/2006, 12h09
  3. Taille des textures <-> performances
    Par MatRem dans le forum OpenGL
    Réponses: 27
    Dernier message: 21/04/2006, 17h14
  4. [3D] Taille optimale des textures?
    Par J-F dans le forum Développement 2D, 3D et Jeux
    Réponses: 3
    Dernier message: 16/03/2006, 09h20
  5. appliquer des textures de taille 2n+1
    Par Katsuo chris dans le forum DirectX
    Réponses: 4
    Dernier message: 14/11/2002, 00h11

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