Skip to content

fiblue/gpu-scanline-path-rendering

 
 

Repository files navigation

Efficient GPU Path Rendering Using Scanline Rasterization

SIGGRAPH Asia 2016 project.

Please download code together with dependency and test data from http://gaps-zju.org/pathrendering/

Pre-built Binary

./x64/release/gpu-scanline.exe. Tested on 64 bit Windows 10. Copy to ./working_directory to run.
Built with Visual Studio 2013 and CUDA 7.5.
Requires a NVIDIA graphics card with CUDA sm_50 and OpenGL 4.5 support.

Right button: move.
Mouse wheel: scale.
Left button: draw.

Build Dependency

  • Visual Studio 2013/2015
  • CUDA 7.5/8.0, lower versions may work as well.
  • Thrust

Open source code and pre-built binaries included in /3rd

Libraries are built on a 64-bit Windows 10 system with Visual Studio 2013. You may need to download or build these libraries on your own system.


Other included open source code


Code generator used

Build

Open in Visual Studio.
Check if "Properties -> CUDA C/C++ -> Device -> Code Generation" matches your device.
Then build.

Run

  • Start in Visual Studio: set "Debugging -> Working Directory" to $(SolutionDir)working_directory.
  • Start in explorer or command line: copy exe file to working_directory, or create shortcut.

The program loads ./vg_default.cfg by default. Run with --help or check cmd files in working directory for more detail.

Data

RVG files in ./input/rvg from MPVG.
Works on SVG files with a subset of features (see the paper for details).

Driver Issue

At the time we release the code, we are using driver 368.81, and everything runs well.

We found the behavior of gl_SampleMask in GLSL has changed since NVIDIA driver version 368.22. While the old behaviour was inconsistent with OpenGL standard, we assume it was a driver bug, or a result of incorrect graphics card configuration. Using drivers earlier than this version may get incorrect rendering results.

About

No description, website, or topics provided.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C++ 53.7%
  • Cuda 36.8%
  • C 6.9%
  • GLSL 1.9%
  • Other 0.7%