2010-12-04 35 views
4

Il y a des années à l'université j'ai écrit un ray tracer en C++, mais maintenant je ne peux plus m'en souvenir. Juste pour le plaisir, j'ai décidé d'essayer d'écrire encore un ray tracer, cette fois en C#. Malheureusement, j'ai du mal à commencer la traduction des coordonnées de la caméra aux coordonnées du monde.Tutoriel de suivi de rayon simple?

Quelqu'un peut-il me recommander un bon ensemble de tutoriels sur l'écriture d'un ray tracer à partir de zéro? Mes connaissances en mathématiques sont assez basiques, donc j'ai besoin de réapprendre la multiplication de la matrice impliquée dans l'élaboration où un point sur l'écran est dans l'espace 3D pour lancer un rayon à travers lui. L'intersection avec les formes et les parties d'ombrage Je pense que je peux travailler, mais j'ai besoin de revenir à l'essentiel pour la traduction de la caméra.

Merci!

+2

Que diriez-vous de [ceci] (http://www.devmaster.net/articles/raytracing_series/part1.php)? – bobobobo

+0

Voir aussi http://stackoverflow.com/questions/362140/literature-and-tutorials-for-writing-a-ray-tracer – lhf

+1

Aimer le downvote silencieux sur une question de 6 ans: P –

Répondre

2

J'ai fait un traceur de rayons très simple, si vous voulez jeter un oeil à un échantillon de code C++ voici le lien. a tiny ray tracer project

1

Pas un tutoriel en ligne, mais le livre Ray Tracing from the Ground Up par Kevin Suffern est très détaillé.

+0

Kevin Suffern était mon professeur à l'université (il y a quelque temps déjà). Donc, j'essayais de recréer la multiplication de la matrice qu'il nous a donnée pendant le cours sans simplement la copier mais sans la comprendre. Je suis entré en contact avec lui et il s'avère qu'il utilise maintenant des bases orthonormées pour faire la conversion de la caméra. J'ai maintenant mon traceur qui utilise cette technique, et c'est beaucoup moins de code que la multiplication de la matrice, mais en faisant essentiellement la même chose. –