You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
Sam Hocevar db10f5875e Rename narray_view to narray_span and allow creation from a const container. пре 4 година
include/lol Rename narray_view to narray_span and allow creation from a const container. пре 4 година
legacy Rename arraynd to old_arraynd and create new lol::narray implementation. пре 4 година
.gitattributes build: enforce Unix line endings for autotools files. пре 4 година
.gitignore Start working on the header-only part of the framework. пре 4 година
.gitmodules Add “merge” and “upstream” entries for submodules. пре 4 година
COPYING build: fix the WTFPL site URL in all code comments. пре 12 година
README.md Rename narray_view to narray_span and allow creation from a const container. пре 4 година
TODO.md Add <lol/file> to easily read and write files. пре 4 година

README.md

About

The header-only part of the Lol Engine framework.

Containers

header description examples
<lol/narray> n-dimensional dynamic array containers lol::narray<int, 4>
lol::array2d<float>, lol::array3d<uint8_t>
lol::narray_span<int, 4>
lol::span2d<uint8_t>, lol::span3d<float>

Math

header description examples
<lol/bigint> big integer calculations
<lol/half> half-precision (16-bit) floating point numbers lol::half x = 2, y = 3;
x /= y;
float z = x;
<lol/math> math constants, functions, random number generators, polynomials
<lol/noise> Perlin and simplex noise
<lol/real> arbitrary precision floating point numbers
<lol/transform> quaternion, matrix and SQT transformation utilities
<lol/vector> GLSL-compatible vector classes lol::vec2, lol::vec3, lol::vec4
lol::ivec2, lol::ivec3, lol::ivec4
● also: lol::u8vec3, lol::f16vec4, lol::vec7, lol::ivec11
● swizzling: v1 = v2.xyy;, v2 += v3.bgr;a
● functions: dot(), length(), min(), clamp()

Sytem

header description examples
<lol/cli> command-line parsing (imported from cliutils/cli11)
<lol/dialogs> portable file dialogs (imported from samhocevar/portable-file-dialogs)
<lol/file> file reading utilities lol::read(filename, data) for any std::string or std::vector
lol::write(filename, data)
<lol/msg> simple message logging lol::msg::info("hello\n");
lol::msg::debug("%d %d\n", x, y);
● also lol::msg::error, lol::msg::warn
<lol/thread> threading and timing lol::thread
lol::queue<int, 200> (thread-safe FIFO queue)
lol::timer (high precision timer)
<lol/unit_test> unit test framework
<lol/utils> various utilities: environment variables, string formatting, std::map and std::vector extensions…

Text utilities

header description examples
<lol/pegtl> the PEGTL parser (imported from taocpp/pegtl)
<lol/algo/suffix_array> suffix array for fast string searches (imported from storm-ptr/step)

Graphics

header description examples
<lol/color> colorspace conversions (RGB, sRGB, HSV…)
<lol/image> image loading, saving, and processing