SV:sH③H④B_②gT GOMessageL ⑧@du O2/O5/96 ⑨Aa 21:OODAMDS de ⑧SYNTAX pour ALGORITHMESEAB`②gGR⑨Bef:]E.T\ (3O/O4 ⑨Aa 22:3O)
Hi! comme dit crac le fait que ce soit
incline ne change pas grd chose.en effetune correction de 4,8 meme 16 pixels ne
se remarque presque pas.
maintenant libre a toi de corriger tous
les pixels,mais la va falloir envisager
la station silicon graphics...
ps:euh,mon truc marche mais le clip pose des ptits probs...ben oui pour l'ins-
tant c 1 clip lineaire donc pas exact
sur l'interpolation des z...rh③Haa on
s'en sortira pas...VAB`②gT @AvancerGZ ] Suite \Y @Son r⑨BepondeurGZ ] Envoi \Y T @RevenirG ③H] Retour \ ⑧@IntervenirG ]③HN#L Envoi \ ♪♪♪①④B_②gT GOMessageL ⑧@du O2/O5/96 ⑨Aa OO:O5DAMDS de ⑧CRACounet pour ALGORITHMESEAB`②gGR⑨Bef:]E.T\ (3O/O4 ⑨Aa 22:3O)
Non, le pb ne vient pas du fait que la face est tr⑨Aes inclin⑨Bee, mais qu'elle est tr⑨Aes proche de l'utilisateur.
Point de vue math⑨Bematique: tu pars de la fonction inverse (1/x). f(x)=1/x si a et b sont petits, tu trouveras une grande difference entre la droite qui va de (a,f(a)) ⑨Aa (b,f(b)) et la courbe entre a et b. Plus x est petit et moins la fonction inverse a tendance a se comporter comme une droite.
Donc, le pb de "beaut⑨Be" du rendu reste toujours ⑨Aa fixer une ⑨Bech⑨Beance de recalcul en nb de lignes deja trac⑨Bees de la faceVAB`②gT @AvancerGZ ] Suite \Y @Son r⑨BepondeurGZ ] Envoi \Y T @RevenirG ] Retour \ ⑧@IntervenirG ]N#L Envoi \ ♪♪♪①④B_②gT GOMessageL ⑧@du O1/O5/96 ⑨Aa 13:16DAMDS de ⑧Geek pour ALGORITHMESEAB`②gGR⑨Bef:]E.T\ (3O/O4 ⑨Aa 22:3O)
tiens c pas con ca... enfin ca ferait unprod scalaire par face non ?VAB`②gT @AvancerGZ ] Suite \Y @Son r⑨BepondeurGZ ] Envoi \Y T @RevenirG ] Retour \ ⑧@IntervenirG ]N#L Envoi \ ♪♪♪①④B_②gT GOMessageL ⑧@du 3O/O4/96 ⑨Aa 22:3ODAMDS de ⑧E.T pour ALGORITHMESEAB`②gGR⑨Bef:]syntax\ (28/O4 ⑨Aa 22:41)
corriger tous les 4,8 ou 16 pixels c'estbien, mais ne serait il pas plus logiquede corriger plus souvent lorsque la faceest tres inclinee???VAB`②gT @AvancerGZ ] Suite \Y @Son r⑨Bepondeu③HrGZ ] Envoi \Y T @RevenirG ] Retour \ ⑧@IntervenirG ]N#L Envoi \ ♪♪♪①④B_②gT GOMessageL ⑧@du 28/O4/96 ⑨Aa 22:41DAMDS de ⑧syntax pour ALGORITHMESEAB`②gGR⑨Bef:]LCa\ (23/O4 ⑨Aa 23:16)
Hi! pour le mapping corrige j'ai cogite 1 certain tps et je crois ke j'ai trou-
ve qqchose:
on calcule notre pas sur une scanline non pas par rapport au poly mais par rap-
port a la texture.On a donc 1 pas lineaire seulement ds le cas d'un poly de z
constant (jusque la j'me goure pas)
et ben ensuite au niveau de l'interpola-tion on realise une inverse projection
du pas pour l'increment x et y et hop!
ca marche.DONC,pour 1 correction pour chaque pixel,ca fait 2 mul par pt.Pas mal
je pense.On fait la meme c③Hhose sur les
bords du poly donc 4 mul/scan en +.a+VAB`②gT @AvancerGZ ] Suite \Y @Son r⑨BepondeurGZ ] Envoi \Y T @RevenirG ] Retour \ ⑧@IntervenirG ]N#L Envoi \ ♪♪♪①④B_②gT GOMessageL ⑧@du 28/O4/96 ⑨Aa 19:29DAMDS de ⑧Geek pour ALGORITHMESEAB`②gGR⑨Bef:]tiefighter\ (26/O4 ⑨Aa 23:13)
le mapping ki suit la perspective suit des lignes de z constant, donc on fait une interpolation lineaire.ms comme tu le dis, ya de fortes ch③Hances d'avoir des trous ds ton polys.de + tu peux pas ecrire de words ds ton buffer , tu peux calculer ke ds bytes.ca risque de ramer...!!!
pour le mapping corrige lca a dit qu'on corrigeait l increment ts les 4,8,16 pix(selon degre de precision).il suffit (je PENSE) d'interpoler u/z,v/z,1/z lineaires le long du polys et de faire (u/z)/(1/z) pour trouver u.mem chose pr v.../..VAB`②gT @AvancerGZ ] Suite \Y @Son r⑨BepondeurGZ ] Envoi \Y T @RevenirG ] Retour \ ⑧@IntervenirG ]N#L Envoi \ ♪♪♪①④B_②gT GOMessageL ⑧@du 28/O4/96 ⑨Aa 19:33DAMDS de ⑧Geek pour ALGORITHMESEAB`②gGdonc on a les u et v corrects ts les n pixels... on a plus qu a interpoler lineairement entre chaque doublet de 2 pixelsen recalculant le delta_u et le delta_v ts les n pix.comme on corrige avec n puissance de 2, y suffit de faire u1-u2 shr 4 par ex.
voila , je crois ke ca marche(pas encore essaye now ;) ), mais pour trouver u e③Htv a chaque cote du p③Holy , ca me ferait 2 divs!ca me semble SLOW...
sinon y parait que quake precalcule ses effets de lumiere... de + ya pas d'ombres... into ze shadows ruleZ!VAB`②gT @AvancerGZ ] Suite \Y @Son r⑨BepondeurGZ ] Envoi \Y T @RevenirG ] Retour \ ⑧@IntervenirG ]N#L Envoi \ ♪♪♪①④B_②gT GOMessageL ⑧@du 26/O4/96 ⑨Aa 23:13DAMDS de ⑧tiefighter pour ALGORITHMESEAB`②gGR⑨Bef:]LCa\ (23/O4 ⑨Aa 23:12)
J'ai lu dans pcgpe, une autre facon pour faire du mapping adapte a la perspective, il s agissait de remplir le polygone non pas suivant des horizontal, mais suivant les droites Z constantes .. (cela permet d'interpoler lineairement),
quelqu un a t il deja tente et cela vautt il le cout ?
Certes cela pose certains pb (trous..) mais il y a egalement des avantages pex pour le Z_buffer ca devient tres simple. Sinon comment fait t on une correction lorsqu on intrpole lineairement horizontalement ... j ai un peu de mal a voir ..VAB`②gT @AvancerGZ ] Suite \Y @Son r⑨BepondeurGZ ] Envoi \Y T @RevenirG ] Retour \ ⑧@IntervenirG ]N#L Envoi \ ♪♪♪①④@AQ ⑧`]NGRLCTFEBLG\⑨.@Contact:GRICK
@]⑧]N*L Envoi
①④B_②gT GOMessageL ⑧@du 23/O4/96 ⑨Aa 23:12DAMDS de ⑧LCa pour ALGORITHMESEAB`②gGR⑨Bef:]Geek\ (16/O4 ⑨Aa 18:22)
ben si tu codes en mode 32 bits, faut JAMAIS utiliser les reg 16 bits; sinon, ca depend des besoins pour ma precision. par exemple, pour le mapping perspetive corrected, 8 bits de virgule suffisent puisqu'on recalcule l'increment tous les 16 pix. pou le reste, c'est en 16 bits de virgules, sauf quand il y a trop d'interpolant et donc pas assez de registres...
sinon, si je peux oser(et j'ose), vos mapping sont degueulasses: en undersamplingles segments ne sont pas reguliers. Je dis ca, car dans toutes les demos, dans tous les jeux (sauf quake, duke 3d et VAB`②gT @AvancerGZ ] Suite \Y @Son r⑨BepondeurGZ ] Envoi \Y T @RevenirG ] Retour \ ⑧@IntervenirG ]N#L Envoi \ ♪♪♪①④B_②gT GOMessageL ⑧@du 23/O4/96 ⑨Aa 23:16DAMDS de ⑧LCa pour ALGORITHMESEAB`②gGceux auxquels je participe) ont des irregularites sur les segments. C'est par exemple dans le cas ou un meme texel forme un carre a l'ecran; et bien son contourest irregulier, et c'est moche.
je ne dis pas ca gratuitement, mais juste pour vous faire prendre conscience que la vitesse est une chose, mais il faut aussi penser a l'aspect esthetique, car c'est ca que l'utilisateur voit...
lCaVAB`②gT @AvancerGZ ] Suite \Y @Son r⑨BepondeurGZ ] Envoi \Y T @RevenirG ] Retour \ ⑧@IntervenirG ]N#L Envoi \ ♪♪♪①④B_②gT GOMessageL ⑧@du 23/O4/96 ⑨Aa 23:OODAMDS de ⑧LCa pour ALGORITHMESEAB`②gGR⑨Bef:]CRACounet\ (21/O4 ⑨Aa 9:O5)
j'avoue n'avoir rien compris a ce que tu proposes...
a ton avis, si (u,v)sont tes coord. dans la texture d'un point, dans l'espace, est-ce que (u,v) est lineaire sur l'ecran?
reponse....VAB`②gT @AvancerGZ ] Suite \Y @Son r⑨BepondeurGZ ] Envoi \Y T @RevenirG ] Retour \ ⑧@IntervenirG ]N#L Envoi \ ♪♪♪①④B_②gT GOMessageL ⑧@du 23/O4/96 ⑨Aa 23:O1DAMDS de ⑧LCa pour ALGORITHMESEAB`②gG(x,y) ne sont pas lineaires sur l'ecran, car Xecran est en 1/z et YEcran est aussi en 1/z; il en est dede