GranDFrère Posté(e) 21 juillet 2004 Share Posté(e) 21 juillet 2004 (modifié) Bonjour à tous. Vous reconnaissez ce cube : Maintenant que le cube comporte différentes textures, je vais mettre en évidence la possibilité de translater, de tourner et de projeter les textures en modifiant, à l'aide de matrices, les coordonnées de texture. On parle ici de génération de coordonnées de textures. Alors, quel est intéret dans tout cela. Et bien vous pouvez mettre en mou- vement un objet 3D, donc modifier les coordonnées des vertex, et mettre aussi en mouvement les textures plaquées sur cette objet 3D et par conséquent modifier les coordonnées des textures. Et cela en même tant. Il faut, dans un premier temps charger les textures dans la mémoire central (main mémory) puis initialiser les paramètres qui caractériseront les textures et qui diront au Graphic Processor comment utiliser ces textures. Sans oublier de lui dire combien de générations de coordonées de texture on compte créer. Mais que sont les coordonnées textures ? D'abord, il faut savoir que les coordonnées des textures (s,t) sont indépendantes de celles des vertex (x,y,z) puisqu'on peut très bien les modifier sans que cela n'affecte les coordonnées des vertex. Ici les coordonnées textures sont 2D (s,t) mais elles pourraient être 3D (s,t,q). Ensuite, il se trouve que les coordonnées s et t sont comprisent entre 0 et 1. Une texture c'est l'image que vous voulez appliquer sur une surface, et le 4 coins de cette image, peu importe sa taille, aura comme coordonnées: - en bas à gauche : 0,0 - en haut à gauche : 0,1 - en haut à droite : 1,1 - en bas à droite : 0,1 voici un exemple 0,1 ----------------- 1,1 0,0 ----------------- 1,0 Sur GC on peut ainsi créer 8 générations de coordonnées de texture, et on peu utiliser en multi-textures 8 textures. Les coordonnées de texture passent au minimun par une des 10 matrices textures , stockées dans une mémoire dédiée, et qui ainsi génèrent soit une rotation, soit une translation, soit une projection ou une mise à l'échelle. Si on ne veut pas modifier les coordonnées de texture, il suffi de passer dans une matrice 'identité' et les coordonnée restent inchangées. La première image , au dessus, en est l'exemple. J'ai dit que les coordonnées de textures étaient issues des matrices, mais elle peuvent être générée par deux autres méthodes que je ne connais pas encore : - Le bump mapping qui utilise le style 'embossing', c'est ce qui donnera du relièf au textures. - Le cartoon lighting qui donnera un effet dessin animé. Il y a aussi la possibilitée de contrôler le mipmapping qui concerne le LOD : Level Of Detail. Le niveau de détail, c'est à dire la qualité visuelle de la texture, n'est pas le même si le texture est loin ou proche de l'observateur. Et justement cette qualitée visuelle est contrôlée par le LOD et des filtres. Ca je ne l'ai pas assez approfondi. Enfin, il exite aussi une mémoire texture TMEM de 1 Mo qui peu servire de caches multi-texture. Maintenant voilà ce que fait cette démo technique Des translations de textures: Une rotation de textures: Une projection d'une texture: Voici donc le 'GCM' zippé: - Cube avec Textures en Rotation & Translation & Projection ----------------------------------------------------------------------- Lorsque le cube apparaît la première fois il est en rotation X,Y,Z avec des texture fixes. Puis il fait une rotation en Y, et les textures sont en translation, puis il fait une rotation en X, et les textures sont en rotation. Il est de nouveau en rotation X,Y,Z et les textures sont en translation et rotation. Et de nouveau en rotation X,Y,Z avec une seule texture en rotation projetée sur le cube, ce qui donne l'effet d'une 'peau' qui englobe le cube. Remarque: J'avais fait un blocage sur la translation à cause d'un truc tout bète. Chargez se programme comme un ISO. Les boutons : Start : reset. + lien + http://dsotc.gx-mod.com/DEMOS/Cube_Textures_R&T&P.zip ***** Programme réalisé par )om(az ***** Et bien voilà, passez une bonnne semaine, gros bisous aux filles et bonnes vacances. Les membres du groupes, sont tous plombiers (comme Mario): CODERS : Torner, Kirua, DomCaz GRAFIX : X-CM MUZIX : MisterJbam DOCX : Contre-courant ( )om(az = DomCaz = GranDFrère ) ( ToToL = Kirua ) Modifié 1 janvier 2005 par GranDFrère Lien vers le commentaire Partager sur d'autres sites More sharing options...
titoumimi Posté(e) 21 juillet 2004 Share Posté(e) 21 juillet 2004 super bien joué, toutes mes félicitations (pour ce qu'elles valent). j'espère vous voir continuer encore longtemps Lien vers le commentaire Partager sur d'autres sites More sharing options...
FAiRLiGHT Posté(e) 22 juillet 2004 Share Posté(e) 22 juillet 2004 (modifié) un cube ? encore un cube ? mais pkoi ? vous auriez été bien emmerdés si la gamecube avait été un octogone imbriqué dans un triangle ^_^ (vive la géométrie ) trèves de plaisanteries, c encore du joli boulot tout ca, bravo Modifié 22 juillet 2004 par FAiRLiGHT Lien vers le commentaire Partager sur d'autres sites More sharing options...
Dr.Wily Posté(e) 22 juillet 2004 Share Posté(e) 22 juillet 2004 Ce qu'il y a de bien avec vous c'est que l'on en apprend baucoup. Comme les 8 ligh hard ou les 8 textures. Bref, sans vouloir entrè dans une polémique la XBox avec ses 4 light et son multi texture 4 passe qui se dit être une bombe. C'est bien du M$ ca. Lien vers le commentaire Partager sur d'autres sites More sharing options...
Invité jibe Posté(e) 22 juillet 2004 Share Posté(e) 22 juillet 2004 salut GranDFrère, je repond pas souvent à tes posts, mais je les lit toujours! Je vais me faire une compile de tout tes posts! car c'est vraiment tres interressant. Je ne programme que sur PC, j'ai pas encore eu le temps (et le courage ) de me lancer sur GC mais ce que vous faites est, en tout cas, tres encourageant et tentant. Quand est ce que tu nous pond un "Programmer sur GC pour les nuls" ? :lol: Encore une fois bravo! Lien vers le commentaire Partager sur d'autres sites More sharing options...
GranDFrère Posté(e) 22 juillet 2004 Auteur Share Posté(e) 22 juillet 2004 salut à tous. Je vous remercie pour vos encouragements et félicitations, et je remercie aussi ceux qui ont fait que cela soit possible grace aux divers utilitaires de chargement de DOL et GCM. Vu les connaissances acquisent durant les 6 mois de cette année, il est vrai que je pourrais donner quelques cours sur la programmation des API graphiques de la GC. Mais pour cela il faudra d'abord que je dissipe certaines zones d'ombre pour que mes connaissances soient sans failles, d'une part. D'autre part, sachez que je programme de manière non officiel avec le SDK de NINTENDO, et qu'il se peut qu'à leurs yeux se soit illégal même si je ne fais pas de piratage des jeux de la GC. Ensuite il faudrait que vous soyez nombreux et que le site GUEUX le veuille. Mais cela dit, aujourd'hui je m'en sent capable, contrairement au début et que l'on se demande dans quelle galère on est. Et puis, en Janvier je ne connaissais ni le C et ni les API de la GC. Aussi, si vous connaissez le C, OpenGL et l'anglais, alors tout vous semblera facile. Un consiel pour ceux qui débutent sur GC, faitent un tour sur les différents cours sur OpenGL, vous verrez c'est très instructif et en plus c'est en français. En effet, la librairie graphique de la GC pourrait s'intitulée OpenGX. Voilà, bonne fin de semaine. Lien vers le commentaire Partager sur d'autres sites More sharing options...
Messages recommandés
Créer un compte ou se connecter pour commenter
Vous devez être membre afin de pouvoir déposer un commentaire
Créer un compte
Créez un compte sur notre communauté. C’est facile !
Créer un nouveau compteSe connecter
Vous avez déjà un compte ? Connectez-vous ici.
Connectez-vous maintenant