le 19/02/06  marseille (france)

		3d prossessing


	ceci est le squellette non optimis du moteur 3dengine
	en effet, il manque l'talement du code, l'imbriquation des registres, la mise en cache des donnes, le saut des points invisibles, le calcul des objets cachs, la projection de textures, le calcul des reflets, l'utilisation des jeux SIMD et des fonction presentes sur les cartes 3d

	ce code n'a pour but que de debugger des systmes de donnes

	cet exemple n'autorise que les appels de second niveau
	les niveaux sont en rapport avec les addressages
	un appel de premier niveau revient  un addressage par index unique
	exemple:
		mov eax,[esi]	;premier niveau, on met la valeur addresse par esi dans eax
		mov esi,[esi]   
		mov eax,[esi]   ;second niveau, on met la valeur addresse par la valeur addresse par esi dans eax
	en bref:
		mov esi,[esi]	;premier niveau
		mov esi,[esi]   ;second niveau
		mov esi,[esi]   ;troisime niveau
		mov esi,[esi]   ;quatrime niveau
		mov eax,[esi]	;cinquime niveau

	c'est pourquoi il est question de niveaux
	le moteur de second niveau fonctionne sur la base d'une table de coordonnes x,y,z (un trio par point) et d'une table d'index pour indiquer les points qui seronts relis P1,P2 (un duo par ligne),le tout etant index par un tableau indiquant la figure utilise et les deplacements x,y,z par rapport  l'origine (0,0,0)

	il manque les dplacements angulaires...
	mais j'ai pas envie de m'y mettre car je suis sur un moteur systeme GUI en ce moment!
	si des fichiers sont manquants c'est normal car j'effectue les sauvegardes un peu n'importe o
	
	le programme 3dengine.com tourne  environ 5 ecrans par seconde sur mon vieux pentium mmx  233MHz sous windows98 en plein ecran quand il affiche 19531 points et 29450 lignes c'est peu mais il faut etre modeste, le calcul d'un point prend 8 imul et 2 idiv ce qui vaut une performance equivalente  1% des capacits des dernieres cartes graphiques  500MHz ( 4*500 000 000 multiplications en virgules flottantes par seconde )
	donc sur vos machines il ne peu tre que trs rapide

	une precision encore, le programme calcule tout les points en une passe puis les relie entre eux en une seconde passe ce qui augmente la rapidit et diminue considrablement le nombre de divisions et multiplications 
	les boutons de la souris servent  modifier le dplacement et la souris sert  piloter
	les touches 'l' et 'p' servent  selectionner l'affichage des points et celui des lignes
	la touche chap permet de sortir
		
	une dernire chose, je n'ai pas encore inclu le calcul des objets cachs car je suis trs nul en maths alors si quelqu'un a un algorithme tout en assembleur  proposer, je me ferai un plaisir de l'utiliser
	pareil pour la projection d'images
	en gros pour tout ce qu'il y a marqu dans l'intro
	putaing con
	la dedicasse  remi c'est parce que c'est lui qui m'avait demand un moteur 3d il y a 3ans
	puis je m'y suis mis il y a 3mois
	si vous avez des ides pour ce moteur faites le savoir

	au fait tout est ecrit avec la syntaxe de fasm.exe
	vous le trouverez sur  http://flatassembler.net/
	si vous n'avez jamais fait d'assembleur il vous faudrat environ 2 ans	pour arriver  vous dpatouyer et un bon niveau d'anglais americain pasque c'est tout en anglais ricain.


		MOILE
 
	merci et tchao  bientot sur fasm.com
email=oliviercauet06@hotmail.com et oliviercauet@gmail.com
