nngn
|
Namespaces | |
namespace | anonymous_namespace{tests.h} |
namespace | detail |
namespace | literals |
namespace | lua |
namespace | term |
Classes | |
struct | AABBCollider |
struct | AdHocTimer |
class | alloc_block |
Non-owning handle to an aggregate header and data block. More... | |
struct | allocator_base |
Base class for allocators, implements a few basic operations. More... | |
struct | allocator_opts |
Configuration object for allocator_base. More... | |
struct | always_false |
struct | Animation |
class | AnimationFunction |
class | Animations |
struct | ANSIEscapeCode |
ANSI escape code sequences. More... | |
class | Audio |
Audio manager. More... | |
class | AudioWidget |
class | AudioWorker |
struct | BBCollider |
class | BindingGroup |
class | Buffer |
struct | Camera |
Abstract orthographic/perspective camera. More... | |
struct | CameraUBO |
struct | Collider |
struct | Colliders |
struct | Collision |
struct | CollisionStats |
class | CommandPool |
class | ComponentButton |
class | Components |
struct | Compute |
Base class for computation back ends, which may be hardware-accelerated. More... | |
struct | constant |
Function object which always produces the same value. More... | |
struct | CubeRenderer |
class | DedicatedBuffer |
class | delegate |
Static container for a callable and its arguments. More... | |
class | delegate_fn |
Unique type for a function or member function pointer. More... | |
class | DescriptorPool |
class | DescriptorSets |
class | Device |
Owning wrapper for a VkDevice. More... | |
struct | DeviceInfo |
Aggregate type for information about a physical device. More... | |
class | DeviceMemory |
Manages device memory queries, allocations, and lifetime. More... | |
struct | DeviceMemoryInfo |
Aggregate type for information about a device's memory heaps. More... | |
class | Edit |
struct | fixed_string |
struct | Flags |
Wrapper for a small unsigned integral representing flags. More... | |
class | FlowGridLayout |
Resizable QGridLayout composed of uniform, fixed-size widgets. More... | |
struct | Font |
class | Fonts |
struct | FPS |
class | FrameLimiter |
Simulates a v-sync pause using sleep . More... | |
struct | Gen |
class | Generator |
struct | GLBuffer |
struct | GLDebugGroup |
RAII-based debug group manager. More... | |
struct | GLFrameBuffer |
class | GLFWBackend |
class | GLPost |
Post-processing operations. More... | |
struct | GLProgram |
struct | GLShader |
struct | GLTexArray |
struct | Graphics |
struct | GraphicsStats |
struct | GravityCollider |
class | Grid |
struct | Handle |
Base class for strongly-typed handles in 32-bit platforms. More... | |
struct | Image |
class | Input |
Dispatches keyboard input events to pre-registered Lua functions. More... | |
class | Instance |
Owning wrapper for a Vulkan instance. More... | |
struct | InstanceInfo |
Aggregate type for information about an instance. More... | |
struct | Light |
class | LightAnimation |
class | Lighting |
struct | LightsUBO |
class | Log |
class | lua_vector |
Type used to get/push vectors as user data in Lua. More... | |
class | LuaSyntaxHighlighter |
class | Map |
struct | mat |
struct | mat3_base |
struct | mat4_base |
class | Math |
struct | mem_obj |
struct | member_less |
struct | member_obj_type |
Type associated with a member object/function pointer. More... | |
struct | member_obj_type< O(T::*)> |
struct | member_obj_type< R(T::*)(Args...)> |
class | MouseInput |
Mouse event manager. More... | |
class | OpenGLHandle |
class | owning_view |
class | PCMWidget |
struct | PlaneCollider |
struct | Platform |
class | pointer_flag |
struct | Profile |
struct | ProfileStats |
struct | Pseudograph |
struct | range_to |
struct | reallocator |
Simple allocator which supports reallocation. More... | |
struct | Renderer |
class | Renderers |
Rendering subsystem. More... | |
class | Schedule |
Executor of deferred and recurrent tasks. More... | |
class | scoped |
class | Socket |
class | SourceEditor |
struct | SphereCollider |
class | SpriteAnimation |
struct | SpriteRenderer |
class | StagingBuffer |
Manages staging buffers for a group of frames. More... | |
class | static_vector |
Fixed-size vector with an embedded free list. More... | |
class | Stats |
struct | StatsBase |
class | Sun |
struct | SurfaceInfo |
Aggregate type for information about a surface. More... | |
class | SwapChain |
Presentation swap chain and associated objects. More... | |
class | tagging_allocator |
Generic implementation of a malloc(3) -style allocator with headers. More... | |
class | Terminal |
Handles interactions with the output terminal. More... | |
struct | Text |
class | Textbox |
class | Textures |
Texture manager, loads and caches image data from files/buffers. More... | |
struct | Timing |
struct | to |
Function object which converts its argument to T via static_cast . More... | |
class | tracking_allocator |
Allocator which tracks the amount of memory allocated. More... | |
struct | VAO |
struct | vec |
struct | vec2_base |
struct | vec3_base |
struct | vec4_base |
struct | vec_type |
struct | vec_type< T, 2 > |
struct | vec_type< T, 3 > |
struct | vec_type< T, 4 > |
struct | Vertex |
struct | VoxelRenderer |
struct | VT100EscapeCode |
Character sequences to control a VT100 terminal. More... | |
struct | VT520EscapeCode |
Character sequences to control a VT520 terminal. More... | |
class | WAV |
A non-owning wrapper for a byte buffer containing a WAV file. More... | |
Concepts | |
concept | VkNamedRange |
concept | vector |
concept | tagging_descriptor |
Associates a block type with an allocator. | |
concept | alloc_tracker |
Describes how allocations of a particular type are tracked. | |
concept | trivial |
concept | standard_layout |
concept | derived_from |
concept | convertible_to_strict |
As std::convertible_to , but excluding implicit conversions. | |
concept | integral |
concept | unsigned_integral |
concept | arithmetic |
concept | char_type |
concept | byte_type |
concept | pointer |
concept | byte_pointer |
concept | member_pointer |
concept | function |
concept | c_function_pointer |
concept | member_function_pointer |
concept | function_pointer |
concept | lvalue_ref |
concept | rvalue_ref |
concept | enum_ |
concept | c_enum |
concept | scoped_enum |
concept | stateless_lambda |
concept | type_list |
Typedefs | |
using | MemoryAllocation = std::uint64_t |
template<typename T > | |
using | vk_create_info_type |
Maps types to *CretaeInfo structures. | |
using | Hash = std::size_t |
using | imat3 = mat3_base<int32_t> |
using | umat3 = mat3_base<uint32_t> |
using | mat3 = mat3_base<float> |
using | dmat3 = mat3_base<double> |
using | imat4 = mat4_base<int32_t> |
using | umat4 = mat4_base<uint32_t> |
using | mat4 = mat4_base<float> |
using | dmat4 = mat4_base<double> |
template<typename T , std::size_t N> | |
using | vec_type_t = typename vec_type<T, N>::type |
template<typename T > | |
using | vector_type = typename T::type |
using | ivec2 = vec2_base<std::int32_t> |
using | uvec2 = vec2_base<std::uint32_t> |
using | zvec2 = vec2_base<std::size_t> |
using | vec2 = vec2_base<float> |
using | dvec2 = vec2_base<double> |
using | ivec3 = vec3_base<std::int32_t> |
using | uvec3 = vec3_base<std::uint32_t> |
using | zvec3 = vec3_base<std::size_t> |
using | vec3 = vec3_base<float> |
using | dvec3 = vec3_base<double> |
using | ivec4 = vec4_base<std::int32_t> |
using | uvec4 = vec4_base<std::uint32_t> |
using | zvec4 = vec4_base<std::size_t> |
using | vec4 = vec4_base<float> |
using | dvec4 = vec4_base<double> |
template<typename T > | |
using | stateless_allocator = allocator_base<T, allocator_opts{.is_always_equal = true}> |
Base class for allocators that have no state. | |
template<typename T > | |
using | stateful_allocator = allocator_base<T, allocator_opts{.is_always_equal = false}> |
Base class for allocators that have state. | |
using | i8 = std::int8_t |
using | i16 = std::int16_t |
using | i32 = std::int32_t |
using | i64 = std::int64_t |
using | u8 = std::uint8_t |
using | u16 = std::uint16_t |
using | u32 = std::uint32_t |
using | u64 = std::uint64_t |
template<auto f> | |
using | fn_args = typename detail::fn_args< >::type |
template<typename ... Ts> | |
using | types = detail::types_impl<Ts...> |
template<typename T > | |
using | member_obj_type_t = typename member_obj_type<T>::type |
Enumerations | |
enum class | empty |
Functions | |
template<typename T > | |
static T::pointer | add (T *v, typename T::const_reference c) |
template<Compute::Backend > | |
std::unique_ptr< Compute > | compute_create_backend (const void *params) |
template<> | |
std::unique_ptr< Compute > | compute_create_backend< backend > (const void *params) |
template<> | |
std::unique_ptr< Compute > | compute_create_backend< Compute::Backend::PSEUDOCOMP > (const void *params) |
template<template< typename > typename V, typename T , std::size_t N> | |
std::ostream & | operator<< (std::ostream &os, const vec< V, T, N > &v) |
std::ostream & | operator<< (std::ostream &os, const mat4 &m) |
std::ostream & | operator<< (std::ostream &os, const Vertex &v) |
std::ostream & | operator<< (std::ostream &os, const mat3 &m) |
template<Graphics::Backend > | |
std::unique_ptr< Graphics > | graphics_create_backend (const void *params) |
template<> | |
std::unique_ptr< Graphics > | graphics_create_backend< backend > (const void *params) |
template<> | |
std::unique_ptr< Graphics > | graphics_create_backend< backend_es > (const void *params) |
const char * | gl_strerror (GLenum error) |
const char * | gl_enum_str (GLenum e) |
bool | gl_check_result (const char *func_name) |
bool | gl_set_obj_name (GLenum type, GLuint obj, std::string_view name) |
template<> | |
std::unique_ptr< Graphics > | graphics_create_backend< Backend > (const void *params) |
template<> | |
std::unique_ptr< Graphics > | graphics_create_backend< backend > (const void *params) |
NNGN_APPLY2 (C, VkBuffer, BUFFER) NNGN_IGNORE2(C | |
COMMAND_BUFFER | NNGN_APPLY2 (C, VkCommandPool, COMMAND_POOL) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL | NNGN_IGNORE2 (C, VkDescriptorSet, DESCRIPTOR_SET) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT | NNGN_IGNORE2 (C, VkDeviceMemory, DEVICE_MEMORY) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE | NNGN_APPLY2 (C, VkFramebuffer, FRAMEBUFFER) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE | NNGN_APPLY2 (C, VkImageView, IMAGE_VIEW) NNGN_IGNORE2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE | NNGN_IGNORE2 (C, VkQueue, QUEUE) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE | NNGN_APPLY2 (C, VkPipelineLayout, PIPELINE_LAYOUT) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS | NNGN_APPLY2 (C, VkSampler, SAMPLER) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE | NNGN_APPLY2 (C, VkShaderModule, SHADER_MODULE) template<> inline const expr auto vk_obj_type< VkBuffer > |
const char * | vk_strerror (VkResult result) |
const char * | vk_enum_str (VkDebugUtilsMessageSeverityFlagBitsEXT f) |
std::string | vk_version_str (Graphics::Version v) |
std::string | vk_version_str (std::uint32_t v) |
Unpacks a Vulkan version number into a character array. | |
Graphics::Version | vk_parse_version (std::uint32_t v) |
Unpacks a Vulkan version number. | |
const char * | vk_enum_str (VkDebugUtilsMessageTypeFlagsEXT f) |
std::vector< Graphics::Extension > | vk_parse_extensions (std::span< const VkExtensionProperties > s) |
Populates Graphics::Extension objects from their Vulkan equivalents. | |
Graphics::PresentMode | vk_present_mode (VkPresentModeKHR m) |
Populates a Graphics::PresentMode from its Vulkan equivalent. | |
template<typename T > | |
vk_create_info_type< T > | vk_create_info (vk_create_info_type< T > info) |
nngn::uvec2 | vk_extent_to_vec (VkExtent2D e) |
VkExtent2D | vk_vec_to_extent (nngn::uvec2 v) |
bool | vk_check_result (const char *func, VkResult r) |
Checks that r is VK_SUCCESS or emits a log message. | |
template<c_function_pointer auto f> | |
auto | vk_enumerate (const auto &...args) |
Creates a vector from the result of calling f with args . | |
template<typename T , auto ... Ps> | |
constexpr auto | vk_vertex_input (std::span< const VkVertexInputBindingDescription > bindings) |
std::vector< const char * > | vk_names (const VkNamedRange auto &r) |
Extracts the name character array from common objects. | |
template<standard_layout T, auto ... Ps> | |
auto | vk_vertex_attrs () |
constexpr VkPipelineVertexInputStateCreateInfo | vk_vertex_input (std::span< const VkVertexInputBindingDescription > bindings, std::span< const VkVertexInputAttributeDescription > attrs) |
template<> | |
std::unique_ptr< Graphics > | graphics_create_backend< Backend > (const void *params) |
std::unique_ptr< Input::Source > | input_graphics_source (Graphics *g) |
std::unique_ptr< Input::Source > | input_terminal_source (int fd, Input::TerminalFlag flags) |
Hash | hash (std::span< const char > s) |
template<template< typename > typename CRTP, typename T , std::size_t N> | |
constexpr bool | operator== (const mat< CRTP, T, N > &m0, const mat< CRTP, T, N > &m1) |
template<template< typename > typename CRTP, typename T , std::size_t N> | |
constexpr CRTP< T > | operator* (T s, const mat< CRTP, T, N > &m) |
template<template< typename > typename CRTP, typename T , std::size_t N> | |
constexpr CRTP< T > | operator* (const mat< CRTP, T, N > &m0, const mat< CRTP, T, N > &m1) |
template<template< typename > typename CRTP, typename T , std::size_t N> | |
constexpr vec_type_t< T, N > | operator* (const mat< CRTP, T, N > &m, const vec_type_t< T, N > &v) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr const R * | begin (const T< R > &v) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr const R * | end (const T< R > &v) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr R * | begin (T< R > &v) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr R * | end (T< R > &v) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr bool | operator== (const T< R > &v0, const T< R > &v1) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr bool | operator!= (const T< R > &v0, const T< R > &v1) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator+ (R s, const T< R > &v) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator- (R s, const T< R > &v) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator* (R s, const T< R > &v) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator/ (R s, const T< R > &v) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator+ (const T< R > &v, R s) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator- (const T< R > &v, R s) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator* (const T< R > &v, R s) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator/ (const T< R > &v, R s) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator+ (const T< R > &v0, const T< R > &v1) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator- (const T< R > &v0, const T< R > &v1) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator* (const T< R > &v0, const T< R > &v1) |
template<template< typename > typename T, typename R > requires vector<T, R> | |
constexpr T< R > | operator/ (const T< R > &v0, const T< R > &v1) |
static void | end_step (AdHocTimer::Step *s, Timing::time_point *last) |
template<typename D > | |
static auto | now (const Timing &t) |
template<typename D > | |
static auto | fnow (const Timing &t) |
template<typename D > | |
static auto | dt (const Timing &t) |
template<typename D > | |
static auto | fdt (const Timing &t) |
template<typename T , allocator_opts o> | |
bool | operator== (const allocator_base< T, o > &, const allocator_base< T, o > &) |
template<typename T , allocator_opts o> | |
bool | operator!= (const allocator_base< T, o > &, const allocator_base< T, o > &) |
template<std::size_t N> | |
fixed_string (const char(&)[N]) -> fixed_string< N - 1 > | |
template<std::ranges::sized_range ... Rs> | |
constexpr auto | cat (const Rs &...rs) |
Concatenates multiple fixed_string objects into a character array. | |
template<typename T > | |
constexpr Flags< T > | operator& (Flags< T > lhs, Flags< T > rhs) |
template<typename T > | |
constexpr Flags< T > | operator| (Flags< T > lhs, Flags< T > rhs) |
template<typename T > | |
constexpr Flags< T > | operator^ (Flags< T > lhs, Flags< T > rhs) |
std::ostream & | operator<< (std::ostream &os, Log::record r) |
constexpr auto * | data_end (std::ranges::contiguous_range auto &&r) |
template<typename T > | |
void | resize_and_init (T *p, std::size_t n, auto &&f) |
template<typename V > | |
void | set_capacity (V *v, size_t n) |
template<std::size_t N> | |
consteval auto | to_array (const char *s) |
template<std::size_t N> | |
consteval auto | to_array (const char(&s)[N]) |
template<std::size_t N> | |
consteval auto | to_array (const std::ranges::contiguous_range auto &r) |
template<std::size_t N, std::ranges::view V> | |
consteval auto | to_array (V &&v) |
constexpr bool | contains (const std::ranges::contiguous_range auto &r, const auto &x) |
constexpr bool | in_range (const std::ranges::contiguous_range auto &r, const auto &x) |
template<std::ranges::forward_range R, typename Proj = std::identity> | |
constexpr bool | is_sequence (R &&r, Proj proj={}) |
template<std::ranges::range R> | |
constexpr void | iota (R &&r, std::ranges::range_value_t< R > &&x={}) |
constexpr auto | reduce (std::ranges::range auto &&r) |
constexpr auto | reduce (std::ranges::range auto &&r, auto &&init={}, auto &&op=std::plus<>{}) |
void | const_time_erase (auto *v, auto *p) |
template<std::input_iterator I, std::output_iterator< std::iter_value_t< I > > O> | |
constexpr void | fill_with_pattern (I f, I l, O df, O dl) |
constexpr void | fill_with_pattern (std::ranges::range auto &&p, std::ranges::range auto &&r) |
template<typename T > | |
constexpr T * | memcpy (T *dst, std::ranges::contiguous_range auto &&r) |
template<typename T > | |
constexpr T * | memmove (T *dst, std::ranges::contiguous_range auto &&r) |
std::string | regexp_replace (std::string &&s, const std::regex &r, const char *fmt) |
std::string | regexp_replace (std::string_view s, const std::regex &r, const char *fmt) |
template<typename F , typename ... Ts> | |
auto | make_scoped (F &&f, Ts &&...ts) |
template<typename T , typename F , typename ... Ts> | |
auto | make_scoped_obj (T &&t, F &&f, Ts &&...ts) |
template<typename T > | |
std::span< T > | slice (std::span< T > s, auto b, auto e) |
template<typename T > | |
auto | split (std::span< T > s, std::size_t i) |
auto | split (std::string_view s, std::string_view::iterator i) |
std::string | fmt (auto &&...args) |
template<typename T > | |
auto | tuple_tail (T &&t) |
bool | read_file (std::string_view filename, std::string *ret) |
bool | read_file (std::string_view filename, std::vector< std::byte > *ret) |
template<typename ... Ts> | |
constexpr | chain_cast (auto &&x) |
Performs successive static_cast s, right to left. | |
template<typename To , typename From > | |
To | narrow (const From &x) |
Casts x to a narrower type, asserting that the value is preserved. | |
template<typename T , typename U > | |
constexpr | cast (U &&x) |
Cast value to T with the strictest cast operator. | |
template<typename To , typename From > requires byte_pointer<To> || byte_pointer<From> | |
constexpr To | byte_cast (From p) |
reinterpret_cast restricted to conversions from/to char /uchar . | |
template<typename To , typename From > requires byte_type<To> || char_type<To> || byte_type<From> || char_type<From> | |
std::span< To > | byte_cast (std::span< From > s) |
Cast between span s where one is a byte type. | |
template<enum_ T> | |
constexpr auto | to_underlying (T t) |
constexpr auto | ptr_diff (const auto *lhs, const auto *rhs) |
Signed distance in bytes between pointers. | |
constexpr bool | ptr_cmp (const auto *p0, const auto *p1) |
Compares the address of two pointers. | |
template<standard_layout T> | |
std::size_t | offsetof_ptr (auto T::*p) |
Similar to the stdlib's offsetof , but using member data pointers. | |
auto | as_bytes (const void *p) |
auto | as_bytes (void *p) |
std::span< const std::byte > | as_byte_span (const auto *x) |
std::span< std::byte > | as_byte_span (auto *x) |
constexpr bool | str_less (const char *lhs, const char *rhs) |
template<typename To , typename From > requires ( sizeof(To) == sizeof(From) && std::is_trivially_copyable_v<To> && std::is_trivially_copyable_v<From>) | |
constexpr auto | bit_cast (const From &from) |
template<typename T > | |
constexpr auto | set_bit (T t, T mask, bool value) |
constexpr | rptr (auto &&r) |
Allows passing an rvalue pointer to a function. | |
bool | operator== (const Vertex &l, const Vertex &r) |
template<typename T > | |
char * | toString (const vec2_base< T > &t) |
template<typename T > | |
char * | toString (const vec3_base< T > &t) |
template<typename T > | |
char * | toString (const vec4_base< T > &t) |
char * | toString (const mat3 &t) |
char * | toString (const mat4 &t) |
char * | toString (const Vertex &t) |
std::string | str (const static_vector< S > &v) |
QString | qstring_from_view (std::string_view v) |
Variables | |
template<typename T > | |
using | const_iterator |
template<typename T > | |
static constexpr Compute::Type | arg_type = Compute::Type::NONE |
template<typename T > | |
constexpr empty | vk_struct_type = {} |
Maps types to VkStructureType values. | |
template<typename T > | |
constexpr empty | vk_obj_type = {} |
Maps types to VkObjectType values. | |
VkCommandBuffer | |
COMMAND_BUFFER | VkDescriptorPool |
COMMAND_BUFFER DESCRIPTOR_POOL | VkDescriptorSetLayout |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT | VkFence |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE | VkImage |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE | VkPipeline |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE | VkPipelineCache |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE | VkRenderPass |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS | VkSemaphore |
template<> | |
constexpr auto | vk_obj_type< VkCommandBuffer > = VK_OBJECT_TYPE_COMMAND_BUFFER |
template<> | |
constexpr auto | vk_obj_type< VkCommandPool > = VK_OBJECT_TYPE_COMMAND_POOL |
template<> | |
constexpr auto | vk_obj_type< VkDescriptorPool > = VK_OBJECT_TYPE_DESCRIPTOR_POOL |
template<> | |
constexpr auto | vk_obj_type< VkDescriptorSet > = VK_OBJECT_TYPE_DESCRIPTOR_SET |
template<> | |
constexpr auto | vk_obj_type< VkDescriptorSetLayout > = VK_OBJECT_TYPE_DESCRIPTOR_SET_LAYOUT |
template<> | |
constexpr auto | vk_obj_type< VkDeviceMemory > = VK_OBJECT_TYPE_DEVICE_MEMORY |
template<> | |
constexpr auto | vk_obj_type< VkFence > = VK_OBJECT_TYPE_FENCE |
template<> | |
constexpr auto | vk_obj_type< VkFramebuffer > = VK_OBJECT_TYPE_FRAMEBUFFER |
template<> | |
constexpr auto | vk_obj_type< VkImage > = VK_OBJECT_TYPE_IMAGE |
template<> | |
constexpr auto | vk_obj_type< VkImageView > = VK_OBJECT_TYPE_IMAGE_VIEW |
template<> | |
constexpr auto | vk_obj_type< VkPipeline > = VK_OBJECT_TYPE_PIPELINE |
template<> | |
constexpr auto | vk_obj_type< VkQueue > = VK_OBJECT_TYPE_QUEUE |
template<> | |
constexpr auto | vk_obj_type< VkPipelineCache > = VK_OBJECT_TYPE_PIPELINE_CACHE |
template<> | |
constexpr auto | vk_obj_type< VkPipelineLayout > = VK_OBJECT_TYPE_PIPELINE_LAYOUT |
template<> | |
constexpr auto | vk_obj_type< VkRenderPass > = VK_OBJECT_TYPE_RENDER_PASS |
template<> | |
constexpr auto | vk_obj_type< VkSampler > = VK_OBJECT_TYPE_SAMPLER |
template<> | |
constexpr auto | vk_obj_type< VkSemaphore > = VK_OBJECT_TYPE_SEMAPHORE |
template<> | |
constexpr auto | vk_obj_type< VkShaderModule > = VK_OBJECT_TYPE_SHADER_MODULE |
using nngn::dmat3 = mat3_base<double> |
using nngn::dmat4 = mat4_base<double> |
using nngn::dvec2 = vec2_base<double> |
using nngn::dvec3 = vec3_base<double> |
using nngn::dvec4 = vec4_base<double> |
using nngn::fn_args = typename detail::fn_args< >::type |
using nngn::Hash = std::size_t |
using nngn::i16 = std::int16_t |
using nngn::i32 = std::int32_t |
using nngn::i64 = std::int64_t |
using nngn::i8 = std::int8_t |
using nngn::imat3 = mat3_base<int32_t> |
using nngn::imat4 = mat4_base<int32_t> |
using nngn::ivec2 = vec2_base<std::int32_t> |
using nngn::ivec3 = vec3_base<std::int32_t> |
using nngn::ivec4 = vec4_base<std::int32_t> |
using nngn::mat3 = mat3_base<float> |
using nngn::mat4 = mat4_base<float> |
using nngn::member_obj_type_t = typename member_obj_type<T>::type |
using nngn::MemoryAllocation = std::uint64_t |
using nngn::stateful_allocator = allocator_base<T, allocator_opts{.is_always_equal = false}> |
Base class for allocators that have state.
Automatically implements an equality operator which always returns false
.
using nngn::stateless_allocator = allocator_base<T, allocator_opts{.is_always_equal = true}> |
Base class for allocators that have no state.
Automatically implements an equality operator which always returns true
.
using nngn::types = detail::types_impl<Ts...> |
using nngn::u16 = std::uint16_t |
using nngn::u32 = std::uint32_t |
using nngn::u64 = std::uint64_t |
using nngn::u8 = std::uint8_t |
using nngn::umat3 = mat3_base<uint32_t> |
using nngn::umat4 = mat4_base<uint32_t> |
using nngn::uvec2 = vec2_base<std::uint32_t> |
using nngn::uvec3 = vec3_base<std::uint32_t> |
using nngn::uvec4 = vec4_base<std::uint32_t> |
using nngn::vec2 = vec2_base<float> |
using nngn::vec3 = vec3_base<float> |
using nngn::vec4 = vec4_base<float> |
using nngn::vec_type_t = typename vec_type<T, N>::type |
using nngn::vector_type = typename T::type |
using nngn::vk_create_info_type |
Maps types to *CretaeInfo structures.
using nngn::zvec2 = vec2_base<std::size_t> |
using nngn::zvec3 = vec3_base<std::size_t> |
using nngn::zvec4 = vec4_base<std::size_t> |
|
strong |
|
inline |
|
inline |
|
inline |
|
inlineconstexpr |
|
inlineconstexpr |
|
constexpr |
|
constexpr |
reinterpret_cast
restricted to conversions from/to char
/uchar
.
std::span< To > nngn::byte_cast | ( | std::span< From > | s | ) |
Cast between span
s where one is a byte type.
|
constexpr |
Cast value to T
with the strictest cast operator.
|
constexpr |
Concatenates multiple fixed_string objects into a character array.
|
constexpr |
Performs successive static_cast
s, right to left.
std::unique_ptr< Compute > nngn::compute_create_backend | ( | const void * | params | ) |
std::unique_ptr< Compute > nngn::compute_create_backend< backend > | ( | const void * | params | ) |
std::unique_ptr< Compute > nngn::compute_create_backend< Compute::Backend::PSEUDOCOMP > | ( | const void * | params | ) |
void nngn::const_time_erase | ( | auto * | v, |
auto * | p ) |
|
constexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
static |
|
constexpr |
|
constexpr |
std::string nngn::fmt | ( | auto &&... | args | ) |
const char * nngn::gl_enum_str | ( | GLenum | e | ) |
|
inline |
const char * nngn::gl_strerror | ( | GLenum | error | ) |
std::unique_ptr< Graphics > nngn::graphics_create_backend | ( | const void * | params | ) |
std::unique_ptr< Graphics > nngn::graphics_create_backend< Backend > | ( | const void * | params | ) |
std::unique_ptr< Graphics > nngn::graphics_create_backend< Backend > | ( | const void * | params | ) |
std::unique_ptr< Graphics > nngn::graphics_create_backend< backend > | ( | const void * | params | ) |
std::unique_ptr< Graphics > nngn::graphics_create_backend< backend > | ( | const void * | params | ) |
std::unique_ptr< Graphics > nngn::graphics_create_backend< backend_es > | ( | const void * | params | ) |
std::unique_ptr< Input::Source > nngn::input_graphics_source | ( | Graphics * | g | ) |
std::unique_ptr< Input::Source > nngn::input_terminal_source | ( | int | fd, |
Input::TerminalFlag | flags ) |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
To nngn::narrow | ( | const From & | x | ) |
Casts x
to a narrower type, asserting that the value is preserved.
nngn::NNGN_APPLY2 | ( | C | , |
VkBuffer | , | ||
BUFFER | ) |
COMMAND_BUFFER nngn::NNGN_APPLY2 | ( | C | , |
VkCommandPool | , | ||
COMMAND_POOL | ) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE nngn::NNGN_APPLY2 | ( | C | , |
VkFramebuffer | , | ||
FRAMEBUFFER | ) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE nngn::NNGN_APPLY2 | ( | C | , |
VkImageView | , | ||
IMAGE_VIEW | ) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE nngn::NNGN_APPLY2 | ( | C | , |
VkPipelineLayout | , | ||
PIPELINE_LAYOUT | ) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS nngn::NNGN_APPLY2 | ( | C | , |
VkSampler | , | ||
SAMPLER | ) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE nngn::NNGN_APPLY2 | ( | C | , |
VkShaderModule | , | ||
SHADER_MODULE | ) const |
COMMAND_BUFFER DESCRIPTOR_POOL nngn::NNGN_IGNORE2 | ( | C | , |
VkDescriptorSet | , | ||
DESCRIPTOR_SET | ) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT nngn::NNGN_IGNORE2 | ( | C | , |
VkDeviceMemory | , | ||
DEVICE_MEMORY | ) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE nngn::NNGN_IGNORE2 | ( | C | , |
VkQueue | , | ||
QUEUE | ) |
std::size_t nngn::offsetof_ptr | ( | auto T::* | p | ) |
Similar to the stdlib's offsetof
, but using member data pointers.
bool nngn::operator!= | ( | const allocator_base< T, o > & | , |
const allocator_base< T, o > & | ) |
|
constexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
std::ostream & nngn::operator<< | ( | std::ostream & | os, |
Log::record | r ) |
bool nngn::operator== | ( | const allocator_base< T, o > & | , |
const allocator_base< T, o > & | ) |
|
constexpr |
|
constexpr |
Compares the address of two pointers.
Signed distance in bytes between pointers.
|
inline |
bool nngn::read_file | ( | std::string_view | filename, |
std::string * | ret ) |
bool nngn::read_file | ( | std::string_view | filename, |
std::vector< std::byte > * | ret ) |
|
constexpr |
|
constexpr |
|
inline |
|
inline |
|
constexpr |
Allows passing an rvalue pointer to a function.
E.g. takes_ptr(rptr(Obj{}))
.
void nngn::set_capacity | ( | V * | v, |
size_t | n ) |
|
inline |
std::string nngn::str | ( | const static_vector< S > & | v | ) |
|
consteval |
|
consteval |
|
consteval |
|
consteval |
|
inlineconstexpr |
Checks that r
is VK_SUCCESS
or emits a log message.
c == VK_SUCCESS
vk_create_info_type< T > nngn::vk_create_info | ( | vk_create_info_type< T > | info | ) |
const char * nngn::vk_enum_str | ( | VkDebugUtilsMessageSeverityFlagBitsEXT | f | ) |
const char * nngn::vk_enum_str | ( | VkDebugUtilsMessageTypeFlagsEXT | f | ) |
auto nngn::vk_enumerate | ( | const auto &... | args | ) |
Creates a vector from the result of calling f
with args
.
Simplifies the usual two-step enumeration sequence of calls when dynamic allocation is desired.
|
inline |
Extracts the name
character array from common objects.
std::vector< Graphics::Extension > nngn::vk_parse_extensions | ( | std::span< const VkExtensionProperties > | s | ) |
Populates Graphics::Extension objects from their Vulkan equivalents.
Graphics::Version nngn::vk_parse_version | ( | std::uint32_t | v | ) |
Unpacks a Vulkan version number.
Graphics::PresentMode nngn::vk_present_mode | ( | VkPresentModeKHR | m | ) |
Populates a Graphics::PresentMode from its Vulkan equivalent.
const char * nngn::vk_strerror | ( | VkResult | result | ) |
|
inline |
std::string nngn::vk_version_str | ( | Graphics::Version | v | ) |
std::string nngn::vk_version_str | ( | std::uint32_t | v | ) |
Unpacks a Vulkan version number into a character array.
auto nngn::vk_vertex_attrs | ( | ) |
|
constexpr |
|
constexpr |
|
staticconstexpr |
using nngn::const_iterator |
Maps types to VkObjectType values.
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
Maps types to VkStructureType values.
nngn::VkCommandBuffer |
COMMAND_BUFFER nngn::VkDescriptorPool |
COMMAND_BUFFER DESCRIPTOR_POOL nngn::VkDescriptorSetLayout |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT nngn::VkFence |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE nngn::VkImage |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE nngn::VkPipeline |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE nngn::VkPipelineCache |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE nngn::VkRenderPass |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS nngn::VkSemaphore |