您最多选择25个主题 主题必须以字母或数字开头,可以包含连字符 (-),并且长度不得超过35个字符
 
 
 

2.8 KiB

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