Files
manigraph/README.md
2024-10-27 16:09:29 -06:00

2.6 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 lo siguiente.

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)
  • glew: The OpenGL Extension Wrangler Library (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. (no incluidas)

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

Descargas

Clonar el código fuente

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

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
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 -lgdi32

Linux

cc -fPIC -shared -D_GLFW_X11 -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 -I ext/cglm/include/ -I ext/glfw/include/ src/*.c -o manigraph -L. -lglfw -lopengl32 -lglew32

Linux

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

Mac

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

Ejecutar

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

LD_LIBRARY_PATH=. ./manigraph