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