1

Salut tout le monde !

Vu que je n'ai plus internet dans ma chambre, je ne peu plus me connecter sur Yaronet mourn ...

J'ai un peu avancé mon moteur 3D mais je peux encore l'optimiser tres sensiblement.
Je vais peut-etre faire un flight simulator sur 89. Pour l'instant le fps est assez prometteur.

Voici 2 gif animés pour vous en donner un apercu:

shot01.gif shot02.gif

Bonnes vacances a tous ...
What kind of technology is this?

2

C'est très prometteur. Vraiment du bon boulot. smile
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

3

Oué smile Et c'est normal les traits blancs quand ça bouge? Ou c'est un artefact du screenshot?

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

4

Oui bravo et continu grin
Cyril Mottier [Etudiant à l'Institut National des Sciences Appliquées (INSA) de Rennes]
Mon site perso c'est ici
Tuto sur l'utilisation de Vertel3 : Cliquez ici

5

Tu l'as fait avec quoi, ton screenshot ?
Sinon, oui, ça a l'air pas mal.
Par contre, le fps est assez élevé, mais le nombre de polygones est relativement petit (en plus, ils ne prennent pas tout l'écran)... Le fps indiqué sur le screenshot est le même que celui que tu as sur vraie calc ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

6

Merci, ca fait plaisir.

Pollux -> Les traits blancs ne se voient pas sur vraie calculette. Ils apparaissent sur le gif sans doute parceque les plans de niveaux de gris ne sont pas rigoureusement rafraichis en meme temps.
Sasume -> Je fais les gifs avec tishot. Sur l'exemple, il n'y a que 9 cubes (12 faces et 8 points chacun <=> 108 faces et 72 points).

Je vais tenter de l'optimiser a fond pour en faire un jeu fluide.
What kind of technology is this?

7

Moi je trouve que c'est vraiment trèèèèssss prometteur !!!
Le nombre de fps m'impressionne !
C'est moi Arnsy. BONJOUR.

8

Voici l'executable.
Je ne joins pas l'editeur de niveau car il n'est pas tres beau ni tres intuitif pour l'instant, mais un niveau deja tout fait avec quelques cubes mis en place un peu n'importe comment.
Les optimisations que je vais apporter vont d'avantage accelerer le moteur quand les faces ne seront pas visibles a l'ecran.

D'accord, il y a pas mal de bugs d'affichage quand on est trop pres des solides.

Librairies necessaires: graphlib et filelib
Ma ti89: rom 2.03 et HW2

http://www.ifrance.com/brisboul/shots/view3d.89z
http://www.ifrance.com/brisboul/shots/area3d.89s

PS: Quand j'ai commencer a faire le moteur 3d, je n'avais strictement aucune connaissance dans le domaine 3d .... donc j'ai programmé plein de trucs inutiles ou qu'il faut changer... donc l'optimisation pourra durer tres longtemps.
What kind of technology is this?

9

Si tu veux je peux t'aider sur des optimisations en ASM? Pas d'algos mais optimisation globale.
avatar
la Nature nous montre seulement la queue du lion. Mais je suis certain que le lion a qui elle appartient pense qu'il ne peut pas se révéler en une fois en raison de son immense taille.

- Fondateur de Ti-Gen -: http://www.tigen.org

- Membre du Groupe Orage Studio -: http://oragestudio.free.fr/

- Mon site perso -: http://tisofts.free.fr

Projets TI68K en cours:
GFA-Basic = http://www.tigen.org/gfabasic
Arkanoid.
PolySnd 3.0.

10

Oups, j'ai oublié d'expliquer les commandes:

2nd-diamond = avancer-reculer
droite-gauche = rotation autour de la verticale
avant-arriere = baisser-lever la camera
plus-moins = augmenter-diminuer le plan limite lointain (distance a partir de laquelle les faces ne sont plus affichées)

La rotation de la camera autour de son axe de vision a ete desactivée car il est difficile de se deplacer dans le monde lorsqu'elle est activée (idem que dans le flatspin de moitib).
What kind of technology is this?

11

Merci beaucoup geogeo.

Pour l'instant je vois a peu pres comment optimiser le moteur, mais je n'hesiterais pas a te demander de l'aide si besoin est.
What kind of technology is this?

12

Bon, je joins un autre programme qui est exactement la copie de view3d.89z, mais les commandes sont differentes:

2nd-shift = avancer-reculer
plus-moins = augmenter-diminuer le plan limite lointain (distance a partir de laquelle les faces ne sont plus affichées)
Le curseur remplace exactement un joystick.

Vous remarquerez un probleme esthetique: le monde semble se deplaver de maniere saccadée. C'est a cause de la faible precision de mes fonctions trogonometriques.... mais je vais arranger ca.... apres avoir optimisé le reste bien sur.

Les memes librairies sont necessaires ainsi que le monde joint precedemment.

http://www.ifrance.com/brisboul/prog/flight89.89z
What kind of technology is this?

13

Pas mal, la fluidité est bonne et le fps et souvent très proche de 35 smile
Et l'exécutable est petit aussi, bravo ! (6 fois plus petit que celui de Trinityde sBibi).

Par contre, tu as un léger bug d'affichage : quand tu dessines un pixel gris clair, tu armes le bit correspondant dans le plan clair, mais tu ne prends pas la peine de mettre à 0 celui qui correspond au plan foncé, ce qui fait que si tu as un polygone clair et un polygone foncé devant on aura une zone noire (due à la superposition du gris clair et du gris foncé).
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

14

Effectivement, quand une face doit etre gris clair, je ne touche pas au plan foncé: c'est plus rapide smile et tous les moteurs 3d sur ti que je connais ont ce "bug" (sauf celui de moitib).
Mais si je fais un simulateur de vol, je m'arrangerais pour que ce bugs ne se vois pas.... gni
Et l'exécutable est petit aussi, bravo ! (6 fois plus petit que celui de Trinityde sBibi).


Merci, la taille du fichier externe n'est pas trop volumineux non plus .... grin

Pour la taille du programme, je peux faire encore plus petit car j'ai laissé dedans plein de solide que je n'affiche pas (car laids).
Mais l'optimisation risque de faire gonfler sa taille...

What kind of technology is this?

15

Tu comptes gérer les BSP ou une méthode du genre ?
www.wikio.fr/user1921&info=comments

16

il ne faut pas que graphlib et filelib, ca demande aussi userlib
avatar
Wenn ich morgen meinem Gott gegenübertrete, kann ich ihm sagen: "Ich bin unschuldig, ich hab' niemandem etwas getan - außer mir selben" Und das verzeiht er mir offentlich !
Falco - Hans Hölzel 1957 - 1998
RIP

17

15.> Un pticoup de preos et ça repart ! (avec stdlib)

Sinon, pourquoi ne pas adapter 'Star Wars' CPC ou C64 ou... ? Ca serait cooooool surtout avec un moteur très prometteur... ENCOR BRAVO !
Avant, je roulais en Ti-Basic, une 4L, puis j'ai découvert flib, une Peugeot 205, pour finalement découvrir vertel (une Renault Safrane)... Pour finir en C (Bentley Arnage) ?
En attendant, je parcours le monde sur un Yoshi...

18

c du _nostubneutral
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

19

limmt réclamait des libs...
Avant, je roulais en Ti-Basic, une 4L, puis j'ai découvert flib, une Peugeot 205, pour finalement découvrir vertel (une Renault Safrane)... Pour finir en C (Bentley Arnage) ?
En attendant, je parcours le monde sur un Yoshi...

20

Ué, mais si tu prend en compte ce que dis Limmt, t'as pas finis de passer pour un contriroll
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

21

ah non, on va pas remettre cette discussion... Je sais très bien ce que tu penses de wam... sad
Avant, je roulais en Ti-Basic, une 4L, puis j'ai découvert flib, une Peugeot 205, pour finalement découvrir vertel (une Renault Safrane)... Pour finir en C (Bentley Arnage) ?
En attendant, je parcours le monde sur un Yoshi...

22

bah tu donnes tous le temps une bonne raison, donc bon...
avatar
Membre fondateur de la Ligue Anti-MacIntoc
~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

Un expert est quelqu'un qui en sait de plus en plus sur de moins en moins
de choses, jusqu'à ce qu'il connaisse absolument tout à propos de rien.

23

Je sais pas pourquoi je l'ai en noir&blanc en tout cas bravo c'est très prometteur...

Par contre je te met en garde contre le rendu de terrains si tu fait un flight simulator, car il y a beaucoup d'éléments a afficher ce qui rallentit considérablement le jeu. Ceci dit, tout dépend de ce que tu affiches, si tu fais juste un sol plat avec différents niveaux de gris ou textures, ca passerra sûrement.
Autre chose, comme on me l'a dit pour Space Dementia, un jeu de simulation de vol sans joystick est ardu à manipuler...

A part ça, bonne continuation.
Mon site :
[TI68k] Space Dementia I : Version 0.8
[TI68k] Space Dementia II, mod arena : Version 0.3 avec IA
[OpenGL] Environment Mapping 3ds Viewer : version 1.0
[OpenGL] Programmation d'une simulation de voiture avec le moteur physique Tokamak

24

moitib > En fait, chaque objet aura un plan limite proche et lointain, c.a.d, je ne projeterais sur l'ecran le solide uniquement s'il se trouve a une certaine distance de la camera.
Chaque solide detaillé aura une (voire plusieures) "image" moins detaillée qui s'affichera a leur place quand il sera trop loin.
Donc, pour un meme decor, le nombre de point a projeter et le nombre de faces a afficher, donc la vitesse du jeu, dependra de la position de la camera.

MacIntoc et limmt > Je fait mes programmes avec un tres vieux tombe compilateur (qui fonctionne, c'est l'essenciel non?), j'inclus os.h, filelib.h et graphlib.h mais rien d'autre (pas de _nostub, ni de userlib).

Raphaël > Ca veut dire quoi BSP eeek ? Si c'est ce qu'utilise sBibi dans Trinity pour n'afficher que les murs qui sont suceptibles d'etre vu, je programmerais une telle fonction si je fais un moteur optimisé pour les couloirs genre doom.
What kind of technology is this?

25

BSP = Binary Space Partition.
C'est une structure de données qui te permet de stocker tes polygones sans avoir besoin de faire un tri sur z pour les afficher correctement.

Ce dont tu parles, si je comprends bien, c'est du PVS, qui permet carrément de ne pas traiter certaines portions de ton monde s'il n'a aucune chance d'être visible. Pour un simulateur de vol, c'est parfaitement inutile, comme tu las fait remarquer.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

26

Galmiza :
MacIntoc et limmt > Je fait mes programmes avec un tres vieux tombe compilateur (qui fonctionne, c'est l'essenciel non?), j'inclus os.h, filelib.h et graphlib.h mais rien d'autre (pas de _nostub, ni de userlib).

Ben moi, je te conseille de récupérer la version la plus récente (0.95 bêta 3) de TIGCC: http://tigcc.ticalc.org. Même si c'est pour faire de l'assembleur. Il n'y a qu'a voir tout ce que peut faire notre linker.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

27

[hors_sujet] Je ne pense pas changer de compilateur car il n'y a qu'avec celui que j'utilise actuellement pour la ti qui fonctionne bien.

J'ai fait du C++ avec DirectX sur PC, tout fonctionnais tres bien (apres bien des heures de galeres pour que les LINKING se deroulent bien), mode plein ecran, lectures de wave, utilisation de la souris, du clavier, scrolling, clipping ..... jusqu'a ce que j'essaye de lire des son en mp3, pas moyen de passer le LINKING avec succes.

Idem pour le compilateur de TIGCC, j'ai fait des copier-coller de mon Zelda pour le compiler avec TIGCC, pas moyen d'eviter des 10n d'erreurs de linking bien sur, mais meme de code ! [/hors_sujet]

Sinon, ca y est, j'ai terminé la partie la plus difficile de l'optimisation que je comptais faire.
Aucune release pour le moment.
What kind of technology is this?

28

Tu utilises quoi comme assembleur ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

29

Il existe pluiseurs assembleurs ?
J'utilise l'assembleur du motorola 68k ........ gni

Avec des d0, a0 pas des %d0, %a0.
What kind of technology is this?

30

Ben il est inclus dans TIGCC confus
Tu utilises quelle version ?
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »