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

md2load.h

Ir a la documentación de este archivo.
00001 //===========================================================================
00002 //= md2load.h                                             Noviembre de 1999 =
00003 //=-------------------------------------------------------------------------=
00004 //= Modulo de importacion de datos de avatares QUAKE2 en formato MD2        =
00005 //=-------------------------------------------------------------------------=
00006 //= ADVERTENCIA: ESTE SOFTWARE NO ESTA CONCEBIDO NI DISENNADO PARA EL USO   =
00007 //= EN EQUIPO DE CONTROL EN LINEA EN ENTORNOS PELIGROSOS QUE REQUIERAN UN   =
00008 //= DESEMPENNO LIBRE DE FALLAS, COMO LA OPERACION DE PLANTAS NUCLEARES,     = 
00009 //= SISTEMAS DE NAVEGACION O COMUNICACION EN AVIONES, TRAFICO AEREO,        =
00010 //= EQUIPO MEDICO DEL CUAL DEPENDAN VIDAS HUMANAS O SISTEMAS DE ARMAMENTO,  =
00011 //= EN LOS CUALES UNA FALLA EN EL SOFTWARE PUEDA IMPLICAR DIRECTAMENTE LA   =
00012 //= MUERTE, DANNOS PERSONALES O DANNOS FISICOS Y/O AMBIENTALES GRAVES       =
00013 //= ("ACTIVIDADES DE ALGO RIESGO").                                         =
00014 //=-------------------------------------------------------------------------=
00015 //= Autor original: Oscar J. Chavarro G.  A.K.A. JEDILINK. Copyright (c),   =
00016 //= 1997 - 2003, oscarchavarro@hotmail.com                                  =
00017 //= AQUYNZA es software libre, y se rige bajo los terminos de la licencia   =
00018 //= LGPL de GNU (http://www.gnu.org). Para mayor informacion respecto a la  =
00019 //= licencia de uso, consulte el archivo ./doc/LICENCIA en la distribucion. =
00020 //===========================================================================
00021 
00022 #include <stdio.h>
00023 #include <math.h>
00024 
00025 #include "toolkits/media/jed_img.h"
00026 #include "toolkits/geom/mesh.h"
00027 #include "jed_gl.h"
00028 #include "lista.h"
00029 
00037 class CONFIGURACION_MESH
00038 {
00039   public:
00040     VERTICE_GL *arr_vertices;
00041 };
00042 
00043 class TRIANGULO_QUAKE
00044 {
00045   public:
00046     int p0, p1, p2; // Indices a los 3 vertices que conforman este triangulo
00047     int a_s, a_t;   // Mapeo de textura para el primer punto
00048     int b_s, b_t;   // Mapeo de textura para el segundo punto
00049     int c_s, c_t;   // Mapeo de textura para el tercer punto
00050 };
00051 
00052 class LECTOR_QUAKE_MD2 {
00053   private:
00054     IMAGEN_RGB *Piel;
00055     TRIANGULO_QUAKE *triangulos_arr;
00056     CONFIGURACION_MESH *frames_arr;
00057     DWORD _num_frames;
00058     DWORD _num_vertices;
00059     DWORD _num_triangulos;
00060     char *_nombre_piel;
00061     //void pintar_gl(DWORD frame);
00062     LISTA <VERTICE_GL *> geometrias_preprocesadas;
00063 
00064   public:
00065     LECTOR_QUAKE_MD2();
00066     ~LECTOR_QUAKE_MD2();
00067 
00068     void init(BOOLEAN suavizar_normales);
00069     void elim (void);
00070     DWORD num_frames(void);
00071     DWORD num_vertices(void);
00072     DWORD num_triangulos(void);
00073 
00074     BOOLEAN leer(char *archivo_md2, char *archivo_piel, double factor_gamma);
00075     MESH * exportar_MESH(int cuadro);
00076     void actualizar_vertices(VERTICE_GL *V, long int t, int cuadro);
00077     void actualizar_vertices_rapido(VERTICE_GL *V, long int t, int cuadro);
00078     void 
00079     actualizar_vertices_rapido_i(VERTICE_GL *V, long int t, int cuadro,
00080         int cuadroi, int cuadrof, int frame, int tam);
00081 };
00082 
00083 //===========================================================================
00084 //= EOF                                                                     =
00085 //===========================================================================
00086 

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.