|
igraphic 0.2.0
Contrats graphiques chargeables : IGraphic2Module / IGraphic3Module
|
Contrats graphiques : fenetre, dessin 2D et 3D, entrees.
Deux contrats chargeables separement, pas un module monolithique : un vendor implemente IGraphic2Module seul s'il ne sait dessiner qu'en 2D, ou IGraphic3Module (qui l'etend) s'il sait aussi faire de la 3D. Aucun vendor n'est jamais force de simuler une capacite qu'il n'a pas.
IWindow2ITextureIFontIPolygonISprite, construit depuis une ITextureIText, construit depuis une IFontIWindow3, qui EST une IWindow2 : elle dessine la 2D aussiICameraIMeshIAnimationSetIModel, construit depuis un IMesh, texture par une ITexture, anime par un IAnimationSetIWindow - cycle de vie et entrees natives, independant de toute capacite de dessin. C'est elle qui donne IKeyboard, IMouse, IGamepad.IWindow2 : IWindow - ajoute le dessin 2D.IWindow3 : IWindow2 - ajoute le dessin 3D.ITexture, IFont, IMesh et IAnimationSet portent la donnee chargee. ISprite, IText et IModel n'en portent qu'une reference : supprimer tous les sprites d'une texture ne supprime pas la texture, seul deleteTexture() le fait.