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 |