81 lines
2.7 KiB
Markdown
81 lines
2.7 KiB
Markdown
# 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
|
|
- <GL/gl.h>
|
|
|
|
## 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
|
|
- <GL/gl.h>
|
|
|
|
## 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
|
|
- <GLFW/glfw3.h>
|
|
- <cglm/quat.h>
|
|
|
|
## 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
|
|
- <cglm/mat4.h>
|
|
- <cglm/cam.h>
|
|
- <cglm/quat.h>
|
|
|
|
## 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
|
|
- <GL/gl.h>
|
|
- <stdlib.h>
|
|
|
|
## 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
|
|
- <GL/gl.h>
|
|
|
|
## 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
|
|
- <GL/gl.h>
|
|
|
|
## 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
|
|
- <GLFW/glfw3.h>
|
|
|
|
# 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
|