
Welcome to the Polar Stroking supplemental source code testbed!

hairline is a path stroking test bed based on polar stroking.

Building on Windows
1) with Visual Studio 2015 installed, open the hairline_2015.sln
2) build
3) run

Building on Linux
1) use GNU make, so just type "make"
1a) for debug build, "make debug" to build bin.debug64/hairline
1b) for rebuild build, "make release" to build bin.release64/hairline
2) run either binary, or simply do
2a) "make run" to run the debug version (and make sure it is current)
2b) "make rrun" to run the release version (and make sure it is current)

Running hairline:

*  left-click control points and drag them around with the mouse

*  adjust the stroke width with the plus (+) and minus (-) keys

*  's' toggles between polar stroking (default) and uniform parametric
   tessellation

*  Alt-o (Alt-oh) toggles the outlining.

*  'o' toggles wireframe

*  when polar stroking, adjust the stroke tessellation quality (q) in
   the paper with 'a' key (increase tessellation by decreasing q) and
   'z' key (decrease tessellation by increasing q)

*  when using the uniform approach, the 'a' and 'z' keys increase and
   decrease the number of quads generated

*  the right mouse pops up a menu with lots of options; generally the
   menu item has a keyboard accelerator if you see [k] where k names
   a key

*  the "Curve configuration..." submenu allows you to pick from various
   curve configures; see app/CurveConfig.cpp for the list

*  you can also advance or move back through curve configurations with
   the ',' (back) and '.' (advance) keys

*  the "Decorations..." submenu allows you to toggle various options

*  the "Quality..." submenu controls the antialaising mode

*  the "Join style..." and "Capping..." submenus allow you to change
   the join style and capping state

*  a "heads up display" of text at the bottom of the window shows
   the current rendering state

*  the 'n' key toggles the hodograph window

*  the 'm' key toggles a visualization of the facet angle change

*  there are various command line options; see app/cmdline.cpp for
   details

*  'p' allows you to toggle using the NV_path_rendering OpenGL extension
   for rendering the stroked path (requires an NVIDIA GPU)

*  ' ' (spacebar) animate contiously and shows the frame rate

Lots more features and options...
*  check out app/cmdline.cpp for command line options
*  check out app/keyboard.cpp for keyboard controls
*  check out app/menus.cpp for main window menu items
*  check out app/hodograph.cpp for hodograph window menu items
*  check out app/graph.cpp for facet angle graph window menu items

