Renderizado por RayTracing
Como es de saber, el área de la Computación Gráfica es muy amplia y los resultados que hoy dia vemos en aplicaciones de este tipo son de un alto nivel de fotorealismo, es decir que tienen un alto nivel de fidelidad a una imagen real.
Existen muchos métodos de rendrizado que permiten obtener éste tipo de imágenes, siendo el renderizado por trazado de rayos o raytracing el que otorga los mejores resultados posibles, algunos comentarios incluso dicen que los resultados otorgados por el raytracing son dificilmente superables.
El gusto que tengo por la coputación gráfica me llevo casi por inercia a elegir de entre los proyectos del curso de Geometria Computacional el de hacer un raytracing. El reto fue asumido por el grupo que forme junto a mis compañeros y amigos: Pedro Shiguihara, Luis Mostacero y Juan Grados; y comenzamos...y bueno obtuvimos algunos resultados, un raytracing básico pero que da satisfacción el ejecutar el programa y ver los resultados. Nuestra escena es simple, definimos los objetos plano, esfera y luz (con la posibilidad de agregar la cantidad de objetos que queramos), y se ejecuta el renderizado por raytracing. El programa fue escrito en C++, les adjunto el ejecutable.Saludos :)
| Adjunto | Tamaño |
|---|---|
| ejecutable-RayTracing.rar | 739.58 KB |












Renderizado
Muy interesante el trabajo, una duda, para la puesta en escena de los objetos usast alguna libreria como openGL o vtk?
WinAPI de C++
Hola, bueno para el trabajo que presente no se hizo uso de openGL ni VTK. Aunque al iniciar el desarrollo se tenía la intención de utilizar openGL, finalmente solo se utilizó el WinAPI de C++ (Y)
Saludos.
Jorge Carlos Valverde Rebaza
Estudiante de Ciencia de la Computación
Universidad Nacional de Trujillo
Jorge Carlos Valverde Rebaza
Department of Computer Science - ICMC - USP
Master Student in Computer Science
São Carlos, SP, Brazil
Para qué?
Disculpa, pero acaso no existen aplicaciones fuertemente testeadas y con gran capacidad para desarrollar este tipo de trabajo (renderizado) y aún más? ¿para qué hacer algo que ya existe?
Eres paquetologo?
Por eso el Peru esta donde esta porq como el caso anterior para que crear si existe uno ya.Es por eso que estamos en los paises que consumen tecnologia en vez de crearla debido aque existen personas que tienen esos malos pensamientos para q crear, es que acaso que no creemos que nuestro pais produsca algo.
Si estas en la U que mal q pienses asi que solo utilizar cosas y nunca llegar a crear.Bye
Paquetología
En mi opinión ambas posturas tienen algo de razón. Yo estuve estudiando Ing. de Sistemas hace poco, y ahora estoy en Informática. Pienso que esto me ayudo a ver ambas perspectivas. Cuando estudiaba Ing. de Sistemas, pues sí, se acostumbra a que alumno use y no cree. En resumen pienso que ninguna de las partes es mala, si lo que te gusta es crear, la ciencia de la computacion es lo tuyo en cambio si lo que quieres es especilizarte en el uso de cierta tecnologia puedes optar por tecnologias de la información; es solo cuestion de gustos; aunque claro como dice marx826 ayuda y ayuda bastante que existan siempre creadores, sino la tecnologia nunca avanzaría. Siempre habrá uno que crea y otro que usa, en mi opinion no hay nada de malo en eso.
Clayder Gonzalez Cadenillas
Clayder Gonzalez Cadenillas
De acuerdo...
No todos los profesionales tienen por que tener la misma preparacion o intereses. Es cierto que en Ciencias de la Computacion se nos prepara para crear aplicaciones, pero estas necesitan usuarios. El valor de un software esta en que es una solucion para alguien. Sin usuarios de sus productos (y la inversion que estos hacen), la Computacion no hubiera progresado tanto y no seguiria avanzando.
Ahora, asi como al usuario final de Word no necesariamente le interesa su funcionamiento interno, sino la funcionalidad que provee, al "usuario" (programador) de Java no necesariamente le interesa como esta implementada la Java Virtual Machine. Eso no lo convierte en "paquetologo", verdad? Los profesionales en Computacion trabajamos a diferentes niveles de abstraccion, y casi siempre estamos construyendo con herramientas (compiladores, IDEs, etc) y sobre tecnologias (libreriras, sistemas operativos, maquinas virtuales) que alguien mas hizo. Seria pesima ingenieria y una perdida absurda de tiempo empezar siempre de cero.
Eso, sin embargo, no invalida que alguien estudie por ejemplo, un algoritmo de renderizado o uno de busqueda. En ambos casos pueden existir librerias muy robustas que hagan el trabajo, pero hacer una implementacion propia ayuda muchisimo a entender como funciona y poder eventualmente mejorarlo.
Jose Baiocchi
PhD Student
Computer Science Department
University of Pittsburgh
paquetologo??
Que de malo tiene usar, acaso tu no usas algún programa software para realizar tus trabajos?? o es que te pones a programar todo??
perspectiva
Es obvio, mi estimado, que en este caso la programación del ray tracing tiene fines netamente teórico-prácticos. El tema que nos interesa es académico y esto incluye repetir las experiencias que ya se han realizado antes; el ray tracing es un algo ejemplar, por eso sea donde sea que estudies informática en algún momento vas a tener que ver de que se trata, analizar como funciona y posiblemente programarlo.
Saludos.
Para crear
Para uno crear un sw más potente de los que ya existen, no es bueno concocer los algoritmos que ya existen, sus deficiencias, sus bondades, etc.
Esto no ayudaria??, o siempre pensamos q todos los paises extranjeros tienen el derecho y deber de crear nuevas cosas, acaso no podemos crear nosotros tambien :D.
Claro q podemos y un ejemplo de iniciativa es el presente trabajo :D. Saludos.
Nils Murrugarra Llerena
Undergraduated Computer Science Student
Nils Murrugarra Llerena
Graduated Computer Science Student
Satisfacción
El trabajo que hice y muchos otros los hago por que me gusta sentir la satisfacción de poner en práctica lo que aprendí en clases y/o leyendo aparte, es simplemente por el hecho de sentir la satisfacción que lo escrito en un libro o documento paper se puede plasmar en una realidad (sw) y que puede servir a otros de muchas maneras: como un trabajo básico para que otros (o yo mismo) siga mejorandolo, como una prueba de que si se puede hacer este tipo de trabajo, etc.
Éxitos y te animo a que tu también empieces a crear...no se trata de reinventar la rueda (frase que comunmente escucho), sino de estudiar como funciona y probar si esto ocurre realmente así, añadiendole más funcionalidades (mejorandolo, combinando métodos, etc.)...eso es un punto de partida...anda, empìeza tu también!!!
Jorge Carlos Valverde Rebaza
Estudiante de Ciencia de la Computación
Universidad Nacional de Trujillo
Jorge Carlos Valverde Rebaza
Department of Computer Science - ICMC - USP
Master Student in Computer Science
São Carlos, SP, Brazil