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

Développement 2D, 3D et Jeux Discussion :

Geometry shaders et bezier curve


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Inactif  

    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Mars 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Mars 2013
    Messages : 162
    Points : 261
    Points
    261
    Par défaut Geometry shaders et bezier curve
    La question est dans le titre, est-il possible de rendre une surface courbe bézier (faite de n-gons convexes, éventuellement découpés en quads si ça permet d'accélérer les calculs) avec les geometry shader, en faisant évoluer sa résolution selon la distance à la caméra, et bien évidemment en interdisant la courbure sur les edges ouverts qui raccordent deux objets et doivent rester à plat.

    Le tout sans mettre la carte vidéo à genoux évidemment, le but du jeu étant de soulager le gpu en baissant la résolution des arrières plans, il ne faut pas que ce qu'on a économisé d'un côté en virant des triangles soit reperdu de l'autre dans les calculs de béziers par le shader, bref le gain de perf doit être significatif.

    Avez-vous un exemple de code glsl qui fait ça. (ou éventuellement un exemple en javascript-webgl comme ça on peut le tester facile dans firefox)

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


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

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

    Informations forums :
    Inscription : Mai 2008
    Messages : 26 860
    Points : 219 062
    Points
    219 062
    Billets dans le blog
    120
    Par défaut
    Bonjour,

    À vrai dire combien de points voulez vous générer ?
    J'ai entendu dire que le geometry shader est moins puissant que ce que nous pouvons espérer et qu'il n'est pas grandement capable de générer autant de point que nous pouvons le vouloir. Du coup, je vous conseillerai de vous pencher sur les tesselation shader ou les compute shader (mais je crains que cela ne soit pas disponible pour votre configuration).

    Ma question est : comment est votre implémentation actuelle, car si c'est un arrière plan, il n'y a peut être pas besoin de les regénérer à chaque frame ?
    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
    Inactif  

    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Mars 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Mars 2013
    Messages : 162
    Points : 261
    Points
    261
    Par défaut
    J'aurais peut-être du parler des tesselation shader oui c'est peut-être plutôt ça que je dois utiliser.

    Au niveau du nombre de points je sais pas ça dépend comment il gère... on va dire que j'ai découpé les n-gon en quads, donc je n'envoie que des quads au shader de tesselate, avec leurs normales.

    Donc en théorie il doit en faire une jolie courbe, maintenant je voudrais savoir s'il est possible de préciser au shader que certaines arêtes doivent rester plates. (le but est d'assurer le raccord entre deux objets qui ne sont pas tesselatés à la même profondeur)

  4. #4
    Inactif  

    Homme Profil pro
    Développeur multimédia
    Inscrit en
    Mars 2013
    Messages
    162
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur multimédia

    Informations forums :
    Inscription : Mars 2013
    Messages : 162
    Points : 261
    Points
    261
    Par défaut
    Je dis peut-être une bêtise mais je crois avoir trouvé la solution tout seul.

    Pour le cas des segments non-courbables à priori il me suffit de modifier les normales du segment plat pour qu'elles soient identiques, comme ça le tesselate shader ne devrait pas les courber

    [edit] je met résolu, merci à LittleWhite de m'avoir mis sur la bonne piste

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

Discussions similaires

  1. geometry shader (cg) masque des triangles
    Par gandf dans le forum Ogre
    Réponses: 1
    Dernier message: 15/04/2011, 15h05
  2. [GLSL] Problème position Geometry Shader
    Par Bluespear dans le forum OpenGL
    Réponses: 4
    Dernier message: 28/05/2010, 17h43
  3. geometry shaders sous direct 3d 9
    Par cdd59554 dans le forum DirectX
    Réponses: 6
    Dernier message: 12/09/2009, 12h15
  4. problème avec les geometry shaders dans GLSL
    Par Syl_20 dans le forum OpenGL
    Réponses: 7
    Dernier message: 03/04/2009, 13h59
  5. geometry shader en glsl
    Par delfare dans le forum OpenGL
    Réponses: 3
    Dernier message: 05/03/2007, 18h38

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