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 :

Utiliser JOGL + shader pour des effets sur des images 2D.


Sujet :

Développement 2D, 3D et Jeux

  1. #1
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut Utiliser JOGL + shader pour des effets sur des images 2D.
    Bonjour à tous,

    voilà, je suis actuellement dans la conception d'un petit framework graphique pour la 2D. L'idée est de s'offrir quelques fonctionnaliés basiques de Flash pour le rendu & l'animation 2D. Je me suis intéressé aux effets 2D (blur, noise, passage progressif en ton de gris, ombre, ...).

    Le problème: Après quelques tests, les possibilités prévues par Java2D (FilterOp, ...) sont trop peu performantes pour appliquer plusieurs effets simultanés en 'live' et garder une consommation CPU raisonnable.

    La solution envisagée: Faire faire ces traitements directement par le GPU au moyen de shaders, à priori beaucoup plus efficaces.


    N'y connaissant pas grand chose en JOGL et aux shaders, j'ai quelques questions:

    1/ Que pensez-vous de mon approche, d'une façon générale ?

    2/ les shaders sont-ils applicables avec tout type de GPU, même des relativement anciens ? Si c'est non (ce que je pense), une émulation logicielle existe-t-elle ? va-t-elle mettre à genoux le processeur ?

    3/ peut-on simplement (et efficacement) faire du rendu JOGL directement dans une BufferedImage pour l'afficher ensuite via Java2D ? Vaut-il mieux ne faire que du JOGL, quitte à n'utiliser qu'un seul 'plan' (ie. faire de la 2D).


    Tout autre remarque est la bienvenue
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

  2. #2
    Rédacteur
    Avatar de bafman
    Profil pro
    Développeur informatique
    Inscrit en
    Novembre 2003
    Messages
    2 574
    Détails du profil
    Informations personnelles :
    Âge : 40
    Localisation : France, Paris (Île de France)

    Informations professionnelles :
    Activité : Développeur informatique
    Secteur : Industrie

    Informations forums :
    Inscription : Novembre 2003
    Messages : 2 574
    Points : 5 323
    Points
    5 323
    Par défaut
    Citation Envoyé par nouknouk Voir le message
    1/ Que pensez-vous de mon approche, d'une façon générale ?
    c'est parfaitement viable. regarde la SFML, c'est ce qu'elle fait.
    Citation Envoyé par nouknouk Voir le message
    2/ les shaders sont-ils applicables avec tout type de GPU, même des relativement anciens ? Si c'est non (ce que je pense), une émulation logicielle existe-t-elle ? va-t-elle mettre à genoux le processeur ?
    dans l'ordre :
    -non, il sont apparu avec les GeForce Fx et radeon 9500.
    -oui et non. Dans le cas général non, mais nVidia fournis (à fournis ?) un logiciel permettant l'emulation sur ses cartes
    - oui... pire qu'un power point
    Citation Envoyé par nouknouk Voir le message
    3/ peut-on simplement (et efficacement) faire du rendu JOGL directement dans une BufferedImage pour l'afficher ensuite via Java2D ? Vaut-il mieux ne faire que du JOGL, quitte à n'utiliser qu'un seul 'plan' (ie. faire de la 2D).
    heu... Joker . Bon perso, je perfererais faire uniquement du JOGL, mais je ne m'y connais pas trop la dedans...
    * Il est infiniment plus simple de faire rapidement un code qui marche que de faire un code rapide qui marche
    * pour faciliter les recherches, n'oubliez pas de voter pour les réponses pertinentes
    Mes articles

  3. #3
    Modérateur
    Avatar de nouknouk
    Homme Profil pro
    Inscrit en
    Décembre 2006
    Messages
    1 655
    Détails du profil
    Informations personnelles :
    Sexe : Homme
    Âge : 43
    Localisation : France

    Informations forums :
    Inscription : Décembre 2006
    Messages : 1 655
    Points : 2 161
    Points
    2 161
    Par défaut
    Citation Envoyé par bafman Voir le message
    c'est parfaitement viable. regarde la SFML, c'est ce qu'elle fait.
    Effectivement, je ne la connaissais pas celle là, alors que je viens du C++. Merci

    Citation Envoyé par bafman Voir le message
    -non, il sont apparu avec les GeForce Fx et radeon 9500.
    -oui et non. Dans le cas général non, mais nVidia fournis (à fournis ?) un logiciel permettant l'emulation sur ses cartes
    - oui... pire qu'un power point
    Ok, donc si l'objectif est de pouvoir faire tourner l'application sur un maximum d'ordinateurs, même les "pas hyper récents", on peut laisser tomber les shaders. Dans ce cas, je vais voir pour m'orienter vers l'utilisation exclusive des fonctionnalités openGL 'standards' (genre la composition de texture que j'imagine être supportée par l'immense majorité des cartes plus ou moins actuelles).

    EDIT important: je viens de découvrir un projet pour l'implémentation d'un pipeline complet de rendu utilisant au maximum les possibilités d'openGL. Son nom : Agile2D.

    Bizarrement, je n'arrive pas à mettre la main sur un changelog ou quelque chose du genre contenant des dates.

    Résultat, je ne sais pas si c'est un projet récent ou qui date de Java 1.1 ; si l'utilisation d'openGL dans Grpahics2D et Java >=1.5 a supplanté le projet ou s'il reste toujours avantageux (et donc d'actualité).

    Si quelqu'un a des infos, je suis évidemment très preneur car ça m'éviterait de réinventer la roue
    Mon projet du moment: BounceBox, un jeu multijoueurs sur Freebox, sur PC et depuis peu sur smartphone/tablette Android.

Discussions similaires

  1. Comment ajouter des séries dans des graphes sur des feuilles variables
    Par Molomarcopolo dans le forum Macros et VBA Excel
    Réponses: 1
    Dernier message: 06/07/2012, 16h26
  2. [WD-2007] Comment alléger fichier contenant des effets sur les images
    Par otarie10 dans le forum Word
    Réponses: 11
    Dernier message: 18/09/2010, 12h09
  3. Trigger pour mettre des droits sur des procedures et des vues
    Par briino dans le forum Développement
    Réponses: 3
    Dernier message: 23/09/2009, 09h44
  4. Réponses: 10
    Dernier message: 02/01/2008, 23h02
  5. Réponses: 3
    Dernier message: 30/08/2007, 15h41

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