Un petit RayTracing

Partagez votre expérience de PureBasic avec les autres utilisateurs.
G-Rom
Messages : 3627
Inscription : dim. 10/janv./2010 5:29

Re: Un petit RayTracing

Message par G-Rom »

j'ai pas fait gaffe.
par contre ligne 230 tu as une coquille sur un couple xyz, mais ca ne regle pas ton probleme.
comme le code en C est "macroïsé" a mort , par exemple
p=S(v(17,16,8)+t,!(t*-1+(a*(R()+x)+b*(y+R())+c)*16))*3.5+p;
correspond a quelques dixaine de lignes de code pb, est tu sur de l'ordre des opérations sur toute les macros ?
G-Rom
Messages : 3627
Inscription : dim. 10/janv./2010 5:29

Re: Un petit RayTracing

Message par G-Rom »

j'ai aussi compilé le code en C avec g++, l'image ppm est la bonne , il me faut sur mon I7 ~50 sec, sachant que ton premier code me prends 350ms , ceux qui ont 30 sec de rendu sur ton adaptation démontre surement le problème cité plus haut, l'ordre des calculs ne doit pas être bon.


edit:

8 secondes avec l'option -03... 8O donc, ignore ce topic.
G-Rom
Messages : 3627
Inscription : dim. 10/janv./2010 5:29

Re: Un petit RayTracing

Message par G-Rom »

aussi, ce genre de boucle :
for(int k=9; k--;)


En C cela va de 8 a 0 , pas de 9 a 1 comme ton code en PB.
comtois
Messages : 5172
Inscription : mer. 21/janv./2004 17:48
Contact :

Re: Un petit RayTracing

Message par comtois »

G-Rom a écrit :es tu sur de l'ordre des opérations sur toute les macros ?
J'ai aussi un doute là dessus. Mais comme tu le dis c'est tellement compacté que c'est pas facile de faire le tri.

J'ai changé le calcul de a et b dans la fonction main() , je multiplie par 0.002 après avoir normalisé le vecteur.

J'ai forcé la couleur de fond à 255 au lieu de 13 (ligne 233) et là je vois enfin quelque chose se tracer !!

Ce n'est pas centré, mais les lettres 'aek' apparaissent bien, donc le tableau G() est correctement lu et tracé.

Reste à trouver où est le problème sur la couleur et pourquoi les lettres ne sont pas centrées

J'ai mis le code à jour.
http://www.purebasic.fr/french/viewtopi ... 4&start=11
http://purebasic.developpez.com/
Je ne réponds à aucune question technique en PV, utilisez le forum, il est fait pour ça, et la réponse peut profiter à tous.
Répondre