Files
manigraph/doc/es/dev/estructura-archivos.md
2024-10-02 13:10:08 -06:00

2.7 KiB

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