← view all posts

Raytracing en Python

En noviembre, en esos huecos y tiempos muertos de 5-10 minutos que surgen en el dia a día, me entretuve programando un raytracer en Python.

Motivos:
1. Reaprender python
2. No se necesita un motivo para hacer un raytracer!

El código es muy chapucero. Hice lo mínimo para conseguir lo que quería, en cada momento. Al final, llegué a implementar (no de forma general):

- Esferas y planos,
- Componentes difusa y especular,
- Reflexión,
- Ambient Occlusion (con coloreado, a lo Final Gathering)
- AntiaAliasing básico

No hay mejor forma de testear un raytracer que por sus imágenes, y estas son todas las que hice durante el desarrollo:



Las imágenes van avanzando solas, a menos que pases el ratón por encima.

Podría dejar el código para descargar, pero me da vergüenza, es muy chapucero y sucio :P Si alguien lo quiere, que me lo pida personalmente, y no tendré problema en pasárselo.


--- Comments --------

Cómo ves de velocidad la librería matemática de python?.
Has probado multiprocessing para explotar varios procesadores?

Feliz año nuevo!
Borja ~ 2 years ago

Nop, como dije, va todo a pelo :D
mmm... pero lo de multiprocessing sería muy fácil de implementar, quizás lo pruebe.
Feliz año jefe!!!
Diego ~ 2 years ago

Pues a mi me molaría echarle un vistazo al código.

Saludos desde las islas
manolopm ~ 2 years ago

¡Y qué bonita la imagen del final!

Los raytracers siempre son enternecedores. No sé qué tienen. Sobre todo ver todo el desarrollo, de lo más chapucero a la imagen final con sus reflejos y sus cositas... :)
sole ~ 2 years ago

Gracias!
Sí, lo más chulo es que se empieza de cero, y poco a poco, y con una curva de aprendizaje muy adictiva, vas creando "una realidad" :)
Diego ~ 2 years ago

  
»Post a comment
(Tags allowed: <b> <u> <s>)

 
Write down: MERLI  

← view all posts


All content is Copyright 2009 Diego Fernández Goberna, unless otherwise stated.