Update Readme

This commit is contained in:
PedroEdiaz
2024-12-03 22:42:53 -06:00
parent f687117fed
commit b928dcd82d

View File

@@ -1,92 +1,32 @@
# Manigraph: Graficadora de variedades # Manigraph
Diaz Camacho Pedro Emilio Manigraph is a cutting-edge tool for multidimentional surface visualization,
capable of handling over a hundred dimensions. It allows users to interactively
explore each dimension in an intuitive and dynamic way.
Import your .klein files, which represents multidimentional surface.
# Resumen # Source code
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)
- `x11`: libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel
- `wayland`: 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 git clone https://gitea.axiolutions.top/software/manigraph.git
cd manigraph cd manigraph
git submodule update --init --recursive git submodule update --init --recursive
``` ```
# Compilación # Dependecies
Para compilar manualmente el proyecto se puede usar `make` o ejecutar los comandos manualmente You may need system specific dependecies to build *Manigraph*.
en el código fuente de `manigraph`. [https://www.glfw.org/docs/3.3/compile.html#compile_deps](Reference)
## Make ## Linux
Los siguientes comandos sirven para compilar `manigraph` deacuerdo al sistema operativo. - `x11`: libXcursor-devel libXi-devel libXinerama-devel libXrandr-devel
- `wayland`: libwayland-dev libxkbcommon-dev wayland-protocols
# Building
A C compiler is needed for building *Manigraph*. and any of those commands
``` ```
make windows make windows
./compile.bat
make linux-x11 make linux-x11
make linux-wayland make linux-wayland
make cocoa make cocoa
``` make CC=emcc wasm
## 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_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 -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
``` ```