Bonjour,
pour des besoins personnels, je suis en train de m'attquer au codage d'une petite librairie 2D.
L'idée de base serait d'offrir la possibilité de manipuler des 'sprites' (ie. des instance d'Image), de les animer et de les afficher en temp-réel. En gros, ce serait pour s'offrir les possibilités les plus basiques de Flash pour implémenter des applets 'eye candy'.
Pour le moment : l'ensemble de ma 'scène' en 2D est constituée par un arbre dont les noeuds (Node2D) ont chacun une transformation (AffineTransform) propre utilisée pour le noeud lui même et comme transformation de base pour ses enfants. La transformation définit donc une position, une rotation et une taille. Chaque noeud affiche une Image avec cette transformation quand il faut rafraîchir le layout.
Ce que j'aimerais également pouvoir faire est de gérer des 'effets' sur le rendu de chaque noeud, comme la gestion d'une transparence dynamique ou le passage progressif d'une image colorée en tons de gris. Je me suis donc tourné vers les Composites.
Problème: Bien que le (seul) composite implémenté dans la librairie standard (ie. AlphaComposite) m'autorise des performances générales correctes, dès que je cherche à utiliser d'autres composites (comme par exemple les effets fournis par l'excellent BlendComposite de Romain Guy), là ça devient totalement inutilisable (genre 2 fps).
Les effets que je cherche à implémenter ne me semblent pas si lourds en calcul et devraient pouvoir être exécutés en temps réel sans souci (Flash le fait, pourquoi pas Java), genre les compositions dynamiques comme celles implémentées par Romain Guy (couleur, saturation, luminosité, ...).
Voilà. Comment pourrais-je m'y prendre pour récupérer des performances décentes en utilisant de tels compositions ?
Merci d'avance
Partager