# 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 - [git](https://git-scm.com/downloads/win) - [MinGW](https://github.com/niXman/mingw-builds-binaries/releases) - [glew](https://glew.sourceforge.net/) # 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](https://www.glfw.org/docs/3.3/compile.html). #### 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 ```