Aller au contenu

Projet — Un raytracer en OCaml

Projet · OCaml · ocamllex, Menhir, dune

Cours : Programmation impérative · Arbres · Grammaires non contextuelles

Architecture des modules

Rôle Modules
Géométrie geometry.ml (vecteurs float3 et opérateurs), solver.ml (Cramer en dimension 3)
Caméra camera.ml, pellicule.ml, ray.ml
Primitives sphere.ml, plan.ml, triangle.ml, aabb.ml, implicite.ml, champdedistance.ml, mandelbulb.ml, mesh.ml, réunies par primitive.ml
Objets et scène objet.ml (primitive + matière), matiere.ml, lumiere.ml, scene.ml (hiérarchie de boîtes englobantes)
Rendu rendu.ml (path tracing), echantillon.ml (tirages aléatoires)
Langage de scène lexer.mll, parser.mly, abstractscene.ml, sceneeval.ml
Programme cli.ml