Página principal | Jerarquía de la clase | Lista alfabética | Lista de componentes | Lista de archivos | Miembros de las clases | Archivos de los miembros | Páginas relacionadas

raytrace.h

Ir a la documentación de este archivo.
00001 //===========================================================================
00002 //= raytrace.h                                                Marzo de 1999 =
00003 //=-------------------------------------------------------------------------=
00004 //= Especifica el raytracer "criollo" que genera IMAGENes de una manera     =
00005 //= generica (independiente del disenno de la aplicacion), basandose en los =
00006 //= elementos basicos GEOMETRIA, LUZ y MATERIAL del framework AQUYNZA.      =
00007 //=-------------------------------------------------------------------------=
00008 //= ADVERTENCIA: ESTE SOFTWARE NO ESTA CONCEBIDO NI DISENNADO PARA EL USO   =
00009 //= EN EQUIPO DE CONTROL EN LINEA EN ENTORNOS PELIGROSOS QUE REQUIERAN UN   =
00010 //= DESEMPENNO LIBRE DE FALLAS, COMO LA OPERACION DE PLANTAS NUCLEARES,     = 
00011 //= SISTEMAS DE NAVEGACION O COMUNICACION EN AVIONES, TRAFICO AEREO,        =
00012 //= EQUIPO MEDICO DEL CUAL DEPENDAN VIDAS HUMANAS O SISTEMAS DE ARMAMENTO,  =
00013 //= EN LOS CUALES UNA FALLA EN EL SOFTWARE PUEDA IMPLICAR DIRECTAMENTE LA   =
00014 //= MUERTE, DANNOS PERSONALES O DANNOS FISICOS Y/O AMBIENTALES GRAVES       =
00015 //= ("ACTIVIDADES DE ALGO RIESGO").                                         =
00016 //=-------------------------------------------------------------------------=
00017 //= Autor original: Oscar J. Chavarro G.  A.K.A. JEDILINK. Copyright (c),   =
00018 //= 1997 - 2003, oscarchavarro@hotmail.com                                  =
00019 //= AQUYNZA es software libre, y se rige bajo los terminos de la licencia   =
00020 //= LGPL de GNU (http://www.gnu.org). Para mayor informacion respecto a la  =
00021 //= licencia de uso, consulte el archivo ./doc/LICENCIA en la distribucion. =
00022 //===========================================================================
00023 
00024 #ifndef __RAYTRACER_CRIOLLO__
00025 #define __RAYTRACER_CRIOLLO__
00026 
00027 #include "jed_defs.h"  // Incluir antes que nada, en ese modulo se definen 
00028                        // aspectos importantes para la portabilidad del sistema
00029 #include "matriz4.h"
00030 #include "toolkits/geom/geometria.h"
00031 #include "toolkits/entorno/rayo.h"
00032 #include "toolkits/entorno/luz.h"
00033 #include "toolkits/entorno/camara.h"
00034 #include "arreglo.h"
00035 
00036 #define MAXRECURSELEVEL 2  // OJO: Esto deberia ser algo configurable!
00037 
00038 class RAYTRACER_CRIOLLO {
00039   private:
00040     // En un futuro, aqui ira la configuracion del raytracer
00041 
00042     // Informacion de estado de las operaciones
00043     unsigned int nivel_de_recursion;
00044 
00045     // Operaciones
00046     COLOR
00047     modelo_de_iluminacion(const OBJETO_RAYABLE *Objeto,
00048                       ARREGLO <OBJETO_RAYABLE *> &objetos, RAYO *Rayo,
00049                       const VECTOR &punto, VECTOR &normal, LUZ **LUces);
00050     COLOR
00051     seguimiento_rayo(RAYO *Rayo, ARREGLO<OBJETO_RAYABLE *> &objetos, 
00052                      LUZ **LUces);
00053 
00054   public:
00055     RAYTRACER_CRIOLLO();
00056     ~RAYTRACER_CRIOLLO();
00057 
00058     void
00059     ejecutar(IMAGEN_RGB *Resultado,
00060              ARREGLO<OBJETO_RAYABLE *> &arr_objetos, LUZ **LUces,
00061              CAMARA *Camara);
00062 };
00063 
00064 //===========================================================================
00065 //= Metodos inline de la clase RAYTRACER_CRIOLLO                            =
00066 //===========================================================================
00067 
00068 #endif // __RAYTRACER_CRIOLLO__
00069 
00070 //===========================================================================
00071 //= EOF                                                                     =
00072 //===========================================================================
00073 

Este archivo HTML ha sido generado automáticamente a partir del código fuente AQUYNZA. NO LO EDITE. Para mayor información contacte al autor.