Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.
 
 
 
Sam Hocevar 366b460766 math: minor tweaks to the Lanczos interpolator 4 miesięcy temu
include/lol math: minor tweaks to the Lanczos interpolator 4 miesięcy temu
legacy Rename arraynd to old_arraynd and create new lol::narray implementation. 4 lat temu
t audio: add saturated addition for samples 9 miesięcy temu
.gitattributes build: enforce Unix line endings for autotools files. 4 lat temu
.gitignore audio: fix bugs in the audio sample conversion, and add unit tests 9 miesięcy temu
.gitmodules Replace lolunit.h with doctest, found under <lol/lib/doctest> 9 miesięcy temu
COPYING build: fix the WTFPL site URL in all code comments. 12 lat temu
README.md Update the CLI11 snapshot and move the header to <lol/lib/cli11> 9 miesięcy temu
TODO.md Start working on a new image class. 4 lat temu

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/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/format> ensure std::format is available, using a fallback if necessary
<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/utils> various utilities: environment variables, std::map and std::vector extensions…

Text utilities

header description examples
<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

External libraries

header description
<lol/lib/cli11> the CLI11 command-line parsing library (imported from cliutils/cli11)
<lol/lib/doctest> the doctest unit test framework (imported from doctest/doctest)
<lol/lib/doctest_main> a version of doctest that implements main()
<lol/lib/pegtl> the PEGTL parser (imported from taocpp/pegtl)