bah, le C c'est tres bien comme pseudo langage quand tu code en asm
moi c'etait pareil, j'av d'abord appris l'asm, et le C bcp plus tard
et, heu, le clipping, ca ralentit, oui, mais pas tant que ca, et ca permet surtout d'eviter de calculer des tas de trucs qui servent a rien...
Galmiza:
"Personnellement, pour chaque point projeté, j'ai 2 divs et 8 muls et ces fonctions sont tres lentes surtout quand il y a plusieurs centaines de points a projeter."
c'est quasiment rien ca... dans un moteur, c'est pas ca qui bouffe le plus de temps... encore moins dans un jeu. et divisier par deux, c'est comme multiplier par 0.5, dans tes matrices de projections, t'auras bcp de valeurs comme ca, avec des 0.qquechose alors a moins d'utiliser les floats...



tout ce que tu pourra faire c'est utiliser une pauvre virgule fixe bien merdique qui te donnera une precision horrible... et t'aura plein de points qui fretilleront partout a l'ecran...
et franchement, deux div par points, c'est pas la mort
quand tu pense que le perfect perspective texture mapping requiert une div par pixel...
et que si t'approxime, tu peux descendre a une div tous les 8 ou 16 pixels (pour chaque scanline), heu, tes 1 div par points, c'est un peu rien du tout
"Je cherche des routines pour clipper lignes et rectangles pleins mais je n'en trouve qu'en C .... mais je fais l'assembleur.
En as-tu par hazard? "
j'ai surtout l'impression que tu cherches a assembler des routines faites par d'autres pour faire TON moteur...
enfin en tt cas c'est l'impression que tu donne avec plusieurs posts de ce style la...
si pour toi reflechir 1h ou 2 sur un probleme c'est trop, je crois que tu te fais un peu des illusions
"Sinon, genlib en possède, il me semble. Demande à son auteur s'il veut bien te passer la source"
heu oui, tu peux toujours demander a PpHd si il veut te filer les sources de GenLib, mais bon, espere pas trop

"Ce que je fais actuellement, c'est allouer un espace memoire 4 fois plus grand que la taille de l'ecran, projeter les points sur cet memoire, puis n'afficher a l'ecran LCD qu'une partie de cette memoire, le milieu (pour que les lignes dont les extrémités ont leurs coordonnées legerement en dehors de l'ecran soient quand meme affichées).
Avantage: rapidité
Inconvenients: les lignes ne sont pas toutes affichées (si on est vraiment trop pres d'elles par exemple)
"
mort de rire
je suis sur qu'avec un clipping bien fait, tu peux aller plus vite qu'avec le truc de porc que tu fais
je dirais plutot:
Avantages: aucun
Inconvenients: bouffe de la place pour rien (t'hesite a mettre une table de cos entiere, mais tu bouffe 4*la taille d'un buffer d'affichage alors que ca sert vraiment a rien), tu dois calculer et dessiner tout plein de pixels qui seront JAMAIS visibles, pour recopier la partie visible de ton buffer a l'ecran, tu dois le faire ligne par ligne (alors que tu pourrais le faire directement, "brute force", tout d'un coup, a coups de movem massifs

), et en plus comme tu l'as dit, les faces trop pres disparaissent parceque soit elles sortent de la zone d'affichage, soit en plus, un ou plusieurs de leurs sommets sont derriere l'ecran pendant que d'autres sont devant...
la methode que t'utilise, c'est la solution de facilite qui demande absolument aucune reflexion, c'est d'ailleurs une des premieres chose a laquelle quelqu'un qui a jamais code de moteurs 3D peut penser... (et encore)
"mais il me semble que sBibi clippe ses polygones avant de les afficher"
oui, perso je les clippe dans le worldspace, et ca resoud tous les inconvenients de sa methode.