# RealSkel **Repository Path**: web/RealSkel ## Basic Information - **Project Name**: RealSkel - **Description**: No description available - **Primary Language**: Unknown - **License**: GPL-3.0 - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2026-02-24 - **Last Updated**: 2026-02-24 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # Real-time Skeletonization for Sketch-based Modeling (SMI:2021) ModelingCat ## Demo We provide an executable software under directory "demo_exe/". ModelingCat ## Let's create a rigged cat! ### 1. Split View: 2D View (left window), 3D View (right window) Split View ### 2. Open Image: Ctrl+O (demo_exe/image/cat.png) open image ### 3. Sketch a torso sketch ### 4. Adjust Contour adjust contour ### 5. Parameter in the pop-up window model param ### 6. Create a leg in front of the torso create a leg ### 7. Create a symmetric leg behind the torso create a leg ### 8. View symmetric part create a leg create a leg ### 9. Create another part: press 'Space' in keybord: switch to 'Sketch Mode', you will see the colorful contour, then sketch, follow step 3-5 create a leg create a leg create a tail ### 10. Create ear create an ear create an ear back ### 11. Refine the skeleton refine the skeleton ### 12. Finally! automatic skinning automatic skinning result Pick a joint, and hold the left-mouse-button to move. ModelingCat 'Dance! Dance! Dance!', too naive, too simple, the LBS deformation. Have to improve later on... ## Tested Environment 1. Ubuntu20.04 LTS, gcc-7 compiler 2. Windows10, Visual Studio Community 2017/2019 x86_amd64 compiler ## Prerequisites ### Ubuntu20.04 LTS 1. `cmake`: https://cmake.org/ 2. `VS Code` (Optional but Highly Recommended): https://code.visualstudio.com/docs/cpp/cmake-linux ### Windows10 1. `Visual Studio 2017/2019` 2. `git`: https://git-scm.com/ 3. `cmake`: https://cmake.org/ 4. `VS Code` (Optional but Highly Recommended): https://code.visualstudio.com/docs/cpp/cmake-linux ## Dependencies Qt, OpenCV, Boost, Libigl(Tetgen, Triangle, CGAL, Eigen) Please install Qt, OpenCV, Boost first, and modify the CMakeLists.txt according to your library's install path. ### Ubuntu20.04 LTS #### (1) Install Qt 5.12.2 1. Download `qt-opensource-linux-x64-5.12.2.run` from https://download.qt.io/archive/qt/5.12/5.12.2/, click `.run` to install #### (2) Install OpenCV ``` sudo apt-get install libopencv-dev ``` #### (3) Install Boost ``` sudo apt-get install libboost-all-dev ``` ### Windows10 #### (1) Install Qt 5.12.2 1. Download `qt-opensource-windows-x86-5.12.2.exe` from https://download.qt.io/archive/qt/5.12/5.12.2/, click `.exe` to install, then select `MSVC 2017 64-bit` #### (2) Install OpenCV 1. Download OpenCV source code from https://github.com/opencv/opencv/archive/4.2.0.zip 2. CMake Configure: configure_opencv.png 3. Build and Install: 1. open `OpenCV.sln` under `build` directory with VS2017/VS2019. 2. Select `build type` as `Release` and `Build solution`. 3. goto `CMakeTargets/INSTALL` and `Build` build_install_opencv.png #### (3) Install Boost https://sourceforge.net/projects/boost/files/boost-binaries/1.74.0/, select suitable versions to download (`boost_1_74_0-msvc-14.2-64.exe` for VS2019, `boost_1_74_0-msvc-14.1-64.exe` for VS2017), click `.exe` to install ## Compile & Run ### For Linux Users, type in the following commands: ``` mkdir build cd build cmake .. make -j8 ./main ``` ### For Windows Users It's highly recommended using `VS Code` and `cmake tools from 'VS code' market place` to compile the source code. compile in VS Code 1. Select the `build type` as `Realse` 2. Select a compiler: `Ctrl+Shift+P`, type in `CMake: Select a Kit`, select a compiler (eg. `Visual Studio Community 2017 x86_amd64` or `Visual Studio Community 2019 x86_amd64`) 3. CMake Configuration: `Ctrl+Shift+P`, type in `CMake Configure`. The configuration process will automatically download all dependencies of libigl. Wait until `CMake Configuration` successfully finishes. configure_done 4. Build the solution: you will find `RealSkel.sln` under directory `build/`, open `.sln` with Visual Studio 2017/2019, switch to `Release Mode`, and `Build Solution`. build 5. Run the program: copy all `*.dll` and directory `platforms/` from `demo_exe` to your `build/Release/` directory. Click `main.exe`, then you can run the program. copy_dll_before copy_dll_after ## Other Issues ### Adapt to CGAL goto `external\libigl\external\cgal\Surface_mesh\include\CGAL\Surface_mesh\Surface_mesh.h`, add the following code in `Class SM_Index` ```cpp size_type idx()const{return idx_;} ``` You should get something like this ```cpp class SM_Index { // ... size_type idx()const{return idx_;} // ... }; ``` SM_Index fix_no_idx_member_for_SM_Vertex_index_bug ### The lazy way You can also replace the file `external\libigl\external\cgal\Surface_mesh\include\CGAL\Surface_mesh\Surface_mesh.h' with [Surface_mesh.h](data/Surface_mesh.h) .