Ray Tracing en c++, image massman.free.fr


 

Le Ray-Tracing, qu'est ce que c'est ?

 

Le Ray Tracing est une méthode de calcul d'image en 3 dimensions. Elle se base sur une méthode de rendu par illumination. Le principe est le suivant :

- On définit une scène à rendre, constituée d'objets (objets, sources lumineuses...) dans un espace en 3 dimensions et un écran (sorte de fenêtre) derrière lequel on se place. A travers cet écran, on peut voir la scène que l'on cherche à rendre (en fait, cet écran sera notre image).

- Ensuite on va tracer un rayon partant du point d'observation passant tout à tour par chacun des points de l'écran ( le nombre de point de l'écran determine alors la définition de notre image ).

- On va ensuite tester si le rayon ainsi obtenu rencontre un objet de notre scène.

- Si il ne rencontre aucun objet, alors le pixel de l'écran par lequel passe ce rayon aura une couleur définie, couleur de fond de l'image.

- Si par contre il rencontre un ou plusieurs objets, on va d'abord déterminer quel objet ce rayon croise en premier.

- Une fois le point de l'objet déterminé, on va déterminer l'intensité lumineuse à lui attribuer en fonction de sa position par rapport aux sources lumineuses présentes dans la scène ( sources directement, soit par les sources réfléchies par exemple ). Pour cela, on calcule l'incidence du rayon passant par le point en question et le centre de la source lumineuse sur la surface de l'objet par exemple.

- On vérifie aussi que notre point de l'objet n'est pas caché d'une source lumineuse par un objet de la scène, sinon cela veut dire qu'il n'est pas éclairé.

- On va ainsi obtenir une variation de luminosité fonction des sources lumineuses qui va permettre de donner l'effet 3d à notre image.

- Pour finir, on va attribuer au pixel correspondant à ce rayon la couleur correspondant au point de l'objet rencontré modulé par la luminosité calculée.

 

Le rendu de l'image par Ray Tracing se base donc sur un procédé simple : on va tester tour à tour chaque point de notre écran.

 


 


Exemple d'images rendues par Ray Tracing.

image de Samuel Hornus ( http://www.crans.org/~hornus/index.html ) image obtenue par massman.free.fr gràce au programme en c++

 


 

Mon projet a été de faire un programme en C++ permettant de rendre l'image de droite. Vous trouverez sur la page suivante les sources commentées de ce programmes.

Les Sources C++, c'est par là....

 

http://massman.free.fr, le site.
Massman Corp. 2001©

Retour au menu (modem - autres)
Ecrivez-moi