All Projects → prideout → Par

prideout / Par

single-file C libraries from Philip Allan Rideout

Programming Languages

c
50402 projects - #5 most used programming language

Labels

Projects that are alternatives of or similar to Par

Worldwindjava
The NASA WorldWind Java SDK (WWJ) is for building cross-platform 3D geospatial desktop applications in Java.
Stars: ✭ 526 (-18.32%)
Mutual labels:  graphics
Unity Shaders
A bunch of shader examples created in Unity (ShaderGraph & Built-in) 🧙✨
Stars: ✭ 564 (-12.42%)
Mutual labels:  graphics
Renderdoc
RenderDoc is a stand-alone graphics debugging tool.
Stars: ✭ 5,969 (+826.86%)
Mutual labels:  graphics
React Web Ar
🕶️ Augmented Reality on web with React
Stars: ✭ 531 (-17.55%)
Mutual labels:  graphics
Vulkan
Vulkan API bindings for Go programming language
Stars: ✭ 559 (-13.2%)
Mutual labels:  graphics
Gpu Gems Book Source Code
💿 CD Content ( Source Code ) Collection of Book <GPU Gems > 1~ 3 | 《GPU精粹》 1~ 3 随书CD(源代码)珍藏
Stars: ✭ 567 (-11.96%)
Mutual labels:  graphics
Handmade Math
A simple math library for games and computer graphics. Compatible with both C and C++.
Stars: ✭ 517 (-19.72%)
Mutual labels:  graphics
Nova Renderer
Nova Renderer, a custom cross platform render engine written in C++
Stars: ✭ 619 (-3.88%)
Mutual labels:  graphics
Im3d
Immediate mode rendering and 3d gizmos.
Stars: ✭ 561 (-12.89%)
Mutual labels:  graphics
Ascii art
Real-Time ASCII Art Rendering Library
Stars: ✭ 599 (-6.99%)
Mutual labels:  graphics
Unitypcss
Nvidia's PCSS soft shadow algorithm implemented in Unity
Stars: ✭ 533 (-17.24%)
Mutual labels:  graphics
Swarm
An example of use of compute shaders and procedural instancing.
Stars: ✭ 547 (-15.06%)
Mutual labels:  graphics
Server
CasparCG Server is a Windows and Linux software used to play out professional graphics, audio and video to multiple outputs. It has been in 24/7 broadcast production since 2006. Ready-to-use downloads are available under the Releases tab https://casparcg.com.
Stars: ✭ 572 (-11.18%)
Mutual labels:  graphics
Texturepanner
This repository hosts a shader for Unity3D whose main goal is to facilitate the creation of neon-like signs, conveyor belts and basically whatever based on scrolling textures
Stars: ✭ 528 (-18.01%)
Mutual labels:  graphics
Hsstockchart
Stock Chart include CandleStickChart,TimeLineChart. 股票走势图,包括 K 线图,分时图,手势缩放,拖动
Stars: ✭ 602 (-6.52%)
Mutual labels:  graphics
Dearpygui
Dear PyGui: A fast and powerful Graphical User Interface Toolkit for Python with minimal dependencies
Stars: ✭ 6,631 (+929.66%)
Mutual labels:  graphics
Hybridrenderingengine
Clustered Forward/Deferred renderer with Physically Based Shading, Image Based Lighting and a whole lot of OpenGL.
Stars: ✭ 563 (-12.58%)
Mutual labels:  graphics
Rs pbrt
Rust crate to implement a counterpart to the PBRT book's (3rd edition) C++ code. See also https://www.rs-pbrt.org/about ...
Stars: ✭ 619 (-3.88%)
Mutual labels:  graphics
Noiseshader
Noise shader library for Unity
Stars: ✭ 616 (-4.35%)
Mutual labels:  graphics
Gophericons
34 gopher images for Go developers community
Stars: ✭ 578 (-10.25%)
Mutual labels:  graphics

Build Status

par

Single-file C libraries under the MIT license, mostly graphics related. Documentation can be found at the top of each header file, but some libraries have an accompanying blog post. The most useful ones are listed in the following table.

library description link
par_camera_control.h orbit controller, or pan-and-zoom like Google Maps demo project
par_octasphere.h malloc-free mesh gen for spheres and rounded cuboids blog post
par_streamlines.h triangulate wide lines and curves blog post
par_string_blocks.h string manager for snippets of Lua or GLSL
par_shapes.h generate parametric surfaces and other simple shapes blog post

There are more libraries too but they're probably less useful; scroll to the bottom of this README.

tests

To run tests, you need CMake and pkg-config. On macOS, these can be installed with homebrew:

$ brew install cmake pkg-config

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:

$ build/test_bubbles
$ build/test_shapes
$ build/test_octasphere

code formatting

This library's code style is strictly enforced to be vertically dense (no consecutive newlines) and 100 columns or less.

The tools/format.py script invokes a two-step code formatting process:

  1. Runs uncrustify with our custom configuration. This auto-formats all code in the root folder, up to a point.
  2. Checks for violations that are not otherwise enforced with uncrustify.

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:

  • Checks that no lines are more than 100 chars.
  • Checks for extra newlines before an end brace.

other libraries

library description link
par_bluenoise.h generate progressive 2D point sequences blog post
par_bubbles.h pack circles into hierarchical diagrams blog post
par_easings.h Robert Penner's easing functions
par_easycurl.h simple HTTP requests using libcurl
par_filecache.h LRU caching on your device's filesystem
par_sprune.h efficient broad-phase collision detection in 2D web demo
par_msquares.h unmaintained marching squares library (do not use) blog post
Note that the project description data, including the texts, logos, images, and/or trademarks, for each open source project belongs to its rightful owner. If you wish to add or remove any projects, please contact us at [email protected].