[go: up one dir, main page]
More Web Proxy on the site http://driver.im/
Skip to content

Bussler/OpenGlArap

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

33 Commits
 
 
 
 
 
 
 
 

Repository files navigation

OpenGlArap

Project

Implementation of the As-Rigid-As-Possible Surface Modeling (ARAP) algorithm by Sorkine and Alexa with OpenGL. ARAP is an algorithm for mesh deformations in a 3-dimensional environment. Depending on a user’s set of control points and predefined constraints, it is possible to render a visually appealing mesh deformation. The mesh itself can be freely rigged in real-time by enabling and disabling vertices as control points and then dragging them to a desired location. The ARAP modelling algorithm is an iterative scheme which preserves local mesh shapes as much as possible and thereby enforces realisitic rigid deformations of the base mesh.

Dependencies

  • Eigen
  • OpenMesh
  • Assimp
  • GLM
  • GLAD
  • GLFW

How to use

After linking the dependencies and compiling the program is used with the following 2 arguments:

./ARAPImplementation filenameModel filenameShader

The program can also be executed without arguments, in which case it loads the default cactus model and shader in data/cactus.obj and shaders/Basic.shader.

./ARAPImplementation

Controls

  • Right-click on a vertex: Selecting a vertex as a constraint. These are excluded from the ARAP-Solving and will remain at their original position. Clicking a vertex the first time will register it as a static constraint, clicking it a second time as a dynamic constraint. Dynamic constraints are draggable by user input. Clicking the vertex a third time will remove the constraint-status from the vertex.
  • Pressing the left mouse-button and dragging the mouse: All dynamic constraints are dragged according to the user input. The rest of the mesh is deformed as rigid as possible according to the ARAP algorithm. This feature enables the animation of the input mesh.
  • Pressing the middle mouse-button and dragging the mouse: Rotates the loaded mesh around the Y-Axis.
  • Pressing F: Actiavates or deactivates the flight modus for better navigation. This can be navigated with the wasd + mouse input.

About

Implementation of the ARAP algorithm with OpenGL

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published