# Estructura de archivos Díaz Camacho Pedro Emilio # Headers ## main.h Este archivo incluye los prototipos internos, que va a usar el programa funge como api interna para los desarrolladores y debe estar bien documentada. # codigo fuente ## main.c Este archivo debe configurar el programa antes de iniciarse, avisar de los problemas que eviten que el programa se ejecute correctamente, iniciar y terminar los objetos que use el programa, así como ejecutar la función principal ### Depende de - ## context.c En este archivo se escoge un color para limpiar la pantalla y tiene una función para limpiar tanto lo dibujado en pantalla, como distintos buffers gráficos. ### Depende de - ## input.c Incluye la función `poll_input`, que se ejecuta en cada ciclo del programa y devuelve un cuaternion de tipo `float *` que representa la rotación total del cubo, después de interactuar con el programa. ### Depende de - - ## matrix.c Incluye las funciónes para configurar y cargar en la GPU las 3 matrices principales. - `fix_matrix` esta matriz no cambia y se usa para configurar la perspectiva y la vista que va a usar el programa en todo momento. - `mdl_matrix` esta matriz depende de cada mesh y describe la rotación única de cada objeto, se usa para rotar los ejes ortogonamente con un indice. - `rot_matrix` esta matriz describe la rotación total de todos los objetos y se configura con un cuaternio ### Depende de - - - ## mesh.c Este archivo se usa para crear, destruir y dibujar objetos de tipo `mesh`, un `mesh` es una colección de triángulos que describen un objeto multidimensional. ### Depende de - - ## shader.c Debe crear, destruir y usar los shaders, estos shaders son programas para la gpu escritos en glsl para además aquí se carga memoria en gpu con las funciónes `gload_` ### Depende de - ## texture.c Debe cargar, usar y destruir las texturas, que va a usar la gpu, también crea una textura para una paleta de colores definida, esto para manipular fácilmente los colores que usará el programa. ### Depende de - ## window.c Crea, usa, limpie y cierra una ventana, una ventana tiene un contexto de OpenGL asociado para poder dibujar objetos en ella, tiene una función especial para avisar si la ventana está abierta para dibujar. ### Depende de - # Datos ## data/cube.h Aquí esta la información del mesh de un cubo, este se va a borrar cuando podamos importar meshes para graficarlos. ## data/axis.h Aquí está el mesh de un solo eje, este se va a rotar para hacer los otros 2 ejes. ## data/shaders.h Aquí estan los shaders en glsl para dibujar en pantalla