A starting point for geometry processing, mesh editing and visualization applications and tests.
clone the repository recursively: git clone --recursive https://github.com/HasKha/Sketcher.git
Do not download as zip, as the submodules won't be included and the project will not build.
- Open and view OBJ or PLY meshes
- Quickly and easily prototype new code
The following features are implemented for fast prototyping:
- Customizable render system based on faces and edges
- Raytracer to pick vertices, edges or faces
- Independent worker and renderer threads for responsive interface while your code is thinking. The worker supports a queue of operations and can notify the renderer to refresh the view so you can see the progress of your algorithms.
- On-screen console (use
print
as if it wasprintf
)
All dependencies are included. Some are git submodules, so make sure to clone the repository recursively.
- OpenMesh (Core only): Mesh I/O, mesh datastructure, and basic mesh operations such as iterators and circulators.
- ImGui: Easy and quick development of user interfaces.
- Eigen: Used for matrix datastructures, can be used for more powerful matrix-related operations.
- glfw / gl3w: Window management and OpenGL bindings.
- glm: Handle camera matrices and communication with glsl.
- stb: Saving screenshots and has useful bits if needed.
A Visual Studio project is provided and it should work out of the box.
All the software is compatible with Unix with the exception of:
FileDialog.h/cpp
: you will have to replace this, or just remove and hardcode filenamesmain.cpp
:WinMain
->main
You will need to make your own build system.