moi je peux te dire que non, rv
moi aussi je me suis longuement penché sur le problème...
j'avais des équations de fou, et finalement, je me suis apperçu que tout se simplifiait et qu'on rtobait sur un simple thalès.
tu t'es penché sur la question, mais toi, ça marche pas alors que moi ça marche impeccable
toute la perspective de mon moteur, qui est il me semble assez réaliste est basée sur ce principe
tu connais les coordonnées x,y,z de ton point, eh bien les coordonnées projetées sont:
x'=focal*x/z
y'=focal*y/z
j'ai essayé par tous les moyens de virer le 1/z, mais c pas possible, et ça peut facilement se comprendre.
par contre, on peut très facilement simplifier les formules au dessus, paske moi, les divisions, j'aime pas
don tu fé:
temp=focal/z
x'=temp*x
y'=temp*y
et tu peux aussi virer la constante focal, qui est la distance de l'oeil à l'écran. (en fait, c une variable, paske c mieux de pouvoir la changer, paske quand focal augment, ça revient à faire un zoom )
tt simplement, l'angle de vision d'un être humain est de 90°
or l'écran de la 92 fait 240 de large, don pour avoir les 90°, il faudraitavoir:
focal=120
valeur qui se rapproche nettement de 128
tu insère un petit lsl #7,dx et c bon...
si tu as déjà joué à max payne, quand il est dans sonrève, et que tu dois le guider dans le labyrinthe de couloirs, pour avoir cet effet de tiraillement du décor, le moteur diminue simplement la valeur de focal (enfin, ça c ma notation...)
de même que dans quake ou wolfenshtein (le nouvo), qd tu fé un zoom, c focal qui augmente.
maintenant, va voir les shots de mon moteur, et dis moi si la perspective est pas réaliste
c simple, c EXACTEMENT la même technique pour tous les moteurs 3d, sauf que certains utilisent les produits scalaires, mais ça revient EXACTEMENT au même
je viens de faire un dessin, c bcp mieux:
1: projection sans perspective
2: fausse perspective
3: vraie perspective obtenue avec thalès
[edit]Edité par sBibi le 07-11-2001 à 19:46:30[/edit]