Files
manigraph/README.md
2024-10-02 13:10:08 -06:00

3.1 KiB

Manigraph: Graficadora de variedades

Diaz Camacho Pedro Emilio

Resumen

manigraph es un graficador interactiva de variedades que lee archivos binarios, con la información de una variedad multidimensional y grafica esta variedad en una proyección tridimensional.

Dependencias

Para poder compilar el proyecto hace falta los siguientes pro.

Programas

  • cc: Cualquier compilador de C.
  • git: Gestor de dependencias. (Opcional)
  • make: Herramienta para compilar automáticamente. (Opcional)

Librerías

  • openGL: A cross-platform API for rendering 2D and 3D graphics. (no incluida)
  • glfw: A multi-platform library for OpenGL, OpenGL ES, Vulkan, window and input.
  • cglm: Highly Optimized 2D / 3D Graphics Math (glm) for C.

Linux

Para compilar glfw en linux hacen falta las siguientes librerías según el caso. (no incluidas)

  • x11: libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel
  • wayland: libwayland-dev libxkbcommon-dev wayland-protocols

Codigo fuente

Para adquirir el código fuente de manigraph se puede usar git o descargar manualmente los archivos zip.

git via https

Usando git se necesitan ejecutar los siguientes comándos en la terminal.

git clone https://gitea.adles.top/software/manigraph.git
cd manigraph
git submodule update --init --recursive

zip files

Alternativamente se puede descargar el código fuente en formato zip usando las siguientes direcciones y acomodando manualmente las carpetas de glfw y cglm en ext/.

Compilación

Para compilar manualmente el proyecto se puede usar make o ejecutar los comandos manualmente en el código fuente de manigraph.

Make

Los siguientes comandos sirven para compilar manigraph deacuerdo al sistema operativo.

make windows
make linux-x11
make linux-wayland
make cocoa

Manualmente

se pueden compilar el proyecto manualmente sin necesidad del programa make.

GLFW

Si tienes problemas compilando GLFW puedes checar su página web oficial explicando el tema: Compiling GLFW.

Windows

cc -fPIC -shared -D_GLFW_WIN32 -D_GLFW_BUILD_DLL ./ext/glfw/src/*.c -o glfw.dll

Linux

cc -fPIC -shared -D_GLFW_X11 -D_GLFW_BUILD_DLL ./ext/glfw/src/*.c -o libglfw.so
cc -fPIC -shared -D_GLFW_WAYLAND -D_GLFW_BUILD_DLL ./ext/glfw/src/*.c -o libglfw.so

Mac

cc -fPIC -shared -D_GLFW_COCOA -D_GLFW_BUILD_DLL ./ext/glfw/src/*.c -o libglfw.so

Manigraph

Windows

cc -L. -lglfw -lGL -I ext/cglm/include/ -I ext/glfw/include/ src/*.c -o manigraph.exe

Linux

cc -L. -lglfw -lGL -I ext/cglm/include/ -I ext/glfw/include/ src/*.c -o manigraph

Mac

cc -L. -lglfw -framework GL -I ext/cglm/include/ -I ext/glfw/include/ src/*.c -o manigraph

Ejecutar

En linux se puede ejecutar el programa sin instalar la llibreria de glfw usando:

make

make run-linux

manual

LD_LIBRARY_PATH=. ./manigraph