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 an 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 |
struct | 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...)> |
struct | ModelRenderer |
class | Models |
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 = typename detail::vk_create_info_type_impl< T >::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 | imat4 = mat4_base< int32_t > |
using | umat4 = mat4_base< uint32_t > |
using | mat4 = mat4_base< float > |
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 |
using | dmat3 = mat3_base< double > |
using | dmat4 = mat4_base< double > |
Enumerations | |
enum class | empty |
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<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) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER | NNGN_IGNORE2 (C, VkCommandBuffer, COMMAND_BUFFER) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL | NNGN_APPLY2 (C, VkDescriptorPool, DESCRIPTOR_POOL) NNGN_IGNORE2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET | NNGN_APPLY2 (C, VkDescriptorSetLayout, DESCRIPTOR_SET_LAYOUT) NNGN_IGNORE2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY | NNGN_APPLY2 (C, VkFence, FENCE) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER | NNGN_APPLY2 (C, VkImage, IMAGE) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW | NNGN_IGNORE2 (C, VkPipeline, PIPELINE) NNGN_IGNORE2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE | NNGN_APPLY2 (C, VkPipelineCache, PIPELINE_CACHE) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE PIPELINE_LAYOUT | NNGN_APPLY2 (C, VkRenderPass, RENDER_PASS) NNGN_APPLY2(C |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE PIPELINE_LAYOUT SAMPLER | NNGN_APPLY2 (C, VkSemaphore, SEMAPHORE) NNGN_APPLY2(C |
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. | |
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) |
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) |
template<typename T > | |
static T::pointer | add (T *v, typename T::const_reference c) |
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<> | |
std::unique_ptr< Graphics > | graphics_create_backend< backend > (const void *params) |
template<> | |
std::unique_ptr< Graphics > | graphics_create_backend< backend_es > (const void *params) |
template<> | |
std::unique_ptr< Graphics > | graphics_create_backend< 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 > (const void *params) |
bool | parse_obj (std::istream *f, std::span< char > buffer, std::invocable< vec3 > auto &&vertex, std::invocable< vec3 > auto &&tex, std::invocable< vec3 > auto &&normal, std::invocable< std::array< zvec3, 3 > > auto &&face) |
Processes an OBJ file using the callable arguments. | |
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 > | |
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) |
auto | split (std::string_view s, std::string_view::iterator i) |
Variables | |
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 |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE | VkBuffer |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER | VkCommandPool |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL | VkDescriptorSet |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET | VkDeviceMemory |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY | VkFramebuffer |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER | VkImageView |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW | VkQueue |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE | VkPipelineLayout |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE PIPELINE_LAYOUT | VkSampler |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE PIPELINE_LAYOUT SAMPLER | VkShaderModule |
template<typename T > | |
using | const_iterator = typedef |
template<typename T > | |
static constexpr Compute::Type | arg_type = Compute::Type::NONE |
using nngn::dmat3 = typedef mat3_base<double> |
using nngn::dmat4 = typedef mat4_base<double> |
typedef vec2_base< double > nngn::dvec2 |
typedef vec3_base< double > nngn::dvec3 |
typedef vec4_base< double > nngn::dvec4 |
using nngn::fn_args = typedef typename detail::fn_args<>::type |
typedef std::size_t nngn::Hash |
typedef std::int16_t nngn::i16 |
typedef std::int32_t nngn::i32 |
typedef std::int64_t nngn::i64 |
typedef std::int8_t nngn::i8 |
typedef mat3_base< int32_t > nngn::imat3 |
typedef mat4_base< int32_t > nngn::imat4 |
typedef vec2_base< std::int32_t > nngn::ivec2 |
typedef vec3_base< std::int32_t > nngn::ivec3 |
typedef vec4_base< std::int32_t > nngn::ivec4 |
typedef mat3_base< float > nngn::mat3 |
typedef mat4_base< float > nngn::mat4 |
using nngn::member_obj_type_t = typedef typename member_obj_type<T>::type |
typedef std::uint64_t nngn::MemoryAllocation |
using nngn::stateful_allocator = typedef 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 = typedef 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 = typedef detail::types_impl<Ts...> |
typedef std::uint16_t nngn::u16 |
typedef std::uint32_t nngn::u32 |
typedef std::uint64_t nngn::u64 |
typedef std::uint8_t nngn::u8 |
typedef mat3_base< uint32_t > nngn::umat3 |
typedef mat4_base< uint32_t > nngn::umat4 |
typedef vec2_base< std::uint32_t > nngn::uvec2 |
typedef vec3_base< std::uint32_t > nngn::uvec3 |
typedef vec4_base< std::uint32_t > nngn::uvec4 |
typedef vec2_base< float > nngn::vec2 |
typedef vec3_base< float > nngn::vec3 |
typedef vec4_base< float > nngn::vec4 |
using nngn::vec_type_t = typedef typename vec_type<T, N>::type |
using nngn::vector_type = typedef typename T::type |
using nngn::vk_create_info_type = typedef typename detail::vk_create_info_type_impl<T>::type |
Maps types to *CretaeInfo structures.
typedef vec2_base< std::size_t > nngn::zvec2 |
typedef vec3_base< std::size_t > nngn::zvec3 |
typedef vec4_base< std::size_t > nngn::zvec4 |
|
strong |
|
strong |
|
inline |
|
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< backend > | ( | const void * | params | ) |
std::unique_ptr< Compute > nngn::compute_create_backend< Compute::Backend::PSEUDOCOMP > | ( | 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 |
|
constexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
static |
|
static |
|
constexpr |
|
constexpr |
nngn::fixed_string | ( | const | char(&)[N] | ) | -> fixed_string< N - 1 > |
std::string nngn::fmt | ( | auto &&... | args | ) |
|
inline |
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 > | ( | 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< Graphics > nngn::graphics_create_backend< backend_es > | ( | const void * | params | ) |
|
inline |
|
constexpr |
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.
COMMAND_BUFFER nngn::NNGN_APPLY2 | ( | C | , |
VkCommandPool | , | ||
COMMAND_POOL | |||
) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL nngn::NNGN_APPLY2 | ( | C | , |
VkDescriptorPool | , | ||
DESCRIPTOR_POOL | |||
) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET nngn::NNGN_APPLY2 | ( | C | , |
VkDescriptorSetLayout | , | ||
DESCRIPTOR_SET_LAYOUT | |||
) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY nngn::NNGN_APPLY2 | ( | C | , |
VkFence | , | ||
FENCE | |||
) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE nngn::NNGN_APPLY2 | ( | C | , |
VkFramebuffer | , | ||
FRAMEBUFFER | |||
) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER nngn::NNGN_APPLY2 | ( | C | , |
VkImage | , | ||
IMAGE | |||
) |
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 RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE nngn::NNGN_APPLY2 | ( | C | , |
VkPipelineCache | , | ||
PIPELINE_CACHE | |||
) |
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 SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE PIPELINE_LAYOUT nngn::NNGN_APPLY2 | ( | C | , |
VkRenderPass | , | ||
RENDER_PASS | |||
) |
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 BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE PIPELINE_LAYOUT SAMPLER nngn::NNGN_APPLY2 | ( | C | , |
VkSemaphore | , | ||
SEMAPHORE | |||
) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE nngn::NNGN_APPLY2 | ( | C | , |
VkShaderModule | , | ||
SHADER_MODULE | |||
) |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER nngn::NNGN_IGNORE2 | ( | C | , |
VkCommandBuffer | , | ||
COMMAND_BUFFER | |||
) |
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 PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW nngn::NNGN_IGNORE2 | ( | C | , |
VkPipeline | , | ||
PIPELINE | |||
) |
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 |
|
constexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inlineconstexpr |
|
inline |
|
inline |
|
inline |
|
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 |
|
constexpr |
|
constexpr |
|
inline |
Processes an OBJ file using the callable arguments.
Each argument is called immediately after a line containing the corresponding command is found.
For vertices, texture coordinates, and normal vectors, missing elements result in zeroes in the value passed to the callable (e.g. v 1
results in a call to vertex({1, 0, 0})
).
Faces are always emitted as triangles. After being processed as defined by the OBJ format (i.e. filling values for entries such as 1
, 1/2
, 1//2
, etc.), each group of three vertices is passed as an argument to the face
callable. Currently, the list is treated as a triangular fan, such that a line in the form f 1 2 3 4 5 …
results in the triangles {1, 2, 3}
, {1, 3, 4}
, {1, 4, 5}
, etc. This list of triangular faces is assumed to be in counter-clockwise (i.e. right-handed) orientation.
vertex | Called for each line containing a v definition. |
tex | Called for each line containing a vt definition. |
normal | Called for each line containing a vn definition. |
face | Called repeatedly for each line containing an f definition. Each element in the array argument corresponds to a {v,vt,vn} group and the array defines a triangular face, as described in detail above. |
|
inlineconstexpr |
Compares the address of two pointers.
|
inlineconstexpr |
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 | ) |
|
inlineconstexpr |
consteval auto nngn::to_array | ( | const char * | s | ) |
consteval auto nngn::to_array | ( | const char(&) | s[N] | ) |
consteval auto nngn::to_array | ( | const std::ranges::contiguous_range auto & | r | ) |
consteval auto nngn::to_array | ( | V && | v | ) |
|
inlineconstexpr |
|
inline |
|
inline |
|
inline |
|
inline |
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 |
std::vector< const char * > nngn::vk_names | ( | const VkNamedRange auto & | r | ) |
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 |
|
staticconstexpr |
typedef nngn::const_iterator |
Maps types to VkObjectType values.
Maps types to VkStructureType values.
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE nngn::VkBuffer |
nngn::VkCommandBuffer |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER nngn::VkCommandPool |
COMMAND_BUFFER nngn::VkDescriptorPool |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL nngn::VkDescriptorSet |
COMMAND_BUFFER DESCRIPTOR_POOL nngn::VkDescriptorSetLayout |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET nngn::VkDeviceMemory |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT nngn::VkFence |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY nngn::VkFramebuffer |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE nngn::VkImage |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER nngn::VkImageView |
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 RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE nngn::VkPipelineLayout |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW nngn::VkQueue |
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 SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE PIPELINE_LAYOUT nngn::VkSampler |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS nngn::VkSemaphore |
COMMAND_BUFFER DESCRIPTOR_POOL DESCRIPTOR_SET_LAYOUT FENCE IMAGE PIPELINE PIPELINE_CACHE RENDER_PASS SEMAPHORE BUFFER COMMAND_POOL DESCRIPTOR_SET DEVICE_MEMORY FRAMEBUFFER IMAGE_VIEW QUEUE PIPELINE_LAYOUT SAMPLER nngn::VkShaderModule |