|
Sabrás que has estado trazando rayos demasiado tiempo cuando... |
... escuches un nombre que comienza con la letra k y te preguntes si es el segundo nombre de David Buck. |
-- Alex McLeod |
Ésta es la (no tan corta) historia de POV-Ray (de la boca del caballo, como quien dice):
Allá por 1986, más o menos, yo tenía una Amiga. Un amigo que también tenía una Amiga, se bajó el código C de un trazador de rayos para Unix desde Internet y me lo trajo. Yo pensé que era interesante y lo porté a la Amiga, escribiendo también los drivers para mostrar los gráficos en el Amiga. El programa sólo dibujaba esferas sin texturas con un suelo plano en blanco y negro, pero aun así estaba impresionado. Jugué un poco con él, agregándole soporte para color, pero eventualmente decidí que podía hacer un trabajo mejor escribiendo un trazador de rayos desde cero, así que borré el programa en C y comencé el mío propio: fue el inicio de DKBTrace.
Decidí comenzar con superficies cuadráticas generales ya que con ellas se pueden representar esferas, elípticos, cilindros, planos, y más. Resolví los cálculos de intersección de rayos cuadráticos, y usé algunos cálculos para resolver la superficie en un punto. Para la estructura del programa, decidí usar un estilo orientado a objetos, ya que había aprendido Smalltalk en la universidad y se ajustaba bastante bien. Para hacer el modelado más flexible, agregué CSG y texturas procedurales. Al final, tenía un pequeño pero interesante trazador de rayos, y decidí cederlo como freeware, ya que estaba planeando regresar a la universidad para comenzar mi título de Master, y no tenía tiempo para desarrollar un trazador de rayos comercial. Además, ya existían generadores comerciales para la Amiga que tenían interfaces de usuario (no sólo archivos de texto) y sentí que no podía venderlo como un producto comercial. Lo llamé DKBTrace y lo ofrecí en las BBS locales y en Internet.
DKBTrace era un programa sólo para Amiga, pero atrajo mucho interés. Yo saqué varias versiones del programa agregándole nuevas funciones, mejores primitivas, más opciones de texturas, etc. Eventualmente salió la versión 2.01.
Un día, allá por 1987 o 1988, fui contactado por Aaron Collins. Él había encontrado el código de DKBTrace para C y lo había portado para PC. También agregó el modelo de iluminación Phong y unas pocas cosas más. Yo estaba interesado en lo que él había hecho, así que contacté con él, para ver si quería ayudarme a desarrollar una nueva versión del programa. Ésta sería portable a diferentes plataformas (en la universidad tenía acceso a estaciones de trabajo Unix). Eventualmente, llegó la versión 2.12, que fue la última versión de DKBTrace en salir (1989).
Mientras Aaron y yo estábamos trabajando hasta la versión 2.12, había un grupo de personas en CompuServe que estaban interesadas en usar DKBTrace y creaban toda clase de escenas para él. También expresaron frustración porque Aaron y yo no podíamos agregar nuevas características a DKBTrace lo suficientemente rápido. Comenzaron a hablar acerca de construir un nuevo trazador de rayos desde cero, que ellos pudieran controlar y agregarle las características que deseaban. En ese momento, yo empezaba a explorar otras áreas y estaba comenzando a distanciarme del trazado de rayos. Entonces, mandé un mensaje a CompuServe con la siguiente oferta: Podríamos formar un equipo para desarrollar un nuevo trazador de rayos usando DKBTrace como base. Tenía sólo tres requerimientos para este equipo. El código resultante tenía que ser freeware con el código fuente distribuible libremente, tenía que permanecer portable entre las diferentes plataformas, y tenía que tener un nombre diferente a DKBTrace.
El nombre DKBTrace estaba, por supuesto, basado en mis iniciales: David Kirk Buck (aquí se resuelve un detalle poco conocido). Con un paquete desarrollado por un equipo de gente, era inapropiado usar mis iniciales. Comencé a alejarme del trazado de rayos (como había dicho) y no quería que la gente pensara que yo era la cabeza del equipo para siempre. El nombre propuesto fue "Persistence Of Vision Raytracer" que fue acortado a POV-Ray. Tuvo tres orígenes. Fue el resultado de la persistencia de visión de los desarrolladores, una referencia al trabajo de Salvador Dalí que pintaba un mundo distorsionado pero realista, y el término "persistance of vision" en biología referido a la habilidad para ver movimiento continuo en imágenes fijas sucesivas presentadas rápidamente.
En 1989, entonces, DKBTrace 2.12 fue oficialmente lanzado y el proyecto POV-Ray había comenzado. Trabajé con el equipo durante unos años después de eso. Fui responsable de portarlo a la Amiga, además de otras cosas. Drew Wells era el líder del proyecto. También Aaron Collins salió del proyecto durante esa época. Otros miembros del principio eran Chris Young, Steve Anger, Tim Wegner, Dan Farmer, Bill Pulver (IBM drivers), y Alexander Enzmann (cuárticas y cosas matemáticas geniales). Chris Cason se unió poco tiempo después (mis disculpas si he dejado a alguien fuera - muchas personas estuvieron involucradas). La referencia a Robert Skinner en los créditos de POV-Ray fue porque pasamos un mal rato encontrando una buena función de ruido. En otro trazador de rayos, había una gran función de ruido escrita por Robert Skinner, así que preguntamos por ella y recibimos el permiso para utilizarla en POV-Ray.
Había tanta demanda para que lanzáramos una nueva versión que creamos POV-Ray 0.5 y la lanzamos. Era básicamente una ampliación de DKBTrace con una gramática similar pero con muchas más características. Más tarde lanzamos POV-Ray 1.0, que tenía una gramática nueva y muchas cosas más. Más tarde Drew abandonó y Chris Young asumió el papel de líder del proyecto.
Fue entonces cuando comencé a alejarme del equipo POV-Ray. El proyecto tenía impulso y podía continuar sin mí. Estaba metido en áreas diferentes (modelos y animaciones basadas físicamente) y no tenía tiempo para continuar con POV-Ray. Alrededor del lanzamiento de la versión 2.0, dejé el proyecto y el equipo POV-Ray continuó el desarrollo hasta su estado actual. Chris Cason es ahora el líder del proyecto.
Aunque ya no estoy en el equipo de desarrollo POV-Ray, todavía me gusta seguir su progreso. No he construido una escena propia a mano desde hace años (aunque ocasionalmente uso Moray). Todavía disfruto de algo que me lleva a los días de DKBTrace: me gusta ver el trabajo que otras personas hacen usando mi programa. Aun cuando ya no puedo llamar a POV-Ray "mi programa", todavía disfruto admirando el trabajo artístico que otras personas crean con él. Estoy constantemente asombrado con lo que la gente puede hacer. Fueron siempre los comentarios de la comunidad de usuarios lo que me guió.
David Buck,
david@simberon.com
Agosto 2001
11906 S16/Raytraced Images 07-Mar-91 18:56:37 Sb: Desarrollo de DKB Fm: David Buck 70521,1371 To: Todos Saludos a todos. Éste es mi primer envío a este grupo, me tendréis que perdonar si cometo algún error en este envío. Finalmente, después de varias semanas de espera, he recibido mi cuenta CompuServe. Es muy agradable ver que hay personas que están disfrutando mi trazador de rayos (DKB, por supuesto). He notado, sin embargo, que estáis poco satisfechos con el soporte que he podido proveer < sonrisa>. Es cierto, soy el primero en admitir que el soporte es pobre. Tengo poco tiempo estos días para trabajar con gráficos - se tarda mucho tiempo en responder todas las preguntas que me hacen diariamente desde todo el mundo. Mi primera motivación para lanzar el trazador de rayos como Software Libremente Distribuible era el permitir a la gente divertirse con un programa que desarrollé sólo con esa finalidad. No considero que sea un paquete profesional - sé que en ningún caso es tan bueno. No lo hice shareware, sin embargo, por que sabía que no iba a tener mucho tiempo para dar soporte. No quería las molestias de mantener listas de usuario, enviar actualizaciones y noticias, etc. Ha habido recientemente una propuesta en este forum para escribir vuestro propio trazador de rayos, en vez de usar DKB. Quizás puedo hacer esa posibilidad un poco más fácil. Supongamos que tomamos DKB y lo usamos como base para un sistema completamente nuevo (el nombre "Renderdog" ha sido nombrado, pero a mi no me gusta <sonrisa>). Me gustaría proponer el nombre "Software Taskforce on Animation and Rendering" o STAR. Me imagino que habrían varios paquetes para desarrollar como: STAR Light - el trazador de rayos STAR Guider - un sistema de animación STAR Maker - una interfaz de usuario para StarLight Si se deciden por esta posibilidad, me gustaría poner algunas reglas para los paquetes (o al menos aquellos desarrollados a partir de DKB): - se mantendrán libremente distribuibles - el soporte y mantenimiento de este nuevo producto sera emprendido por el equipo STAR (incluido pero no limitado sólo a mí) - el programa se mantendrá lo más portable que sea posible ¿Qué piensan de esta propuesta? David Buck
Más detalles acerca de cómo surgió el nombre de POV-Ray.
************************************************************** de Chris Young, al que pregunté si el nombre de POV provenía del titulo de un libro de ciencia-ficción que estaba leyendo. ************************************************************** Varley es uno de mis autores preferidos, y he tenido ese libro desde antes que POV-Ray existiera. POV-Ray iba a llamarse originalmente Starlight o Starlite, o algo parecido, pero alguien, no recuerdo quien, nos dijo que tendríamos problemas con la marca registrada de un producto existente. Drew Wells era el jefe del equipo, y escogió entonces "Persistence of Vision" (la persistencia de la visión), basándose en las propiedades de la visión humana. Yo intuí que había un doble sentido en el hecho de que POV-Ray era la continuación (o persistencia) de el DBK-Trace de David K. Buck. Advertí a Drew acerca del libro de Varley, aunque los títulos de libros no son marcas registradas. Además también existía una serie de documentales de TV llamados POV, por "Point of View" (punto de vista), un término de la industria del cine para un cierto estilo de documentales. Yo quería que nuestro nombre del equipo estuviera inspirado en el del "Fractint Stone Soup Group", y que nos llamáramos el "Crystal Soup Group", pero no me votaron. Chris Young, coordinador del POV-Team.
************************************************************** de una fuente desconocida: ************************************************************** Tras la reciente discusión sobre los comienzos de POV-Ray, he hecho unas búsquedas y he encontrado el siguiente mensaje del David Buck en este mismo grupo de noticias. EL mensaje emplaza el origen de POV-Ray en mayo de 1991. ¡Un evento histórico! Espero no estar haciendo mal al publicarlo de nuevo. :-) Harold Sun, 19 Feb 1995 19:14:44 GMT (STEERPIKE) escribió: >Siempre he supuesto que "Persistance of Vision" era un doble >sentido acerca del cuadro de Salvador Dalí llamado "La >persistencia de la memoria". ¿Es así? Y si no, ¿cómo llegó >povray a tener tan poético nombre? :) El proyecto POV-Ray empezó en 1991, cuando propuse por primera vez la idea a un grupo de gente en CompuServe. A ellos les gustaba mi trazador DKBTrace, pero se quejaban de que yo era lento añadiendo nuevas características. Estaban pensando en rescribir su propio trazador desde cero, pero yo sugerí que podrían empezar con el código de la version 2.12 de DKBTrace. El primer nombre fue STAR, un acrónimo de noseque. Entonces, alguien del grupo propuso el nombre "Persistence of Vision". Nos gustaba por su referencia a el cuadro de Dalí (creía que realmente se llamaba "La persistencia de la visión": ¿estoy equivocado?). Además, parecía simbolizar al equipo que "persistió" hasta conseguir realizar su "visión". La tercera referencia se refería al efecto psicológico que se produce al ver una rápida sucesión de imágenes en la pantalla, que provoca la retención de la imagen en la memoria de corto plazo. Todo ello parecía encajar, haciendo de éste un bonito nombre. Enseguida lo acortamos abreviándolo como PVRay, pero como nos preocupaba la existencia de un producto comercial llamado PV-Ware, decidimos cambiar la abreviatura a POV-Ray y estandarizar su pronunciación. >David Buck
Éste es el historial de versiones que se incluía en PV-Ray 0.5 BETA. Fíjate en los cambios de nombre...
Persistence of Vision Raytracer Version History ------------------------------------------------- PV-Ray was originally DKBTrace Ver. 2.12 written by David Buck. He donated the rights to his source code so the PV-Team could enhance this raytracer as a group project similar to Fractint. The source code for PV-Ray will always be freely distributable subject to the restrictions in the header files. Thanks David, for your generous gift! Version 0.02 BETA Release 7/29/91 (as STAR-Light) ---------------------------------- First version is still basically DKBTrace 2.12 with a few new features. - Materials mapping added by Drew Wells.(see matmap.dat) - ONION & LEOPARD textures added by Scott Taylor. - Time to trace display added by Bill Pulver. - Grayscale display (+g) for IBM-PC's added by Scott Taylor. - Small wood texture bug fixed to create true cylinders. - Verbose now displays more info including file being traced. - Option +vO added to enable old-style terse verbose. - Texture.c broken into smaller modules. - PAINTED1, 2, & 3 added for developers. - BUMPY1, 2, & 3 added for developers. PvRay Version 0.5 BETA Release 9/07/91 ---------------------------------- Many more changes this time around, including... - Many enhancements from Alexander Enzmann - Bezier bicubic subpatches - Ploynomial surfaces - New mapping types (sphere, etc.) - Sturmian sequences - Clipping shapes - (have I forgotten anything??) - Lots of hard work and enhancements by Aaron Collins - Height fields by Doug Muir - Bump Mapping by Doug Muir and Drew Wells - Interpolation by Girish T. Hagan adapted for mapping by Drew Wells - # and ; are now ignored. - case_sensitive keywords and commandline option added by Drew Wells > case_sensitive_yes -- All words checked for exact case. Keywords must be in upper case. (*Old DKB Style*) > case_sensitive_no -- Case is ignored for all words. > case_sensitive_opt -- DEFAULT - All words checked for exact case except keywords. Keywords will be accepted in upper and/or lower case. > command line -- /ty = yes, /tn = no, /to = opt - cnvdat.c to convert old dat files included with pvsrc. - C++ style commenting - // ignore to end of line. and /* ignore between braces */ nesting not allowed. - New default style verbose trace info (+v1) - Old-new style verbose (+v0) - Verbose trace info outputs to stderr so that stats can be redirected to file. - New stats display outputs to stdout for better redirection. - New lighting routines by David Buck. - The declared colors Red, Green, and Blue in colors.dat are now CRed, CBlue, CGreen. - The declared quadric Sphere in shapes.dat is now QSphere. - Textures.dat has been cleaned up and commented.
|