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
Partager