|
| VulkanBackend (const VulkanParameters &p) |
|
| ~VulkanBackend (void) final |
|
Version | version (void) const final |
|
bool | init_backend (void) final |
|
bool | init_instance (void) final |
|
bool | init_device (void) final |
|
bool | init_device (std::size_t i) final |
|
std::size_t | n_extensions (void) const final |
|
std::size_t | n_layers (void) const final |
|
std::size_t | n_devices (void) const final |
|
std::size_t | n_device_extensions (std::size_t i) const final |
|
std::size_t | n_queue_families (std::size_t i) const override |
|
std::size_t | n_present_modes (void) const final |
|
std::size_t | n_heaps (std::size_t i) const final |
|
std::size_t | n_memory_types (std::size_t ih, std::size_t i) const final |
|
std::size_t | selected_device (void) const final |
|
void | extensions (Extension *p) const final |
|
void | layers (Layer *p) const final |
|
void | device_infos (DeviceInfo *p) const final |
|
void | device_extensions (std::size_t i, Extension *p) const final |
|
void | queue_families (std::size_t i, QueueFamily *p) const override |
|
SurfaceInfo | surface_info () const final |
|
void | present_modes (PresentMode *p) const final |
|
void | heaps (std::size_t i, MemoryHeap *p) const final |
|
void | memory_types (std::size_t, std::size_t, MemoryType *) const final |
|
bool | error () final |
|
nngn::GraphicsStats | stats () override |
|
bool | set_n_frames (std::size_t n) final |
|
bool | set_n_swap_chain_images (std::size_t n) final |
|
void | set_swap_interval (int i) final |
|
void | set_camera_updated () final |
|
void | set_lighting_updated () final |
|
bool | set_shadow_map_size (u32 s) final |
|
bool | set_shadow_cube_size (u32 s) final |
|
void | set_automatic_exposure (bool b) final |
|
void | set_exposure (float e) final |
|
void | set_bloom_downscale (std::size_t d) final |
|
void | set_bloom_threshold (float t) final |
|
void | set_bloom_blur_size (float n) final |
|
void | set_bloom_blur_passes (std::size_t n) final |
|
void | set_bloom_amount (float a) final |
|
void | set_blur_downscale (std::size_t d) final |
|
void | set_blur_size (float n) final |
|
void | set_blur_passes (std::size_t n) final |
|
void | set_HDR_mix (float m) final |
|
u32 | create_pipeline (const PipelineConfiguration &conf) final |
|
u32 | create_buffer (const BufferConfiguration &conf) final |
|
bool | set_buffer_capacity (u32 b, u64 size) final |
|
bool | set_buffer_size (u32, u64 size) final |
|
bool | write_to_buffer (u32 b, u64 offset, u64 n, u64 size, void *data, void f(void *, void *, u64, u64)) final |
|
bool | resize_textures (std::uint32_t s) final |
|
bool | load_textures (std::uint32_t i, std::uint32_t n, const std::byte *v) final |
|
bool | resize_font (std::uint32_t s) final |
|
bool | load_font (unsigned char c, std::uint32_t n, const nngn::uvec2 *size, const std::byte *v) final |
|
void | set_camera (const Camera &c) final |
|
void | set_lighting (const Lighting &l) final |
|
bool | set_render_list (const RenderList &l) final |
|
bool | render () final |
|
bool | vsync () final |
|
| GLFWBackend (void)=default |
|
| GLFWBackend (const Parameters &p) |
|
| ~GLFWBackend (void) override |
|
bool | init_glfw (void) const |
|
bool | window_closed (void) const final |
|
int | swap_interval (void) const final |
|
nngn::uvec2 | window_size (void) const override |
|
void | get_keys (size_t n, int32_t *keys) const override |
|
ivec2 | mouse_pos (void) const override |
|
void | set_window_title (const char *t) final |
|
void | set_cursor_mode (CursorMode m) final |
|
void | set_size_callback (void *data, size_callback_f f) override |
|
void | set_key_callback (void *data, key_callback_f f) override |
|
void | set_mouse_button_callback (void *data, mouse_button_callback_f f) override |
|
void | set_mouse_move_callback (void *data, mouse_move_callback_f f) override |
|
void | poll_events (void) const final |
|
virtual bool | init () |
| Fully initialize the back end.
|
|
virtual bool | set_shadow_map_size (uint32_t s)=0 |
|
virtual bool | set_shadow_cube_size (uint32_t s)=0 |
|
virtual bool | set_buffer_capacity (u32 b, u64 size)=0 |
|
virtual bool | set_buffer_size (u32 b, std::uint64_t size)=0 |
|
virtual bool | write_to_buffer (u32 b, u64 offset, u64 n, u64 size, void *data, void f(void *, void *, u64, u64))=0 |
|
template<typename F > |
bool | write_to_buffer (u32 b, u64 offset, u64 n, u64 size, F &&f) |
|
bool | update_buffers (u32 vbo, u32 ebo, u64 voff, u64 eoff, u64 vn, u64 vsize, u64 en, u64 esize, void *data, auto &&vgen, auto &&egen) |
|
|
enum class | Backend : u8 {
PSEUDOGRAPH
, TERMINAL_BACKEND
, OPENGL_BACKEND
, OPENGL_ES_BACKEND
,
VULKAN_BACKEND
} |
|
enum class | LogLevel { DEBUG
, WARNING
, ERROR
} |
|
enum class | PresentMode { IMMEDIATE
, MAILBOX
, FIFO
, FIFO_RELAXED
} |
|
enum class | TerminalFlag : u8 {
CLEAR = 1u << 0
, REPOSITION = 1u << 1
, DEDUPLICATE = 1u << 2
, HIDE_CURSOR = 1u << 3
,
RESET_COLOR = 1u << 4
} |
|
enum class | TerminalMode { ASCII
, COLORED
} |
|
enum class | CursorMode { NORMAL
, HIDDEN
, DISABLED
} |
|
using | size_callback_f = void (*)(void*, uvec2) |
|
using | key_callback_f = void (*)(void*, int, int, int, int) |
|
using | mouse_button_callback_f = void (*)(void*, int, int, int) |
|
using | mouse_move_callback_f = void (*)(void*, dvec2) |
|
static std::unique_ptr< Graphics > | create (Backend b, const void *params) |
|
static const char * | enum_str (DeviceInfo::Type t) |
|
static const char * | enum_str (QueueFamily::Flag f) |
|
static const char * | enum_str (PresentMode m) |
|
static const char * | enum_str (MemoryHeap::Flag m) |
|
static const char * | enum_str (MemoryType::Flag m) |
|
static std::string | flags_str (QueueFamily::Flag f) |
|
static std::string | flags_str (MemoryHeap::Flag f) |
|
static std::string | flags_str (MemoryType::Flag f) |
|
static constexpr u32 | TEXTURE_EXTENT = NNGN_TEXTURE_EXTENT |
|
static constexpr u32 | TEXTURE_EXTENT_LOG2 = std::countr_zero(TEXTURE_EXTENT) |
|
static constexpr u32 | TEXTURE_SIZE = NNGN_TEXTURE_SIZE |
|
static constexpr u32 | TEXTURE_MIP_LEVELS = Math::mip_levels(TEXTURE_EXTENT) |
|
static constexpr u32 | SHADOW_MAP_INITIAL_SIZE = 1024 |
|
static constexpr u32 | SHADOW_CUBE_INITIAL_SIZE = 512 |
|
static constexpr float | DEFAULT_EXPOSURE = 1.0f |
|
static constexpr float | DEFAULT_BLOOM_THRESHOLD = 0.75f |
|
static constexpr float | DEFAULT_BLOOM_BLUR_SIZE = 1.0f |
|
static constexpr std::size_t | DEFAULT_BLOOM_DOWNSCALE = 8 |
|
static constexpr std::size_t | DEFAULT_BLUR_DOWNSCALE = 2 |
|
static constexpr std::size_t | DEFAULT_BLOOM_BLUR_PASSES = 10 |
|
bool | create_window (void) |
|
int | m_swap_interval = 1 |
|
GLFWwindow * | w = nullptr |
|
Parameters | params = {} |
|
Camera | camera = {} |
|
Lighting | lighting = {} |
|