![]() |
Lysa
0.0
Lysa 3D Engine
|
Namespaces | |
| namespace | ui |
Typedefs | |
| using | uint8 = std::uint8_t |
| using | uint16 = std::uint16_t |
| using | uint32 = std::uint32_t |
| using | uint64 = std::uint64_t |
| using | int8 = std::int8_t |
| using | int16 = std::int16_t |
| using | int32 = std::int32_t |
| using | int64 = std::int64_t |
| using | unique_id = uint64 |
| using | pipeline_id = uint32 |
| using | collision_layer = uint32 |
Enums | |
| enum class | DebugShapeColor { InstanceColor, ShapeTypeColor, MotionTypeColor, SleepColor } |
| Coloring scheme of collision shapes (only supported by Jolt) More... | |
| enum class | WindowMode : uint8 { WINDOWED = 0, WINDOWED_MAXIMIZED = 1, WINDOWED_FULLSCREEN = 2, FULLSCREEN = 3 } |
| enum class | Transparency { DISABLED = 0, ALPHA = 1 } |
| enum class | ProcessMode { INHERIT = 0, PAUSABLE = 1, WHEN_PAUSED = 2, ALWAYS = 3, DISABLED = 4 } |
| enum class | InputEventType : uint8 { KEY = 0, MOUSE_MOTION = 1, MOUSE_BUTTON = 2, GAMEPAD_BUTTON = 3 } |
| enum class | KeyModifier : uint8 { SHIFT = 0x0001, CONTROL = 0x0002, ALT = 0x0004 } |
| enum | Key : uint32 { KEY_NONE = 0, KEY_SPACE = 1, KEY_DASH = 2, KEY_PIPE = 3, KEY_APOSTROPHE = 4, KEY_COMMA = 5, KEY_PERIOD = 6, KEY_QUESTIONMARK = 7, KEY_0 = 8, KEY_1 = 9, KEY_2 = 10, KEY_3 = 11, KEY_4 = 12, KEY_5 = 13, KEY_6 = 14, KEY_7 = 15, KEY_8 = 16, KEY_9 = 17, KEY_SEMICOLON = 18, KEY_EQUAL = 19, KEY_A = 20, KEY_B = 21, KEY_C = 22, KEY_D = 23, KEY_E = 24, KEY_F = 25, KEY_G = 26, KEY_H = 27, KEY_I = 28, KEY_J = 29, KEY_K = 30, KEY_L = 31, KEY_M = 32, KEY_N = 33, KEY_O = 34, KEY_P = 35, KEY_Q = 36, KEY_R = 37, KEY_S = 38, KEY_T = 39, KEY_U = 40, KEY_V = 41, KEY_W = 42, KEY_X = 43, KEY_Y = 44, KEY_Z = 45, KEY_LEFT_BRACKET = 46, KEY_BACKSLASH = 47, KEY_RIGHT_BRACKET = 48, KEY_GRAVE_ACCENT = 49, KEY_ESCAPE = 50, KEY_ENTER = 51, KEY_TAB = 52, KEY_BACKSPACE = 53, KEY_INSERT = 54, KEY_DELETE = 55, KEY_RIGHT = 56, KEY_LEFT = 57, KEY_DOWN = 58, KEY_UP = 59, KEY_PAGE_UP = 60, KEY_PAGE_DOWN = 61, KEY_HOME = 62, KEY_END = 63, KEY_CAPS_LOCK = 64, KEY_SCROLL_LOCK = 65, KEY_NUM_LOCK = 66, KEY_PRINT_SCREEN = 67, KEY_PAUSE = 68, KEY_F1 = 69, KEY_F2 = 70, KEY_F3 = 71, KEY_F4 = 72, KEY_F5 = 73, KEY_F6 = 74, KEY_F7 = 75, KEY_F8 = 76, KEY_F9 = 77, KEY_F10 = 78, KEY_F11 = 79, KEY_F12 = 80, KEY_KP_0 = 81, KEY_KP_1 = 82, KEY_KP_2 = 83, KEY_KP_3 = 84, KEY_KP_4 = 85, KEY_KP_5 = 86, KEY_KP_6 = 87, KEY_KP_7 = 88, KEY_KP_8 = 89, KEY_KP_9 = 90, KEY_KP_PERIOD = 91, KEY_KP_DIVIDE = 92, KEY_KP_MULTIPLY = 93, KEY_KP_SUBTRACT = 94, KEY_KP_ADD = 95, KEY_KP_ENTER = 96, KEY_KP_EQUAL = 97, KEY_LEFT_SHIFT = 98, KEY_LEFT_CONTROL = 99, KEY_LEFT_ALT = 100, KEY_LEFT_SUPER = 101, KEY_RIGHT_SHIFT = 102, KEY_RIGHT_CONTROL = 103, KEY_RIGHT_ALT = 104, KEY_RIGHT_SUPER = 105 } |
| enum class | MouseButton : uint8 { NONE = 0b0000, LEFT = 0b0001, RIGHT = 0b0010, MIDDLE = 0b0100, WHEEL = 0b1000 } |
| enum class | GamepadButton : uint8 { A = 0, CROSS = A, B = 1, CIRCLE = B, X = 2, SQUARE = X, Y = 3, TRIANGLE = Y, LB = 4, L1 = LB, RB = 5, R1 = RB, BACK = 6, SHARE = BACK, START = 7, MENU = START, LT = 8, L2 = LT, RT = 9, R2 = RT, DPAD_UP = 10, DPAD_RIGHT = 11, DPAD_DOWN = 12, DPAD_LEFT = 13, LAST = DPAD_LEFT } |
| enum class | GamepadAxisJoystick : uint8 { LEFT = 0, RIGHT = 1 } |
| enum class | GamepadAxis : uint8 { LEFT_X = 0, LEFT_Y = 1, RIGHT_X = 2, RIGHT_Y = 3, LEFT_TRIGGER = 4, RIGHT_TRIGGER = 5, LAST = RIGHT_TRIGGER } |
| enum class | MouseMode : uint8 { VISIBLE = 0, VISIBLE_CAPTURED = 1, HIDDEN = 2, HIDDEN_CAPTURED = 3 } |
| enum class | MouseCursor : uint8 { ARROW = 0, WAIT = 1, RESIZE_H = 2, RESIZE_V = 3 } |
| enum | LoggingMode : uint32 { LOGGING_MODE_NONE = 0, LOGGING_MODE_WINDOW = 0x001, LOGGING_MODE_FILE = 0x010, LOGGING_MODE_STDOUT = 0x100 } |
| enum class | LogLevel : int32 { TRACE = -1, DEBUG = 0, INFO = 1, GAME1 = 2, GAME2 = 3, GAME3 = 4, WARNING = 5, ERROR = 6, CRITICAL = 7, INTERNAL = 100 } |
| enum class | AnimationType : uint8 { TRANSLATION = 1, ROTATION = 2, SCALE = 3 } |
| enum class | AnimationInterpolation : uint8 { LINEAR = 0, STEP = 1 } |
| enum class | AnimationLoopMode : uint8 { NONE = 0, LINEAR = 1 } |
| enum class | TransitionType : uint8 { LINEAR = 0 } |
| enum class | CombineMode : uint8 { AVERAGE = 0, MIN = 1, MAX = 2, MULTIPLY = 3 } |
| enum class | RendererType : uint8 { FORWARD = 0, DEFERRED = 1 } |
| enum class | ToneMappingType : uint8 { NONE = 0, REINHARD = 1, ACES = 2 } |
| enum class | AntiAliasingType : uint8 { NONE = 0, FXAA = 1, SMAA = 2 } |
| enum class | PhysicsEngineType { JOLT, PHYSX } |
Functions | |
| template<typename Expr > | |
| constexpr void | assert_expr (Expr &&, const std::string_view, const std::source_location &=std::source_location::current ()) noexcept |
| float | getCurrentTimeMilliseconds () |
| std::string | sanitizeName (const std::string &name) |
| bool | dirExists (const std::string &dirName) |
| float3 | to_float3 (const std::string &str) |
| float4 | to_float4 (const std::string &str) |
| std::vector< std::string_view > | split (std::string_view str, char delimiter) |
| std::string | to_hexstring (const void *ptr) |
| std::string | to_hexstring (uint32 ptr) |
| std::string | to_string (const wchar_t *wstr) |
| std::string | to_string (const float3 &vec) |
| std::string | to_string (const float2 &vec) |
| std::string | to_string (const quaternion &vec) |
| std::string | to_string (const float4 &vec) |
| std::u32string | to_utf32 (const std::string &utf8) |
| std::string | to_lower (const std::string &str) |
| consteval bool | isLoggingEnabled () |
| void | TRACE (const std::source_location &location=std::source_location::current ()) |
| template<typename... Args> | |
| void | DEBUG (Args...args) |
| template<typename... Args> | |
| void | INFO (Args...args) |
| template<typename... Args> | |
| void | GAME1 (Args...args) |
| template<typename... Args> | |
| void | GAME2 (Args...args) |
| template<typename... Args> | |
| void | GAME3 (Args...args) |
| template<typename... Args> | |
| void | WARNING (Args...args) |
| template<typename... Args> | |
| void | ERROR (Args...args) |
| template<typename... Args> | |
| void | CRITICAL (Args...args) |
| float3 | eulerAngles (quaternion q) |
| float | radians (const float angle) |
| bool | almostEquals (const float f1, const float f2) |
| bool | almostEquals (const quaternion &f1, const quaternion &f2) |
| float4x4 | lookAt (const float3 &eye, const float3 ¢er, const float3 &up) |
| float4x4 | perspective (float fov, float aspect, float near, float far) |
| float4x4 | orthographic (float left, float right, float top, float bottom, float znear, float zfar) |
| uint32 | randomi (uint32 max) |
| float | randomf (float max) |
Variables | |
| constexpr unique_id | INVALID_ID {0} |
| const float3 | DEFAULT_CLEAR_COLOR {0.0f, 0.0f, 0.0f} |
| const float3 | AXIS_X {1.0f, 0.0f, 0.0f} |
| const float3 | AXIS_Y {0.0f, 1.0f, 0.0f} |
| const float3 | AXIS_Z {0.0f, 0.0f, 1.0f} |
| const float3 | AXIS_UP = {0.0f, 1.0f, 0.0f} |
| const float3 | AXIS_DOWN = {0.0f, -1.0f, 0.0f} |
| const float3 | AXIS_FRONT = {0.0f, 0.0f, -1.0f} |
| const float3 | AXIS_BACK = {0.0f, 0.0f, 1.0f} |
| const float3 | AXIS_RIGHT = {1.0f, 0.0f, 0.0f} |
| const float3 | AXIS_LEFT = {-1.0f, 0.0f, 0.0f} |
| const float2 | FLOAT2ZERO {0.0f} |
| const float3 | FLOAT3ZERO {0.0f} |
| const quaternion | QUATERNION_IDENTITY {0.0f, 0.0f, 0.0f, 1.0f} |
| const float3x3 | TRANSFORM_BASIS {1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f} |
| constexpr float | HALF_PI = std::numbers::pi_v<float> / 2.0f |
| constexpr int | SHADER_MATERIAL_MAX_PARAMETERS {4} |
| constexpr pipeline_id | DEFAULT_PIPELINE_ID {0} |
| constexpr uint32 | MAX_COLLISIONS_LAYERS {100} |
| constexpr float | VECTOR_SCREEN_SIZE {1000.0f} |
| constexpr bool | ENABLE_LOG = true |
| using collision_layer = uint32 |
| using int16 = std::int16_t |
| using int32 = std::int32_t |
| using int64 = std::int64_t |
| using int8 = std::int8_t |
| using pipeline_id = uint32 |
| using uint16 = std::uint16_t |
| using uint32 = std::uint32_t |
| using uint64 = std::uint64_t |
| using uint8 = std::uint8_t |
|
strong |
|
strong |
Animation loop mode
| Enum Values | Documentation |
|---|---|
| NONE | No loop (default) |
| LINEAR | Restart from start of the track. |
|
strong |
Animation type for a animation track
|
strong |
|
strong |
|
strong |
Coloring scheme of collision shapes (only supported by Jolt)
|
strong |
|
strong |
|
strong |
Gamepas buttons
|
strong |
Key codes, QWERTY layout to keep the WASD keys
|
strong |
| enum LoggingMode : uint32 |
Where to log messages
| Enum Values | Documentation |
|---|---|
| LOGGING_MODE_NONE | Disable logging. |
| LOGGING_MODE_WINDOW | Open an external Window (on the first screen if you have multiple screen) to display the log messages. Log message appearance in the Window can be deferred to the next frame if the log message is sent from a thread different from the main thread |
| LOGGING_MODE_FILE | Log the messages into a file named 'log.txt' |
| LOGGING_MODE_STDOUT | Log the messages to std::cout. WIN32 applications needs to be linked with |
Log levels
| Enum Values | Documentation |
|---|---|
| TRACE | |
| DEBUG | |
| INFO | |
| GAME1 | |
| GAME2 | |
| GAME3 | |
| WARNING | |
| ERROR | |
| CRITICAL | |
| INTERNAL |
|
strong |
|
strong |
|
strong |
|
strong |
Nodes state when the scene is paused or running
|
strong |
|
strong |
|
strong |
A Tween transition type
| Enum Values | Documentation |
|---|---|
| LINEAR | The animation is interpolated linearly |
|
strong |
A Material transparency mode Any transparency mode other than Transparency::DISABLED has a greater performance impact compared to opaque rendering.
| Enum Values | Documentation |
|---|---|
| DISABLED | The material will not use transparency. This is the fastest to render. |
| ALPHA | The material will use the texture's alpha values for transparency. |
|
strong |
Rendering Window mode
| Enum Values | Documentation |
|---|---|
| WINDOWED | A Window with a border and a title that can be minimized. |
| WINDOWED_MAXIMIZED | A maximized Window with a border and a title that can be minimized. |
| WINDOWED_FULLSCREEN | A maximized Window without a border and without a title. |
| FULLSCREEN | A full-screen Window. The screen resolution will be changed. |
|
inline |
|
inline |
|
constexprnoexcept |
| void lysa::CRITICAL | ( | Args... | args | ) |
| void lysa::DEBUG | ( | Args... | args | ) |
| bool lysa::dirExists | ( | const std::string & | dirName | ) |
Tests whether a directory exists at the given path.
| dirName | OS path to check. |
| void lysa::ERROR | ( | Args... | args | ) |
| float3 lysa::eulerAngles | ( | quaternion | q | ) |
| void lysa::GAME1 | ( | Args... | args | ) |
| void lysa::GAME2 | ( | Args... | args | ) |
| void lysa::GAME3 | ( | Args... | args | ) |
| float lysa::getCurrentTimeMilliseconds | ( | ) |
Returns the current time in milliseconds.
| void lysa::INFO | ( | Args... | args | ) |
| consteval bool lysa::isLoggingEnabled | ( | ) |
| float4x4 lysa::lookAt | ( | const float3 & | eye, |
| const float3 & | center, | ||
| const float3 & | up | ||
| ) |
| float4x4 lysa::orthographic | ( | float | left, |
| float | right, | ||
| float | top, | ||
| float | bottom, | ||
| float | znear, | ||
| float | zfar | ||
| ) |
| float4x4 lysa::perspective | ( | float | fov, |
| float | aspect, | ||
| float | near, | ||
| float | far | ||
| ) |
| float lysa::radians | ( | const float | angle | ) |
| float lysa::randomf | ( | float | max | ) |
Returns a random value in the range [0.0f, max]
| std::string lysa::sanitizeName | ( | const std::string & | name | ) |
Produces a sanitized version of a name suitable for identifiers or paths.
Typical sanitization removes or replaces characters that are not alphanumeric, underscore, hyphen or dot, and collapses whitespace.
| name | Input name to sanitize. |
| std::vector<std::string_view> lysa::split | ( | std::string_view | str, |
| char | delimiter | ||
| ) |
Splits a string view into sub‑views using a single‑character delimiter.
The returned views reference the original memory in str; no allocations are performed for the tokens themselves. Callers must ensure that the lifetime of the original string outlives the returned views.
Consecutive delimiters yield empty tokens.
| str | Source string view to split. |
| delimiter | Delimiter character (e.g., ','). |
| float3 lysa::to_float3 | ( | const std::string & | str | ) |
Parses a float3 from a textual representation.
Expected formats typically include:
| str | Input string containing three floating‑point numbers. |
| float4 lysa::to_float4 | ( | const std::string & | str | ) |
Parses a float4 from a textual representation.
Expected formats typically include:
| str | Input string containing four floating‑point numbers. |
| std::string lysa::to_hexstring | ( | const void * | ptr | ) |
Returns a hexadecimal textual representation of a memory address.
| ptr | Pointer value to format. |
| std::string lysa::to_hexstring | ( | uint32 | ptr | ) |
Returns a hexadecimal textual representation of an integer value.
| ptr | Integer value to format in hex. |
| std::string lysa::to_lower | ( | const std::string & | str | ) |
Returns a lowercase copy of the input ASCII/UTF‑8 string.
Locale‑dependent rules may not be applied; intended for identifiers and case‑insensitive comparisons in engine code.
| str | Source string. |
| std::string lysa::to_string | ( | const float2 & | vec | ) |
Returns a human‑readable string for a float2.
| vec | Vector to print. |
| std::string lysa::to_string | ( | const float3 & | vec | ) |
Returns a human‑readable string for a float3.
| vec | Vector to print. |
| std::string lysa::to_string | ( | const float4 & | vec | ) |
Returns a human‑readable string for a float4.
| vec | Vector to print. |
| std::string lysa::to_string | ( | const quaternion & | vec | ) |
Returns a human‑readable string for a quaternion (x, y, z, w order).
| vec | Quaternion to print. |
| std::string lysa::to_string | ( | const wchar_t * | wstr | ) |
Converts a wide‑character C‑string to a UTF‑8 std::string.
| wstr | Null‑terminated wide string. |
| std::u32string lysa::to_utf32 | ( | const std::string & | utf8 | ) |
Converts a UTF‑8 string to UTF‑32 (char32_t) string.
| utf8 | Source string encoded in UTF‑8. |
|
inline |
| void lysa::WARNING | ( | Args... | args | ) |
| const float3 AXIS_BACK = {0.0f, 0.0f, 1.0f} |
BACK Axis
| const float3 AXIS_DOWN = {0.0f, -1.0f, 0.0f} |
DOWN Axis
| const float3 AXIS_FRONT = {0.0f, 0.0f, -1.0f} |
FRONT Axis
| const float3 AXIS_LEFT = {-1.0f, 0.0f, 0.0f} |
LEFT Axis
| const float3 AXIS_RIGHT = {1.0f, 0.0f, 0.0f} |
RIGHT Axis
| const float3 AXIS_UP = {0.0f, 1.0f, 0.0f} |
UP Axis
| const float3 AXIS_X {1.0f, 0.0f, 0.0f} |
X Axis
| const float3 AXIS_Y {0.0f, 1.0f, 0.0f} |
Y Axis
| const float3 AXIS_Z {0.0f, 0.0f, 1.0f} |
Z Axis
| const float3 DEFAULT_CLEAR_COLOR {0.0f, 0.0f, 0.0f} |
Default clear color for windows and color frame buffers
|
constexpr |
|
constexpr |
| const float2 FLOAT2ZERO {0.0f} |
2D zero initialized vector
| const float3 FLOAT3ZERO {0.0f} |
3D zero initialized vector
|
constexpr |
|
constexpr |
|
constexpr |
| const quaternion QUATERNION_IDENTITY {0.0f, 0.0f, 0.0f, 1.0f} |
Unit quaternion with no rotation
|
constexpr |
Maximum number of parameters of a ShaderMaterial
| const float3x3 TRANSFORM_BASIS {1.0f, 0.0f, 0.0f, 0.0f, 1.0f, 0.0f, 0.0f, 0.0f, 1.0f} |
The Basis of 3D transform. It is composed of 3 axes (Basis.x, Basis.y, and Basis.z). Together, these represent the transform's rotation, scale, and shear.
|
constexpr |