Dites Le Avec Des Fleurs


GranDFrère
 Share

Messages recommandés

Bonjour à tous. ;)

Vous reconnaissez ce cube :

texcube2.jpg

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

fleur.jpg

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:

texcubetrans3.jpg

Une rotation de textures:

texcuberot13.jpg

Une projection d'une texture:

texproj33.jpg

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é par GranDFrère
Lien vers le commentaire
Partager sur d'autres sites

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 sick )

trèves de plaisanteries, c encore du joli boulot tout ca, bravo ;)

Modifié par FAiRLiGHT
Lien vers le commentaire
Partager sur d'autres sites

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

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 :rolleyes: ) 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

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

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 compte

Se connecter

Vous avez déjà un compte ? Connectez-vous ici.

Connectez-vous maintenant
 Share