Réaliser Des Démos Sur Gamecube


GranDFrère
 Share

Messages recommandés

  • Réponses 186
  • Created
  • Dernière réponse

Top Posters In This Topic

Salut a tous,

bon bin je suis bien tombé jalé me coucher et je me dit "alé on va faire un piti tour chez tonton le gueux pour voir ce qu'on y fé".

Et je me suis tapé tout le topic d'une traite. Cé super de voir une tel motivation, cé vraiment interressant car je trouvé que la scene gamecube tournée un peu au ralenti en ce moment(...une impression?...euh...je crois pas...). Et je suis un peu en manque de bidouilles en ce moment. C'est pou ca que votre projet m'a interpelé. je n'ai que des bases en C et C++(olgo, structures...), passionné d'éléctronique, j'ai déja mené a terme avec succé plusieur projet mais rien de super extra cé un hobbit donc quand j'en ai eu marre de me lever toute le 2 sec pour mettre sur pause, forcé le son du pc quand je matté des Divx il y a 2 ou 3ans je me suis fé un télécommande infrarouge a pic pour mon pc...

tout ca pour dire que meme si je peu pas vous aidez bcp ca me tenterais bien d'apprendre en meme tant que vous et de beneficier de vos conseils.

voila j'ai deja tout vos mails j'attend juste que vous me donniez le feu vert

mon adresse msn aracno@wanadoo.fr pas de mails cé un adresse poubelle que je n'ouvre jamais.

Voila @ bientot j'espere.

Lien vers le commentaire
Partager sur d'autres sites

Invité afterbuzz

salut

Si vous avez besoin de quelqu'un pour faire une musique dans la demo. je peux faire un module (soundtracker) (msn mouarf24@msn.com).

Amiga Forever !

:P

Lien vers le commentaire
Partager sur d'autres sites

Bonjour à tous. ;)

Aracno et afterbuzz merci de votre solicitude et par donnez moi si je ne vous ai pas répondu rapidement.

Nous avons recruté pour le son: Jbam . Et un "documentaliste": Contre Courant.

Donc Afterbuzz, je suis désolé mais pour l'instant Jbam suffit.

Quant à Aracno et Jackass, nous sommes en train de réfléchir au sujet de votre demande car nous sommes déjà 3 programmeurs ...

A plutard , et bonne journée à toute la communauté.

Lien vers le commentaire
Partager sur d'autres sites

  • 2 weeks later...

Salut à tous. ;)

Cela fait quelques semaines que je ne suis pas venu consulter ce topic.

Me revoici avec une bonnes nouvelle: Tous les programmes que nous compilons

fonctionnent très bien.

Le groupe n'a toujour pas de nom, mais ça arrivera bien à un moment ou à un

autre. Je dois dire que pour le moment on se débrouille bien, et nous avons

décider de commencer à programmer quelques petites routines. Dumoins les autres membres du groupe , pas moi pour l'instant, car je suis encore en train d'apprendre le C et je ne suis pas encore au point. De plus quand j'étais au chômage j'avais du temps, mais ayant retrouvé, il y a trois jours, un emploi j'en ai moins. Mais c'est la vie.

Nous avons aussi décidé de charger nos programme, sur la GC avec PSUL, en

format GCM. En effet cela facilite grandement les choses.

A+ tout le monde et bonne soirée.

Lien vers le commentaire
Partager sur d'autres sites

Cool, je vous encourage les gars... désolé de vous avoir laché j'avais un peu peur d'etre a la traine, et j'avoue je manque de motivation pour me lancer.

Ceci dit, bonne continuation nous serons heureux de lancer vos créations.

Si vous cherchez un nom pour votre team, très simple--> gold <-- tout simplement :lol:

Lien vers le commentaire
Partager sur d'autres sites

Salut à tous. ;)

Merci beaucoup les gars, cela fait plaisir à lire. J'ai hate d'en finir avec l'apprentissage du C, pour vraiment programmer. Mais il faut savoir, parfois,

ne pas brûler les étapes. La patience paiera.

Sinon il est vrai que le groupe n'a toujours pas de nom. Ce n'est pas notre

priorité.

Bonne nuit à toute la communauté. :lol:

Lien vers le commentaire
Partager sur d'autres sites

  • 2 weeks later...

Salut à tous ;)

ça fait 2 semaines que j'ai fini mon apprentissage au C. J'ai décidé de m'attaquer à la programmation. Objectif: Afficher un triangle et l'animer. Dans un premier

temps je ne pense pas le texturer.

Il va falloir connaître tout ce qui est vertex, matrices et vidéo interface pour l'affichage. Ca a l'air compliqué, mais je m'accroche. Il faut dire que la doc est en anglais. Jai commencé par la Graphic Librarie ( GX) et je verrai au fur et à mesure ce qui gravite autour, c'est à dire les matrices (MTX) et la vidéo interface (VI).

Nous n'avons toujour pas de nom pour notre groupe.

Je vous souhaite une bonne semaine.

Lien vers le commentaire
Partager sur d'autres sites

Salut à tous ;)

ça fait 2 semaines que j'ai fini mon apprentissage au C. J'ai décidé de m'attaquer à la programmation. Objectif: Afficher un triangle et l'animer. Dans un premier

temps je ne pense pas le texturer.

Il va falloir connaître tout ce qui est vertex, matrices et  vidéo interface pour l'affichage. Ca a l'air compliqué, mais je m'accroche. Il faut dire que la doc est en anglais. Jai commencé par la Graphic Librarie ( GX) et je verrai au fur et à mesure ce qui gravite autour, c'est à dire les matrices (MTX) et la vidéo interface (VI).

Nous n'avons toujour pas de nom pour notre groupe.

Je vous souhaite une bonne semaine.

Cube arena ca me semble pas mal

(cube prenoncé cu-oube!lol)

Lien vers le commentaire
Partager sur d'autres sites

ouè c'est pas mal mais je plaisantais.Je ne mérite pas le prestige d'avoir mon pseudo sur leur team puisque je n'ai rien fais.

En plus gold c'est pour goldcard et non pour mes compétences en informatique.

Bon ok, en toute modestie je vous l'accorde :P:P

Lien vers le commentaire
Partager sur d'autres sites

gold cube team c'est pas mal mais peut etre un peu long et dur à prononcer, chépa, silvercube, x-blackube, j'en sais rien, ça ne devrait pas être tres difficile à trouver.

Donc à ce stade vous êtes fin pret à nous sortir un dol? cool

Lien vers le commentaire
Partager sur d'autres sites

Salut à tous. ;)

Bon, ça y est. J'ai réussi à afficher un cube en 3D observer par une caméra. Bon le cube ne tourne pas et ne se translate pas, mais il

saurait tarder. Pour l'affichage je passe par des vertices ( vertex au

singulier et vertices au pluriel) et la caméra est gérée par une matrice.

On peut à l'aide de la caméra touner autour du cube. Mais il faut aussi savoir animer un objet sans la caméra. La caméra n'est là que pour observer . Donc le groupe progresse et c'est tant mieux.

A plus tout le monde. :rolleyes:

Lien vers le commentaire
Partager sur d'autres sites

trop cool, je vous encourage vivement, ça fait plaisir de voir que vous persévérez en force, le plus difficile sera le premier DOL apres le reste viendra plus "facilement".

Vraiment bravo et bonne continuation

Lien vers le commentaire
Partager sur d'autres sites

Je viens de lire le topic d'une traite et j'avoue être impressionné par la détermination de GrandFrere qui a su fédérer autour de lui une petite équipe qui au vu de l'avancement pris, alors que certains au départ n'avaient que quelques notions de programmation, semble se démener plus que mieux.

Chapeau pour votre persévérance et surtout continuez à nous tenir informer :)

Lien vers le commentaire
Partager sur d'autres sites

Merci à tous ceux qui nous encourage. Merci à Gold et Legueux. Le premier .DOL

que je vous donnerai approche de jour en jour. Mais se sera juste un aspet technique, de base, de nos compétences actuelles. Il n'aura rien d'artistique. Le plaisir de voir une superbe démo vous l'aurez. Donner une date serait prématuré.

Bon week end à tous.

Lien vers le commentaire
Partager sur d'autres sites

Salut à tous. ;)

Aujoud'hui, j'ai besoin de ceux que seraient calés en programmation sur la GC. En effet je suis bloqué et à bout d'idée.

Voilà, lorsque que je veux écrire ou modifier une valeur dans un tableau

(que ce soit en 'local' ou en 'global') comme par exemple:

float points_cube[24];

points_cube[0]=-100.0;

points_cube[1]=-100.0;

.

.

.

points_cube[23]=100.0;

A l'emplacement [0] du tableau il n'y aura pas la valeur -100.0, au [1] il n'y aura pas non plus -100, etc ... Il n' y aura jamais la valeur que je souhaiterai. Sous windows ça marche mais sous GC non.

Pourquoi? :(

Si je ne peux pas manipuler les tableaux, je n'irai pas loin.

Merci àvous tous. Et bonne soirée. :D

Lien vers le commentaire
Partager sur d'autres sites

  • 2 weeks later...

salut à tous. ;)

Je pense avoir trouver les raisons qui font que mon problème de

tableaux perciste.

Voyez plutôt ( qui au passage est le chien de Mikey) ...

DATA COHERENCY -- CONCORDANCE DES DONNEES

Par concordance, il faut comprendre une liaison, une connexion des

données avec leur environnement. Et l'environnent le plus proche

des données c'est bien la mémoire. Ici, c'est justement un déficite

de concordance entre les mémoires caches du CPU et celles du GP qui font

defauts. La mémoire centrale c'est la DRAM.

La Game Cube comporte plusieurs parties du processeur (gekko) et du hardware

(Flipper...) qui peuvent mettre à jourla mémoire centrale, ne serait-ce

que pour de simples accés écriture/lecture. A eux deux,le CPU et le GP (Graphic

Processor) contiennent une variété de caches pour les données. Comme le

hardware ne peut pas maintenir une concordance (une connexion) des données

dans la mémoire centrale et dans les différentes caches associeés, il y a trois

sources de problème de concordance possibles:

1) - Quand le CPU modifie ou génère des données destinées au GP.

2) - Quand le CPU écrit des données à travers son 'write-gather buffer'

vers la mémoire centrale.

3) - En chargeant de nouvelles données, destinées au GP, issues du DVD dans

la mémoire centrale.

En d'autre termes, si vous utilsez des données, issues de la cache CPU, du

write-gather buffer ou du DVD,destinées à l'une des caches GP (cache vertex ou

cache texture) vous pouvez avoir l'un de ces problèmes.

C'est le problème du DATA COHERENCY.

D'abord ce problème est dû à une volonté de simplifier la conception

du hardware. Mais il peut être résolu grace à des fonctions.

Je rappelle que mon objectif est d'afficher un cube à l'écran,donc des points.

Une chose qu'il faut savoir avant de continuer, c'est que pour afficher

un point à l'écran on utilise un 'vertex' .Un vertex est un point dans

l'espace auquel est rattaché un groupe d'attributs. Ces attributs sont

la position, la couleur, la texture et la normale. On peut transmettre

des données à ces attributs commes les coordonnées x,y et z pour la position.

Ces données sont transmisent de deux manières: En direct ou en index.

Moi j'utilise des données indexées et non pas direct car je vais exploiter

des tableaux qui contiendront mes données.

En direct on donne directement les données.

En index on utilise des tableaux ( Arrays ) qui stockent les données.

ILLUSTRATION

Mon problème est le suivant:

Je vais utiliser 3 tableaux: vecteurs_source, vecteurs_destination et

points_cube. Vecteur_sources est rempli et les 2 autres sont vides.

Ces 3 tableaux sont stockés dans la mémoire centrale.

Le tableau points_cube contiendra des valeurs destinées au GP et, pour des

raisons de performance, vont être stockées dans la cache vertex du GP.

C'est un choix que j'ai fait. Pour l'instant il n'y a rien dans ce tableau

donc le GP n'affiche rien. Le GP attend des points à afficher, et ces point

sont appelés vertex ( mais en anglais c'est vertices au pluriel et vertex

au sigulier, tout comme index au sigulier et indices au pluriel).

J'ai un tableau (vecteur_sources) de valeurs qui sont sous forme de vecteurs.

Je vais faire le produit de ces vecteurs par une matrice de rotation, et

le resultat sera ranger dans un autre tableau (vecteurs_destination) et les

valeurs de ce tableau seront aussi des vecteurs. Ensuite les valeurs du

tableau vecteurs_destination (qui sont des vecteurs) je les converti en points

pour les ranger dans le tableau points_cube. En effet, le GP attend des points.

Toutes ces modifications de valeurs (donc de données) c'est le CPU qui les

a effectué.

Donc le CPU a modifié le tableau points_cube, certe en y rangant des valeurs,

mais aussi en les générant. C'est le 'problème 1' qui s'applique dans ce cas.

Donc le GP ne tiendra pas compte des ces valeurs, car elle seront issues de

la cache CPU.

Finalement, si le CPU génère ou modifie des données graphiques à travers sa

cache, les mémoires du type: mémoire centrale ou cache vertex et texture,

contiendront des données éculées, usée, bref incorrectes.

Alors pour envoyer des données correctes au GP, il faut Vider la cache CPU

de ses données et invalider la cache vertex ou texture du GP. De plus

ce qu'il faut savoir, c'est que le CPU manipule les données une trame (image,

frame) en avance sur le GP, aussi il y a une technique performante pour

maintenir la concordance des données:

- Grouper toutes les données graphiques modifiées par le CPU dans la

mémoire centrale séquenciellement , pour vider efficacement les données

de la cache CPU.

- Invalider le cache vertex ou texture au début de chaque trame.

( Vider la mémoire cache du CPU c'est le Flushing Cache. To flush the cache.)

Les fonctions pour le flushing cache suivant leurs utilisations sont:

DCFlushRange, DCStoreRange et DCInvalidateRange.

La fonction pour invalider la cache vertex est:

GXInvalidateVtxCache.

Je n'ai pas encore essayé cette méthode. Mais la question que je me pose

est:

Mais où ce vide la cache du CPU?

Réponse: Je pense que ce sera dans la mémoire centrale grace à DCStoreRange.

Plus de 2 semaines de recherche pour en arriver à cette conclusion.

Bon ween-end à tous. :D

Lien vers le commentaire
Partager sur d'autres sites

Invité jibe

C'est bon a savoir ca, merci GranDFrère!

Sinon quand est ce que l'on pourra voir une de tes demos ;)

Et au fait, vous n'avez toujours pas de nom, je me trompe?

En tout cas bon courage et bravo pour ta determination et ta motivation.

Lien vers le commentaire
Partager sur d'autres sites

Invité nostromo2022

Tu vas finir par me faire regretter de ne pas avoir accepté de faire partie de la team :P

En tout cas bravo pour les progrès réalisés rollwink

Modifié par nostromo2022
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

Annonces