Skip to content
Code for the paper "Scale-aware Black-and-White Abstraction of 3D Shapes" in SIGGRAPH 2018.
C++ CMake GLSL Other
Branch: master
Clone or download
Fetching latest commit…
Cannot retrieve the latest commit at this time.
Permalink
Type Name Latest commit message Commit time
Failed to load latest commit information.
cmake
examples
src Added qtgui tool & bug fixes. Oct 24, 2019
tools Added qtgui tool & bug fixes. Oct 24, 2019
vc14 Added qtgui tool & bug fixes. Oct 24, 2019
.gitignore
README.md
cmakelists.txt Update gitignore & cmakelist. Oct 24, 2019
qtgui_01.png Add qtgui screenshot. Oct 24, 2019
qtgui_02.png Add qtgui screenshot. Oct 24, 2019

README.md

libbwabstraction

Code for the paper "Scale-aware Black-and-White Abstraction of 3D Shapes" in SIGGRAPH 2018. Please visit our project webpage to learn more about this paper.

Features

C++ Library

The algorithm described in our paper is wrapped inside a simple, easy-to-use C++ interface. Check this snippet out:

  // initialize data structures for libbwabstraction
  bwabstraction::Parameters param;
  bwabstraction::BWAbstraction bwa;
  bwabstraction::Result result;

  // load camera mvp and model file
  param.LoadMVPMatrixFromFile("camera.txt");
  bwa.LoadModel("model.obj", param);
    
  // render with desired parameters
  param.renderWidth = 3200;
  param.rednerHeight = 2400; // just to show a few options...
  bwa.Render(&result, param);
  
  // the results are available as cv::Mat images
  cv::imwrite("bwaImage.png", result.bwaImage);

Example Code & CLI Tool

We have documented example codes and a CLI tool for easy use. The tool works like:

> bwa_cli model.obj camera.txt bwaImage.png --scale=0.8

GUI Tool

Further more, a Qt-based GUI tool is provided for quick visualization and interactive control of the algorithm.

image image

Prebuilt Binary

We provide Windows prebuilt binaries, including example code executable, command line tool, GUI tools and development library. Take a look at the latest release!

Compile

If the prebuilt binaries are not good enough for you, we also provide configured build script for you. Everything can be built on both Windows x64 and MacOSX.

Dependencies

Before you can compile the library, the following dependency libraries should be installed on your system.

Windows x64

Use the Visual Studio 2015 solution /vc14/libbwabstraction.sln. Two configurations are available: x64 Debug and x64 Release. For the Qt GUI application, use the Qt project /tools/qtgui/qtgui.pro.

MacOSX

Use CMake to build the provided /cmakelist.txt. For the Qt GUI application, use the Qt project /tools/qtgui/qtgui.pro.

Citation

If you use this code for your research, please cite this paper:

@article{Lin:2018:SBA:,
 author = {Lin, You-En and Yang, Yong-Liang and Chu, Hung-Kuo},
 title = {Scale-aware Black-and-white Abstraction of 3D Shapes},
 journal = {ACM Trans. Graph.},
 volume = {37},
 number = {4},
 year = {2018},
 pages = {117:1--117:11},
 articleno = {117},
 numpages = {11}
}
You can’t perform that action at this time.