Commit graph

40 commits

Author SHA1 Message Date
Jeff Epler
2bb91cceeb improve documentation
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
2017-06-02 16:13:42 -05:00
Jeff Epler
b209a5bd09 avoid winding-rule calls via function pointer
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
2017-06-02 16:13:42 -05:00
Jeff Epler
386d98d587 additional point operators
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
2017-06-02 16:12:58 -05:00
Jeff Epler
5167ba3dd7 simplify the way the value is returned
.. no need for named temporary Point

Signed-off-by: Jeff Epler <jepler@unpythonic.net>
2017-06-02 16:12:58 -05:00
Jeff Epler
68f603353a factor out SegmentsFromFile
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
2017-06-02 16:12:58 -05:00
Jeff Epler
ad50918ad9 Makefile: mark default rule as phony
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
2017-06-02 16:12:58 -05:00
Jeff Epler
18d444ca66 let us build with clang
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
2017-06-02 16:12:58 -05:00
Jeff Epler
b70d655489 Manually unroll first loop iteration, where o may be nonzero
.. simplifying subsequent iterations by not requiring them to account for o

Signed-off-by: Jeff Epler <jepler@unpythonic.net>
2017-06-02 16:12:57 -05:00
Jeff Epler
7adf8e24df Don't needlessly copy pattern.dash[i]
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
2017-06-02 16:12:57 -05:00
Jeff Epler
ea1bfeb467 Makefile: rule to do a simple benchmark with 'perf stat'
Signed-off-by: Jeff Epler <jepler@unpythonic.net>
2017-06-02 16:12:57 -05:00
Jeff Epler
f18e7b6713 Add a note about development status 2017-05-03 07:37:20 -05:00
Jeff Epler
2d7cb43a1d fix a typo 2016-12-06 15:37:46 -06:00
Jeff Epler
b8445e0a7d Fix markup error (end of bullet list) 2016-12-06 15:36:54 -06:00
Jeff Epler
b40f009bf2 stop files in data/ from appearing in language summary 2016-01-27 20:45:45 -06:00
Jeff Epler
0818899738 reserve space for segments 2016-01-27 20:44:34 -06:00
Jeff Epler
c9a7c8241e add -x 'just exit' benchmarking mode 2016-01-27 20:44:34 -06:00
Jeff Epler
bbd13083cf tout increased performance 2016-01-27 15:50:19 -06:00
Jeff Epler
29530a3b6d avoid calling fabs 2015-11-06 13:48:24 -06:00
Jeff Epler
9d1843800d indices are integral types 2015-11-06 13:33:28 -06:00
Jeff Epler
6776ea122c avoid expensive modulo calculation 2015-11-06 13:25:08 -06:00
Jeff Epler
171c391b20 use a more typical extension for C++ header files 2015-11-02 11:35:07 -06:00
Jeff Epler
242cd9d84b use a more typical extension for C++ source files 2015-11-02 11:35:06 -06:00
Jeff Epler
8e3f37ed7a Update README.md 2015-10-28 15:50:49 -05:00
Jeff Epler
40d5729b74 Introduce support for different winding rules
This is a model which can support all OpenGL winding rules as well as
any other rule which is just a test of the winding number (if there are
any such tests that are useful).

This requires introducing a flag on Segment objects to track whether they
have been "swapped": A Segment which is not swapped has its endpoints in
the proper order to be consecutive points in a CCW-wound polygon.  One
which is swapped is in the opposite order.

It is necessary to invert this flag when transforming a segment by a
transformation with a negative determinant, and when swapping the endpoints
to satisfy a sorting criterion.
2015-10-02 13:56:20 -05:00
Jeff Epler
e888bf0502 add an unoptimized target
.. helpful when using a debugger
2015-10-02 13:56:20 -05:00
Jeff Epler
95d7f6e683 delete commented-out code 2015-10-02 13:56:20 -05:00
Jeff Epler
7d465a3041 remove unneded include 2015-10-02 13:56:20 -05:00
Jeff Epler
fab9ebe603 introduce, use PSMatrix::determinant method 2015-10-02 13:56:20 -05:00
Jeff Epler
ba3c7cdc8a Fix incorrect ending v coordinate 2015-10-02 13:56:20 -05:00
Jeff Epler
ec893d13f9 an example shape from opengl docs, may be instructive for testing different winding rules 2015-10-02 13:56:20 -05:00
Jeff Epler
8dbbcc6b7c fix doubled percent signs
.. left over from an interation which used printf-style formatting
2015-08-21 13:54:18 -05:00
Jeff Epler
4d6b0c34f2 no need to trim line twice 2015-08-21 13:53:44 -05:00
Jeff Epler
25520fb843 move part of implementation to separate source file 2015-08-20 09:51:23 -05:00
Jeff Epler
0892d2ae68 move includes where they belong 2015-08-20 09:33:09 -05:00
Jeff Epler
ac3dcc35bf further reduce memory allocations
.. by sharing the uvsegments and uu containers for a whole hatching
iteration
2015-08-19 20:58:27 -05:00
Jeff Epler
710e87e431 slightly reduce memory allocations
.. by making the sorted segments to visit and the heaped
active segments live in the same container
2015-08-19 20:57:59 -05:00
Jeff Epler
1810bf85e0 example output 2015-08-19 20:08:32 -05:00
Jeff Epler
2313b56344 some files to play with 2015-08-19 19:53:52 -05:00
Jeff Epler
e7a8bfc423 fixu 2015-08-19 19:53:52 -05:00
Jeff Epler
13f3f9e7ae initial commit 2015-08-19 19:53:52 -05:00