#3d #mesh-generation #gamedev #library #c #utilities #libraries
|
|
9 ani în urmă | |
|---|---|---|
| test | 9 ani în urmă | |
| tools | 9 ani în urmă | |
| .gitignore | 10 ani în urmă | |
| .travis.yml | 10 ani în urmă | |
| README.md | 10 ani în urmă | |
| par_bluenoise.h | 10 ani în urmă | |
| par_bubbles.h | 9 ani în urmă | |
| par_easings.h | 10 ani în urmă | |
| par_easycurl.h | 10 ani în urmă | |
| par_filecache.h | 10 ani în urmă | |
| par_msquares.h | 10 ani în urmă | |
| par_shapes.h | 10 ani în urmă | |
| par_sprune.h | 9 ani în urmă | |
| par_triangle.h | 9 ani în urmă |
Single-file C libraries under the MIT license. Documentation can be found at the top of each header file, but some libraries have an accompanying blog post.
| library | description | link |
|---|---|---|
| par_msquares.h | efficient marching squares implementation | blog post |
| par_shapes.h | generate parametric surfaces and other simple shapes | blog post |
| par_bubbles.h | pack circles into hierarchical diagrams | blog post |
| par_bluenoise.h | generate progressive 2D point sequences | blog post |
| par_sprune.h | efficient broad-phase collision detection in 2D | web demo |
| par_easycurl.h | simple HTTP requests using libcurl | |
| par_filecache.h | LRU caching on your device's filesystem | |
| par_easings.h | Robert Penner's easing functions |
To run tests, you need CMake and libcurl. On OS X, these can be installed with homebrew:
$ brew install cmake pkg-config curl
Here's how you can tell CMake to use the CMakeLists in the test folder, placing all the messy stuff in a new folder called build.
$ cmake test -Bbuild # Create makefiles
$ cmake --build build # Invoke the build
The tests are executed by simply running the programs:
$ cd build
$ ./test_msquares
$ ./test_bluenoise
$ ./test_bubbles
$ ./test_shapes
This library's code style is strictly enforced to be vertically dense (no consecutive newlines) and horizontally narrow (80 columns or less).
The tools/format.py script invokes a two-step code formatting process:
uncrustify with our custom configuration. This auto-formats all code in the root folder, up to a point. For example, it does not enforce the 80-character line constraint because line breaking is best done by a human.The aforementioned Python script is also invoked from Travis, but using the --check option, which checks for conformance without editing the code.
Beyond what our uncrustify configuration enforces, the Python script does the following: