DirectZ
|
Namespaces | |
namespace | ecs |
Classes | |
struct | AABB |
Axis-Aligned Bounding Box (AABB) template structure. More... | |
struct | BlendState |
struct | Camera |
struct | CameraDrawInformation |
Information for a single Camera draw. More... | |
struct | color_vec |
struct | D7Stream |
struct | default_delete_array |
Default deleter for arrays. More... | |
struct | default_delete_single |
Default deleter for single heap-allocated objects. More... | |
struct | default_free_deleter |
Default deleter using free(). More... | |
struct | default_noop |
Default no-op deleter. More... | |
struct | DisplayDescription |
struct | DrawIndirectCommand |
Represents a single indirect draw command for use with GPU draw calls. More... | |
struct | DrawInformation |
struct containing required information to draw More... | |
struct | DrawListManager |
Template draw list manager for producing draw commands from a struct buffer. More... | |
struct | ECS |
struct | EventInterface |
struct | ExpectedType |
struct | ExpectedType< D7Type::a > |
struct | ExpectedType< D7Type::T > |
struct | ExpectedType< D7Type::U > |
struct | ExpectedType< D7Type::u > |
struct | ExpectedType< D7Type::X > |
struct | ExpectedType< D7Type::Y > |
struct | ExpectedType< D7Type::Z > |
struct | FileHandle |
Represents a generalized file handle that can reference disk files, embedded assets, or memory streams. More... | |
struct | FirstMatchingOrDefault |
struct | FirstMatchingOrDefault< Trait > |
struct | FirstMatchingOrDefault< Trait, T, Ts... > |
struct | FramebufferInfo |
struct | GlobalUID |
Thread-safe UID generator that increments globally across the application. More... | |
struct | IDrawListManager |
Interface for draw list manager implementations. More... | |
struct | ImageCreateInfo |
struct | ImGuiLayer |
struct | IsCameraProvider |
struct | IsDrawProvider |
struct | IsSceneProvider |
class | KeyValueStream |
A key-value binary stream writer/reader with support for serialization, deserialization, and deletion. More... | |
struct | mat |
A generic fixed-size matrix template supporting common matrix operations. More... | |
struct | ProgramArgs |
Parses and stores command line program arguments. More... | |
struct | Provider |
struct | quat |
A quaternion class for representing rotations in 3D space. More... | |
struct | Random |
Utility class for generating random values with optional seeding and support for multiple numeric types. More... | |
class | ReflectedStructView |
struct | Restorable |
struct | size_ptr |
A reference-counted smart pointer with associated size and custom deleter. More... | |
struct | StaticRestorable |
struct | vec |
Template struct representing an N-dimensional vector of type T. More... | |
struct | WindowCreateInfo |
struct | WindowReflectableGroup |
Typedefs | |
using | Asset = dz::size_ptr<char> |
Asset alias representing a pointer to int8_t data. | |
using | StreamScalar = float |
using | StreamInteger = std::int64_t |
using | StreamString = std::string |
using | StreamTimestamp = std::chrono::time_point<std::chrono::steady_clock> |
using | StreamIdentifier = std::uint64_t |
using | StreamPoint = std::tuple<StreamScalar, StreamScalar, StreamScalar, StreamTimestamp, StreamIdentifier, StreamInteger, StreamString> |
using | DrawList = std::vector<DrawIndirectCommand> |
A list of draw commands. | |
using | ShaderDrawList = std::unordered_map<Shader*, DrawList> |
Maps each Shader pointer to its corresponding list of draw commands. | |
using | DrawTuples = std::vector<std::tuple<Shader*, uint32_t>> |
Maps each Framebuffer pointer to the ShaderDrawList. | |
using | CameraTuple = std::tuple<int, Framebuffer*, std::function<void()>> |
A CameraTuple is the information required to draw from a cameras perspective. |
Enumerations | |
enum class | D7Type : std::uint8_t { Unset = 0 , X = 1 << 0 , Y = 1 << 1 , Z = 1 << 2 , T = 1 << 3 , U = 1 << 4 , u = 1 << 5 , a = 1 << 6 , Count = 7 , All = 0x7F } |
enum class | AttachmentType { Color , Depth , DepthStencil , Stencil , ColorResolve , DepthResolve } |
enum class | BlendFactor { Zero = 0 , One = 1 , SrcColor = 2 , OneMinusSrcColor = 3 , DstColor = 4 , OneMinusDstColor = 5 , SrcAlpha = 6 , OneMinusSrcAlpha = 7 , DstAlpha = 8 , OneMinusDstAlpha = 9 , ConstantColor = 10 , OneMinusConstantColor = 11 , ConstantAlpha = 12 , OneMinusConstantAlpha = 13 , SrcAlphaSaturate = 14 , Src1Color = 15 , OneMinusSrc1Color = 16 , Src1Alpha = 17 , OneMinusSrc1Alpha = 18 } |
enum class | BlendOp { Add = 0 , Subtract = 1 , ReverseSubtract = 2 , Min = 3 , Max = 4 } |
enum class | ShaderModuleType { Vertex = 1 , Fragment = 2 , Compute = 3 } |
enum class | ShaderTopology { PointList = 0 , LineList = 1 , LineStrip = 2 , TriangleList = 3 , TriangleStrip = 4 , TriangleFan = 5 } |
enum class | KEYCODES : uint8_t { NUL = 0 , BACKSPACE = 8 , TAB = 9 , ENTER = 10 , HOME = 14 , END = 15 , UP = 17 , DOWN = 18 , RIGHT = 19 , LEFT = 20 , PGUP = 21 , PGDOWN = 22 , INSERT = 23 , NUMLOCK = 24 , CAPSLOCK = 25 , CTRL = 26 , ESCAPE = 27 , SHIFT = 28 , ALT = 29 , PAUSE = 30 , SUPER = 31 , SPACE = 32 , EXCLAMATION = 33 , DOUBLEQUOTE = 34 , HASHTAG = 35 , DOLLAR = 36 , PERCENTSIGN = 37 , AMPERSAND = 38 , SINGLEQUOTE = 39 , LEFTPARENTHESIS = 40 , RIGHTPARENTHESIS = 41 , ASTERISK = 42 , PLUS = 43 , COMMA = 44 , MINUS = 45 , PERIOD = 46 , SLASH = 47 , _0 = 48 , _1 = 49 , _2 = 50 , _3 = 51 , _4 = 52 , _5 = 53 , _6 = 54 , _7 = 55 , _8 = 56 , _9 = 57 , COLON = 58 , SEMICOLON = 59 , LESSTHAN = 60 , EQUAL = 61 , GREATERTHAN = 62 , QUESTIONMARK = 63 , ATSIGN = 64 , A = 65 , B = 66 , C = 67 , D = 68 , E = 69 , F = 70 , G = 71 , H = 72 , I = 73 , J = 74 , K = 75 , L = 76 , M = 77 , N = 78 , O = 79 , P = 80 , Q = 81 , R = 82 , S = 83 , T = 84 , U = 85 , V = 86 , W = 87 , X = 88 , Y = 89 , Z = 90 , LEFTBRACKET = 91 , BACKSLASH = 92 , RIGHTBRACKET = 93 , CARET = 94 , UNDERSCORE = 95 , GRAVEACCENT = 96 , a = 97 , c = 99 , b = 98 , d = 100 , e = 101 , f = 102 , g = 103 , h = 104 , i = 105 , j = 106 , k = 107 , l = 108 , m = 109 , n = 110 , o = 111 , p = 112 , q = 113 , r = 114 , s = 115 , t = 116 , u = 117 , v = 118 , w = 119 , x = 120 , y = 121 , z = 122 , LEFTBRACE = 123 , VERTICALBAR = 124 , RIGHTBRACE = 125 , TILDE = 126 , Delete = 127 } |
Provides a mapping of ASCII keys. More... |
Functions | |
DirectRegistry *& | get_direct_registry () |
AssetPack * | create_asset_pack (FileHandle &file_handle) |
Creates an AssetPack using the provided file handle. | |
void | free_asset_pack (AssetPack *asset_pack) |
Frees memory associated with the provided AssetPack. | |
bool | get_asset (AssetPack *asset_pack, const std::string &path, Asset &out) |
Retrieves an asset from the pack. | |
void | add_asset (AssetPack *asset_pack, const std::string &path, const Asset &asset) |
Adds a new asset from a size_ptr buffer to the pack. | |
void | add_asset (AssetPack *asset_pack, FileHandle &file_handle) |
Adds a new asset from a file to the pack. | |
BufferGroup * | buffer_group_create (const std::string &group_name) |
Creates a new BufferGroup with the given name. | |
void | buffer_group_restrict_to_keys (BufferGroup *buffer_group, const std::vector< std::string > &restruct_keys) |
Restricts the buffer group to a subset of keys. | |
void | buffer_group_initialize (BufferGroup *buffer_group) |
Initializes GPU-side resources for the buffer group. | |
Image * | buffer_group_define_image_2D (BufferGroup *buffer_group, const std::string &buffer_name, uint32_t image_width, uint32_t image_height, void *data_pointer=0) |
Defines a 2D image in the buffer group. | |
Image * | buffer_group_define_image_3D (BufferGroup *buffer_group, const std::string &buffer_name, uint32_t image_width, uint32_t image_height, uint32_t image_depth, void *data_pointer=0) |
Defines a 3D image in the buffer group. | |
void | buffer_group_set_buffer_element_count (BufferGroup *buffer_group, const std::string &buffer_name, uint32_t element_count) |
Sets the number of elements in a named buffer. | |
uint32_t | buffer_group_get_buffer_element_count (BufferGroup *buffer_group, const std::string &buffer_name) |
Gets the number of elements in a named buffer. | |
uint32_t | buffer_group_get_buffer_element_size (BufferGroup *buffer_group, const std::string &buffer_name) |
Gets the element size of a named buffer. | |
std::shared_ptr< uint8_t > | buffer_group_get_buffer_data_ptr (BufferGroup *buffer_group, const std::string &buffer_name) |
Gets the raw buffer data pointer for a named buffer. | |
ReflectedStructView | buffer_group_get_buffer_element_view (BufferGroup *buffer_group, const std::string &buffer_name, uint32_t index) |
Returns a view into a single struct element in the named buffer. | |
void | CameraInit (Camera &camera, vec< float, 3 > position, vec< float, 3 > center, vec< float, 3 > up, float nearPlane, float farPlane, float width, float height, float fov, Camera::ProjectionType projectionType=Camera::Perspective) |
void | CameraInit (Camera &camera, vec< float, 3 > position, vec< float, 3 > center, vec< float, 3 > up, float nearPlane, float farPlane, vec< float, 4 > viewport, Camera::ProjectionType projectionType=Camera::Orthographic) |
void | CameraInit (Camera &camera) |
constexpr D7Type | operator| (D7Type lhs, D7Type rhs) |
constexpr bool | operator& (D7Type lhs, D7Type rhs) |
constexpr std::size_t | D7TypeToIndex (D7Type v) |
template<D7Type Axis> | |
ExpectedType< Axis >::type const & | GetStreamPointValue (const StreamPoint &tup) |
template<D7Type Axis> | |
ExpectedType< Axis >::type & | GetStreamPointValue (StreamPoint &tup) |
template<D7Type type> | |
constexpr size_t | D7TypeToIndex () |
template<> | |
constexpr size_t | D7TypeToIndex< D7Type::X > () |
template<> | |
constexpr size_t | D7TypeToIndex< D7Type::Y > () |
template<> | |
constexpr size_t | D7TypeToIndex< D7Type::Z > () |
template<> | |
constexpr size_t | D7TypeToIndex< D7Type::T > () |
template<> | |
constexpr size_t | D7TypeToIndex< D7Type::U > () |
template<> | |
constexpr size_t | D7TypeToIndex< D7Type::u > () |
template<> | |
constexpr size_t | D7TypeToIndex< D7Type::a > () |
std::vector< WINDOW * >::iterator | dr_get_windows_begin () |
returns the beginning of DirectRegistry window_ptrs | |
std::vector< WINDOW * >::iterator | dr_get_windows_end () |
returns the end of DirectRegistry window_ptrs | |
std::vector< WindowReflectableGroup * >::iterator | dr_get_window_reflectable_entries_begin () |
returns the beginning of DirectRegistry window_reflectable_entries | |
std::vector< WindowReflectableGroup * >::iterator | dr_get_window_reflectable_entries_end () |
returns the end of DirectRegistry window_reflectable_entries | |
int | displays_get_count () |
DisplayDescription | displays_describe (int display_index) |
Framebuffer * | framebuffer_create (const FramebufferInfo &) |
Initializes a Framebuffer given the info provided. | |
void | framebuffer_set_clear_color (Framebuffer *, float r=0.f, float g=0.f, float b=0.f, float a=0.f) |
Sets the clear color of a framebuffer. | |
void | framebuffer_set_clear_depth_stencil (Framebuffer *, float depth=1.f, uint32_t stencil=0) |
Sets the clear depth of a framebuffer. | |
void | framebuffer_bind (Framebuffer *) |
Binds a Framebuffer as the current render target. | |
void | framebuffer_unbind (Framebuffer *) |
Unbinds a Framebuffer. | |
bool | framebuffer_destroy (Framebuffer *&) |
Destroys a Framebuffer, note does not destroy the attached Images Sets framebuffer to nullptr once destroyed. | |
bool | framebuffer_resize (Framebuffer *, uint32_t width, uint32_t height) |
Resizes a framebuffer and associated Image*. | |
bool | framebuffer_changed (Framebuffer *) |
Image * | framebuffer_get_image (Framebuffer *, AttachmentType, bool new_image=false) |
attempts to return an underlying Image based on AttachmentType | |
Image * | image_create (const ImageCreateInfo &) |
Creates a image given the passed info. | |
void | image_resize_2D (Image *&image, uint32_t image_width, uint32_t image_height, void *data=nullptr, bool create_new=false) |
Resizes a 2D image to the specified dimensions. | |
void | image_resize_3D (Image *&image, uint32_t image_width, uint32_t image_height, uint32_t image_depth, void *data=nullptr, bool create_new=false) |
Resizes a 3D image to the specified dimensions. | |
void | image_free (Image *image) |
Frees an image, should only be called for self owned Images. Images created by BufferGroups should not be passed to this function. | |
std::pair< VkDescriptorSetLayout, VkDescriptorSet > | image_create_descriptor_set (Image *image) |
Creates a single descriptor set for a given Image*. | |
template<typename T> | |
mat< T, 4, 4 > | lookAt (const vec< T, 3 > &eye, const vec< T, 3 > ¢er, const vec< T, 3 > &up) |
Constructs a right-handed view matrix simulating a camera "look at" transform. | |
template<typename T> | |
mat< T, 4, 4 > | perspectiveRH_ZO (T fovy, T aspect, T zNear, T zFar) |
template<typename T> | |
mat< T, 4, 4 > | perspectiveRH_NO (T fovy, T aspect, T zNear, T zFar) |
template<typename T> | |
mat< T, 4, 4 > | perspectiveLH_ZO (T fovy, T aspect, T zNear, T zFar) |
template<typename T> | |
mat< T, 4, 4 > | perspectiveLH_NO (T fovy, T aspect, T zNear, T zFar) |
template<typename T> | |
mat< T, 4, 4 > | perspective (T fovy, T aspect, T zNear, T zFar) |
Creates a perspective projection matrix suitable for rendering 3D scenes. | |
template<typename T> | |
mat< T, 4, 4 > | infinitePerspectiveRH_NO (T fovy, T aspect, T zNear) |
template<typename T> | |
mat< T, 4, 4 > | infinitePerspectiveRH_ZO (T fovy, T aspect, T zNear) |
template<typename T> | |
mat< T, 4, 4 > | infinitePerspectiveLH_NO (T fovy, T aspect, T zNear) |
template<typename T> | |
mat< T, 4, 4 > | infinitePerspectiveLH_ZO (T fovy, T aspect, T zNear) |
template<typename T> | |
mat< T, 4, 4 > | infinitePerspective (T fovy, T aspect, T zNear) |
Creates an infinite perspective projection matrix. | |
template<typename T> | |
mat< T, 4, 4 > | orthographic (T left, T right, T bottom, T top, T znear, T zfar) |
Creates an orthographic projection matrix. | |
template<typename T> | |
T | radians (T degrees) |
Converts an angle from degrees to radians. | |
template<typename T> | |
T | degrees (T radians) |
Converts an angle from radians to degrees. | |
template<typename T> | |
mat< T, 3, 3 > | quat_to_mat3 (const quat< T > &q) |
template<typename T> | |
quat< T > | slerp (const quat< T > &a, const quat< T > &b, T t) |
Spherical linear interpolation between two quaternions. | |
template<typename T> | |
quat< T > | quat_from_axis_angle (const vec< T, 3 > &axis, T angle) |
Constructs a quaternion from an axis-angle representation. | |
template<typename T> | |
mat< T, 4, 4 > | quat_to_mat4 (const quat< T > &q) |
Converts a quaternion to a 4x4 rotation matrix. | |
Shader * | shader_create (ShaderTopology topology=ShaderTopology::TriangleList) |
Creates a new Shader object. | |
void | shader_set_render_pass (Shader *, Framebuffer *) |
Sets the shaders RenderPass to the passed Framebuffers RenderPass. | |
void | shader_include_asset_pack (Shader *, AssetPack *asset_pack) |
Sets the include path to an asset_pack for include lookup. | |
void | shader_add_module (Shader *, ShaderModuleType module_type, const std::string &glsl_source) |
Adds a GLSL source module to the shader. | |
void | shader_add_module_from_file (Shader *, const std::filesystem::path &file_path) |
Adds a GLSL source module loaded from a file. | |
void | shader_add_buffer_group (Shader *, BufferGroup *buffer_group) |
Binds a BufferGroup to the shader. | |
void | shader_remove_buffer_group (Shader *, BufferGroup *buffer_group) |
Unbinds a BufferGroup from the shader. | |
void | shader_dispatch (Shader *, vec< int32_t, 3 > dispatch_layout) |
Dispatches the compute shader with the given thread group layout. | |
void | shader_compile (Shader *shader) |
Compiles the shader source code to SPIR-V. | |
void | shader_create_resources (Shader *shader) |
Allocates GPU resources for the shader. | |
void | shader_update_descriptor_sets (Shader *shader) |
Updates descriptor sets associated with the shader. | |
void | shader_initialize (Shader *shader) |
Initializes the shader for usage after resource creation and compilation. | |
void | shader_set_define (Shader *, const std::string &key, const std::string &value="") |
Sets a preprocessor definition for GLSL compilation. | |
void | shader_bind (Shader *shader) |
Binds the shader to the current render pipeline. | |
void | shader_use_image (Shader *, const std::string &sampler_key, Image *image_override) |
Emplaces an override when constructing images from reflection data based on key and provided image. | |
VkDescriptorSet | shader_get_descriptor_set (Shader *, const std::string &) |
Returns a VkDescriptorSet given a key. | |
int32_t | shader_get_push_constant_index (Shader *, const std::string &pc_member_name) |
gets a push constant index given the layout(push_constant) member name | |
void | shader_update_push_constant (Shader *, uint32_t pc_index, void *data, uint32_t size) |
Updates a push_constant by index given data and size. | |
void | track_static_state (int sid, const std::function< bool(Serial &)> &restore, const std::function< bool(Serial &)> &backup) |
void | set_state_file_path (const std::filesystem::path &path) |
Sets the State file path. | |
void | set_state_istream (std::istream &istream) |
Overrides the States istream (Deserializing) (reading data) | |
void | set_state_ostream (std::ostream &ostream) |
Overrides the States ostream (Serializing) (writing data) | |
void | register_restorable_constructor (int c_id, const std::function< Restorable *(Serial &)> &constructor_fn) |
Registers a constructor function such that State can accurately restore. | |
bool | has_state () |
Returns a bool value indicating whether the state has date. | |
bool | is_tracking_state () |
Returns a bool value indicating tracking state. | |
bool | is_state_loaded () |
Returns a bool value indicating state loaded. | |
bool | save_state () |
Saves the state to file or ostream. | |
bool | load_state () |
Loads the State from file or istream. | |
bool | free_state () |
Frees any Restorables that are owned by the StateHolder. | |
void | track_state (Restorable *restorable_ptr) |
Tracks the state of a restorable by pointer. | |
void | track_window_state (WINDOW *window_ptr) |
Tracks a Windows state (size, xy, title) | |
Restorable * | state_get_restorable_ptr (int cid, int index=0) |
returns a restorable at the index given with Constructor ID | |
template<typename T> | |
T * | state_get_ptr (int cid, int index=0) |
casts a restorable at the index given with Constructor ID | |
WINDOW * | window_create (const WindowCreateInfo &info) |
Creates a Window given the specified information and sets up a render context. | |
bool | window_poll_events (WINDOW *) |
Polls a window for events. | |
bool | windows_poll_events () |
Polls all open windows for events. | |
void | window_render (WINDOW *, bool multi_window_render=false) |
Renders the specified window based on its context configuration. | |
void | windows_render () |
Renders all open windows. | |
ImGuiLayer & | get_ImGuiLayer () |
Gets the global ImGuiLayer. | |
const std::string & | window_get_title_ref (WINDOW *) |
Returns a reference to the title. | |
void | window_set_title (WINDOW *, const std::string &) |
sets the title of a given WINDOW | |
size_t | window_get_id_ref (WINDOW *) |
Returns a reference to the id. | |
float & | window_get_float_frametime_ref (WINDOW *) |
Returns a reference to the frametime value as a float. | |
double & | window_get_double_frametime_ref (WINDOW *) |
Returns a reference to the frametime value as a double. | |
void | window_set_float_frametime_pointer (WINDOW *, float *pointer) |
Sets the underlying frametime float pointer, useful for binding to GPU memory. | |
void | window_set_double_frametime_pointer (WINDOW *, double *pointer) |
Sets the underlying frametime double pointer, useful for binding to GPU memory. | |
void | window_set_keys_pointer (WINDOW *, int32_t *pointer) |
Sets the underlying keys pointer, useful for binding to GPU memory. | |
void | window_set_buttons_pointer (WINDOW *, int32_t *pointer) |
Sets the underlying buttons pointer, useful for binding to GPU memory. | |
void | window_set_cursor_pointer (WINDOW *, float *pointer) |
Sets the underlying cursor pointer, useful for binding to GPU memory. | |
void | window_set_mod_pointer (WINDOW *, int32_t *pointer) |
Sets the underlying mod pointer, useful for binding to GPU memory. | |
void | window_set_focused_pointer (WINDOW *, int32_t *pointer) |
Sets the underlying focused pointer, useful for binding to GPU memory. | |
void | window_set_width_pointer (WINDOW *, float *pointer) |
Sets the underlying width pointer, useful for binding to GPU memory. | |
void | window_set_height_pointer (WINDOW *, float *pointer) |
Sets the underlying height pointer, useful for binding to GPU memory. | |
void | window_set_float_frametime_pointer (WINDOW *, const std::shared_ptr< float > &pointer) |
Sets the underlying frametime float pointer, useful for binding to GPU memory. | |
void | window_set_double_frametime_pointer (WINDOW *, const std::shared_ptr< double > &pointer) |
Sets the underlying frametime double pointer, useful for binding to GPU memory. | |
void | window_set_keys_pointer (WINDOW *, const std::shared_ptr< int32_t > &pointer) |
Sets the underlying keys pointer, useful for binding to GPU memory. | |
void | window_set_buttons_pointer (WINDOW *, const std::shared_ptr< int32_t > &pointer) |
Sets the underlying buttons pointer, useful for binding to GPU memory. | |
void | window_set_cursor_pointer (WINDOW *, const std::shared_ptr< float > &pointer) |
Sets the underlying cursor pointer, useful for binding to GPU memory. | |
void | window_set_mod_pointer (WINDOW *, const std::shared_ptr< int32_t > &pointer) |
Sets the underlying mod pointer, useful for binding to GPU memory. | |
void | window_set_focused_pointer (WINDOW *, const std::shared_ptr< int32_t > &pointer) |
Sets the underlying focused pointer, useful for binding to GPU memory. | |
void | window_set_width_pointer (WINDOW *, const std::shared_ptr< float > &pointer) |
Sets the underlying width pointer, useful for binding to GPU memory. | |
void | window_set_height_pointer (WINDOW *, const std::shared_ptr< float > &pointer) |
Sets the underlying height pointer, useful for binding to GPU memory. | |
int32_t & | window_get_keypress_ref (WINDOW *, uint8_t keycode) |
Gets a reference to the specified key in the underlying keys pointer. | |
int32_t & | window_get_keypress_ref (WINDOW *, KEYCODES keycode) |
overload of window_get_keypress_ref with KEYCODES enum | |
int32_t & | window_get_buttonpress_ref (WINDOW *, uint8_t button) |
Gets a reference to the specified button in the underlying buttons pointer. | |
std::shared_ptr< int32_t > & | window_get_all_keypress_ref (WINDOW *, uint8_t keycode) |
Gets a shared pointer reference to all key values. | |
std::shared_ptr< int32_t > & | window_get_all_buttonpress_ref (WINDOW *, uint8_t button) |
Gets a shared pointer reference to all button values. | |
std::shared_ptr< float > & | window_get_width_ref (WINDOW *) |
Gets a shared pointer reference to window width. | |
std::shared_ptr< float > & | window_get_height_ref (WINDOW *) |
Gets a shared pointer reference to window height. | |
void | window_add_drawn_buffer_group (WINDOW *, IDrawListManager *mgr, BufferGroup *buffer_group) |
Adds a drawn buffer group. | |
void | window_remove_drawn_buffer_group (WINDOW *, IDrawListManager *mgr, BufferGroup *buffer_group) |
Removes a drawn buffer group. | |
EventInterface * | window_get_event_interface (WINDOW *) |
Returns the EventInterface for a given WINDOW. | |
void | window_register_free_callback (WINDOW *, float priority, const std::function< void()> &) |
Adds a destroy event callback function. | |
void | window_set_capture (WINDOW *window_ptr, bool should_capture) |
sets Window mouse capture (for mouse capture outside window) | |
void * | window_get_native_handle (WINDOW *window_ptr) |
gets the native handle for a given WINDOW* | |
bool | window_get_minimized (WINDOW *window_ptr) |
void | window_set_focused (WINDOW *window_ptr) |
Attemps to bring a window to the front. | |
void | window_set_size (WINDOW *window_ptr, float width, float height) |
Attempts to set a windows size. | |
ImVec2 | window_get_position (WINDOW *window_ptr) |
Returns a windows screen position. | |
void | window_set_position (WINDOW *window_ptr, float x, float y) |
Attempts to set a windows position. | |
void | window_set_focused (WINDOW *window_ptr, bool focused) |
Directly sets focused override and notifies ImGui. | |
void | window_request_drag (WINDOW *) |
Requests a window to be dragged. | |
void | window_cancel_drag (WINDOW *window_ptr) |
explicitly cancels a window drag | |
void | window_request_close (WINDOW *window_ptr) |
explicitly closes a window | |
void | window_register_compute_dispatch (WINDOW *window_ptr, float priority, Shader *shader, const std::function< int()> &dispatch_count_fn) |
Registers a Compute shader for dispatch. | |
void | window_deregister_compute_dispatch (WINDOW *window_ptr, float priority, Shader *shader) |
Dergisters a Compute shader dispatch. | |
template<typename T> | |
T * | zmalloc (size_t size, const T &value) |
template<typename T> | |
void | zfree (T *ptr, size_t size) |
using dz::Asset = dz::size_ptr<char> |
Asset alias representing a pointer to int8_t data.
using dz::CameraTuple = std::tuple<int, Framebuffer*, std::function<void()>> |
A CameraTuple is the information required to draw from a cameras perspective.
using dz::DrawList = std::vector<DrawIndirectCommand> |
A list of draw commands.
This represents a batch of DrawIndirectCommand structures, typically submitted to the GPU in one draw call.
using dz::DrawTuples = std::vector<std::tuple<Shader*, uint32_t>> |
Maps each Framebuffer pointer to the ShaderDrawList.
A DrawTuples is the information required to produce a DrawList in a DrawListManager
using dz::ShaderDrawList = std::unordered_map<Shader*, DrawList> |
Maps each Shader pointer to its corresponding list of draw commands.
This allows organizing draw commands by the shader used, enabling grouped rendering submissions.
using dz::StreamIdentifier = std::uint64_t |
using dz::StreamInteger = std::int64_t |
using dz::StreamPoint = std::tuple<StreamScalar, StreamScalar, StreamScalar, StreamTimestamp, StreamIdentifier, StreamInteger, StreamString> |
using dz::StreamScalar = float |
using dz::StreamString = std::string |
using dz::StreamTimestamp = std::chrono::time_point<std::chrono::steady_clock> |
|
strong |
|
strong |
|
strong |
|
strong |
|
strong |
Provides a mapping of ASCII keys.
|
strong |
|
strong |
void dz::add_asset | ( | AssetPack * | asset_pack, |
const std::string & | path, | ||
const Asset & | asset ) |
void dz::add_asset | ( | AssetPack * | asset_pack, |
FileHandle & | file_handle ) |
Adds a new asset from a file to the pack.
asset_pack | Pointer to the AssetPack. |
file_handle | File handle to the asset source. |
BufferGroup * dz::buffer_group_create | ( | const std::string & | group_name | ) |
Creates a new BufferGroup with the given name.
group_name | Logical name of the buffer group. |
Image * dz::buffer_group_define_image_2D | ( | BufferGroup * | buffer_group, |
const std::string & | buffer_name, | ||
uint32_t | image_width, | ||
uint32_t | image_height, | ||
void * | data_pointer = 0 ) |
Defines a 2D image in the buffer group.
buffer_group | Pointer to the BufferGroup. |
buffer_name | Unique identifier for the buffer. |
image_width | Width of the image. |
image_height | Height of the image. |
data_pointer | Optional pointer to image data. |
Image * dz::buffer_group_define_image_3D | ( | BufferGroup * | buffer_group, |
const std::string & | buffer_name, | ||
uint32_t | image_width, | ||
uint32_t | image_height, | ||
uint32_t | image_depth, | ||
void * | data_pointer = 0 ) |
Defines a 3D image in the buffer group.
buffer_group | Pointer to the BufferGroup. |
buffer_name | Unique identifier for the buffer. |
image_width | Width of the image. |
image_height | Height of the image. |
image_depth | Depth of the image. |
data_pointer | Optional pointer to image data. |
std::shared_ptr< uint8_t > dz::buffer_group_get_buffer_data_ptr | ( | BufferGroup * | buffer_group, |
const std::string & | buffer_name ) |
Gets the raw buffer data pointer for a named buffer.
buffer_group | Pointer to the BufferGroup. |
buffer_name | Name of the buffer. |
uint32_t dz::buffer_group_get_buffer_element_count | ( | BufferGroup * | buffer_group, |
const std::string & | buffer_name ) |
Gets the number of elements in a named buffer.
buffer_group | Pointer to the BufferGroup. |
buffer_name | Name of the buffer. |
uint32_t dz::buffer_group_get_buffer_element_size | ( | BufferGroup * | buffer_group, |
const std::string & | buffer_name ) |
Gets the element size of a named buffer.
ReflectedStructView dz::buffer_group_get_buffer_element_view | ( | BufferGroup * | buffer_group, |
const std::string & | buffer_name, | ||
uint32_t | index ) |
Returns a view into a single struct element in the named buffer.
buffer_group | Pointer to the BufferGroup. |
buffer_name | Name of the buffer. |
index | Index of the element. |
void dz::buffer_group_initialize | ( | BufferGroup * | buffer_group | ) |
Initializes GPU-side resources for the buffer group.
buffer_group | Pointer to the BufferGroup. |
void dz::buffer_group_restrict_to_keys | ( | BufferGroup * | buffer_group, |
const std::vector< std::string > & | restruct_keys ) |
Restricts the buffer group to a subset of keys.
buffer_group | Pointer to the BufferGroup. |
restruct_keys | List of keys to restrict to. |
void dz::buffer_group_set_buffer_element_count | ( | BufferGroup * | buffer_group, |
const std::string & | buffer_name, | ||
uint32_t | element_count ) |
Sets the number of elements in a named buffer.
buffer_group | Pointer to the BufferGroup. |
buffer_name | Name of the buffer. |
element_count | Number of elements. |
void dz::CameraInit | ( | Camera & | camera | ) |
void dz::CameraInit | ( | Camera & | camera, |
vec< float, 3 > | position, | ||
vec< float, 3 > | center, | ||
vec< float, 3 > | up, | ||
float | nearPlane, | ||
float | farPlane, | ||
float | width, | ||
float | height, | ||
float | fov, | ||
Camera::ProjectionType | projectionType = Camera::Perspective ) |
void dz::CameraInit | ( | Camera & | camera, |
vec< float, 3 > | position, | ||
vec< float, 3 > | center, | ||
vec< float, 3 > | up, | ||
float | nearPlane, | ||
float | farPlane, | ||
vec< float, 4 > | viewport, | ||
Camera::ProjectionType | projectionType = Camera::Orthographic ) |
AssetPack * dz::create_asset_pack | ( | FileHandle & | file_handle | ) |
Creates an AssetPack using the provided file handle.
file_handle | Reference to the file handle. |
|
constexpr |
|
inlineconstexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
|
constexpr |
Converts an angle from radians to degrees.
Performs the conversion using the exact constant 180 / π.
T | Numeric type (float, double, etc.). |
radians | Angle in radians. |
DisplayDescription dz::displays_describe | ( | int | display_index | ) |
int dz::displays_get_count | ( | ) |
std::vector< WindowReflectableGroup * >::iterator dz::dr_get_window_reflectable_entries_begin | ( | ) |
returns the beginning of DirectRegistry window_reflectable_entries
std::vector< WindowReflectableGroup * >::iterator dz::dr_get_window_reflectable_entries_end | ( | ) |
returns the end of DirectRegistry window_reflectable_entries
std::vector< WINDOW * >::iterator dz::dr_get_windows_begin | ( | ) |
returns the beginning of DirectRegistry window_ptrs
std::vector< WINDOW * >::iterator dz::dr_get_windows_end | ( | ) |
returns the end of DirectRegistry window_ptrs
void dz::framebuffer_bind | ( | Framebuffer * | ) |
Binds a Framebuffer as the current render target.
bool dz::framebuffer_changed | ( | Framebuffer * | ) |
Framebuffer * dz::framebuffer_create | ( | const FramebufferInfo & | ) |
Initializes a Framebuffer given the info provided.
bool dz::framebuffer_destroy | ( | Framebuffer *& | ) |
Destroys a Framebuffer, note does not destroy the attached Images Sets framebuffer to nullptr once destroyed.
Image * dz::framebuffer_get_image | ( | Framebuffer * | , |
AttachmentType | , | ||
bool | new_image = false ) |
attempts to return an underlying Image based on AttachmentType
bool dz::framebuffer_resize | ( | Framebuffer * | , |
uint32_t | width, | ||
uint32_t | height ) |
Resizes a framebuffer and associated Image*.
void dz::framebuffer_set_clear_color | ( | Framebuffer * | , |
float | r = 0.f, | ||
float | g = 0.f, | ||
float | b = 0.f, | ||
float | a = 0.f ) |
Sets the clear color of a framebuffer.
void dz::framebuffer_set_clear_depth_stencil | ( | Framebuffer * | , |
float | depth = 1.f, | ||
uint32_t | stencil = 0 ) |
Sets the clear depth of a framebuffer.
void dz::framebuffer_unbind | ( | Framebuffer * | ) |
Unbinds a Framebuffer.
void dz::free_asset_pack | ( | AssetPack * | asset_pack | ) |
Frees memory associated with the provided AssetPack.
asset_pack | Pointer to the AssetPack to free. |
bool dz::free_state | ( | ) |
Frees any Restorables that are owned by the StateHolder.
bool dz::get_asset | ( | AssetPack * | asset_pack, |
const std::string & | path, | ||
Asset & | out ) |
Retrieves an asset from the pack.
asset_pack | Pointer to the AssetPack. |
path | Path identifying the asset. |
DirectRegistry *& dz::get_direct_registry | ( | ) |
ImGuiLayer & dz::get_ImGuiLayer | ( | ) |
Gets the global ImGuiLayer.
|
inline |
|
inline |
bool dz::has_state | ( | ) |
Returns a bool value indicating whether the state has date.
Image * dz::image_create | ( | const ImageCreateInfo & | ) |
Creates a image given the passed info.
std::pair< VkDescriptorSetLayout, VkDescriptorSet > dz::image_create_descriptor_set | ( | Image * | image | ) |
Creates a single descriptor set for a given Image*.
void dz::image_free | ( | Image * | image | ) |
Frees an image, should only be called for self owned Images. Images created by BufferGroups should not be passed to this function.
void dz::image_resize_2D | ( | Image *& | image, |
uint32_t | image_width, | ||
uint32_t | image_height, | ||
void * | data = nullptr, | ||
bool | create_new = false ) |
Resizes a 2D image to the specified dimensions.
image | Pointer to the Image structure. |
image_width | Width of the image in pixels. |
image_height | Height of the image in pixels. |
void dz::image_resize_3D | ( | Image *& | image, |
uint32_t | image_width, | ||
uint32_t | image_height, | ||
uint32_t | image_depth, | ||
void * | data = nullptr, | ||
bool | create_new = false ) |
Resizes a 3D image to the specified dimensions.
image | Pointer to the Image structure. |
image_width | Width of the image in pixels. |
image_height | Height of the image in pixels. |
image_depth | Depth of the image in pixels. |
Creates an infinite perspective projection matrix.
Generates a projection matrix that has a far plane at infinity, which can be useful for scenes where the far plane should not clip distant objects.
The infinite far plane reduces depth buffer precision issues for very large view distances.
The choice of projection variant depends on renderer backend macros:
T | Numeric type (e.g. float, double). |
fovy | Field of view angle in radians (vertical). |
aspect | Aspect ratio (width / height). |
zNear | Distance to near clipping plane (must be > 0). |
bool dz::is_state_loaded | ( | ) |
Returns a bool value indicating state loaded.
bool dz::is_tracking_state | ( | ) |
Returns a bool value indicating tracking state.
bool dz::load_state | ( | ) |
Loads the State from file or istream.
mat< T, 4, 4 > dz::lookAt | ( | const vec< T, 3 > & | eye, |
const vec< T, 3 > & | center, | ||
const vec< T, 3 > & | up ) |
Constructs a right-handed view matrix simulating a camera "look at" transform.
This function creates a 4x4 view matrix that positions and orients a virtual camera in 3D space. The camera is placed at the position eye, looking towards the point center, with the specified up vector defining the camera's vertical orientation.
The resulting matrix transforms world coordinates into view (camera) space.
The algorithm follows the standard "look at" computation:
The matrix columns correspond to these orthonormal basis vectors, and the translation part moves the world such that the camera is effectively at the origin looking down the negative Z-axis.
T | Numeric type (float, double). |
eye | Position of the camera in world space. |
center | Target point the camera is looking at. |
up | Up direction vector used to orient the camera. Should not be parallel to the line from eye to center. |
mat< T, 4, 4 > dz::orthographic | ( | T | left, |
T | right, | ||
T | bottom, | ||
T | top, | ||
T | znear, | ||
T | zfar ) |
Creates an orthographic projection matrix.
Generates a 4x4 orthographic projection matrix that maps a defined box volume to normalized device coordinates.
Orthographic projection preserves parallel lines and does not apply perspective distortion.
T | Numeric type (e.g. float, double). |
left | Left boundary of the view volume. |
right | Right boundary of the view volume. |
bottom | Bottom boundary of the view volume. |
top | Top boundary of the view volume. |
znear | Near clipping plane distance. |
zfar | Far clipping plane distance. |
Creates a perspective projection matrix suitable for rendering 3D scenes.
This function generates a 4x4 perspective projection matrix based on the given vertical field of view, aspect ratio, and near/far clipping planes.
The matrix maps 3D points to normalized device coordinates (NDC) for rendering.
The specific projection variant depends on the renderer target:
T | Numeric type (e.g. float, double). |
fovy | Field of view angle in radians (vertical). |
aspect | Aspect ratio (width / height). |
zNear | Distance to near clipping plane (must be > 0). |
zFar | Distance to far clipping plane (must be > zNear). |
Constructs a quaternion from an axis-angle representation.
axis | A normalized 3D axis. |
angle | Angle in radians. |
Converts a quaternion to a 4x4 rotation matrix.
q | A normalized quaternion. |
Converts an angle from degrees to radians.
Performs the conversion using the exact constant π / 180.
T | Numeric type (float, double, etc.). |
degrees | Angle in degrees. |
void dz::register_restorable_constructor | ( | int | c_id, |
const std::function< Restorable *(Serial &)> & | constructor_fn ) |
Registers a constructor function such that State can accurately restore.
bool dz::save_state | ( | ) |
Saves the state to file or ostream.
void dz::set_state_file_path | ( | const std::filesystem::path & | path | ) |
Sets the State file path.
void dz::set_state_istream | ( | std::istream & | istream | ) |
Overrides the States istream (Deserializing) (reading data)
void dz::set_state_ostream | ( | std::ostream & | ostream | ) |
Overrides the States ostream (Serializing) (writing data)
void dz::shader_add_buffer_group | ( | Shader * | , |
BufferGroup * | buffer_group ) |
Binds a BufferGroup to the shader.
shader | Pointer to the Shader. |
buffer_group | Pointer to the BufferGroup. |
void dz::shader_add_module | ( | Shader * | , |
ShaderModuleType | module_type, | ||
const std::string & | glsl_source ) |
Adds a GLSL source module to the shader.
shader | Pointer to the Shader. |
module_type | The type of shader module. |
glsl_source | GLSL source code string. |
void dz::shader_add_module_from_file | ( | Shader * | , |
const std::filesystem::path & | file_path ) |
Adds a GLSL source module loaded from a file.
shader | Pointer to the Shader. |
file_path | Path to the file containing GLSL source code. |
void dz::shader_bind | ( | Shader * | shader | ) |
Binds the shader to the current render pipeline.
shader | Pointer to the Shader. |
void dz::shader_compile | ( | Shader * | shader | ) |
Compiles the shader source code to SPIR-V.
shader | Pointer to the Shader. |
Shader * dz::shader_create | ( | ShaderTopology | topology = ShaderTopology::TriangleList | ) |
Creates a new Shader object.
void dz::shader_create_resources | ( | Shader * | shader | ) |
Allocates GPU resources for the shader.
shader | Pointer to the Shader. |
void dz::shader_dispatch | ( | Shader * | , |
vec< int32_t, 3 > | dispatch_layout ) |
Dispatches the compute shader with the given thread group layout.
shader | Pointer to the Shader. |
dispatch_layout | Layout dimensions as vec<int32_t, 3>. |
VkDescriptorSet dz::shader_get_descriptor_set | ( | Shader * | , |
const std::string & | ) |
Returns a VkDescriptorSet given a key.
int32_t dz::shader_get_push_constant_index | ( | Shader * | , |
const std::string & | pc_member_name ) |
gets a push constant index given the layout(push_constant) member name
void dz::shader_include_asset_pack | ( | Shader * | , |
AssetPack * | asset_pack ) |
Sets the include path to an asset_pack for include lookup.
void dz::shader_initialize | ( | Shader * | shader | ) |
Initializes the shader for usage after resource creation and compilation.
shader | Pointer to the Shader. |
void dz::shader_remove_buffer_group | ( | Shader * | , |
BufferGroup * | buffer_group ) |
Unbinds a BufferGroup from the shader.
shader | Pointer to the Shader. |
buffer_group | Pointer to the BufferGroup. |
void dz::shader_set_define | ( | Shader * | , |
const std::string & | key, | ||
const std::string & | value = "" ) |
Sets a preprocessor definition for GLSL compilation.
shader | Pointer to the Shader. |
key | Define macro name. |
value | Optional value for the macro. |
void dz::shader_set_render_pass | ( | Shader * | , |
Framebuffer * | ) |
Sets the shaders RenderPass to the passed Framebuffers RenderPass.
void dz::shader_update_descriptor_sets | ( | Shader * | shader | ) |
Updates descriptor sets associated with the shader.
shader | Pointer to the Shader. |
void dz::shader_update_push_constant | ( | Shader * | , |
uint32_t | pc_index, | ||
void * | data, | ||
uint32_t | size ) |
Updates a push_constant by index given data and size.
void dz::shader_use_image | ( | Shader * | , |
const std::string & | sampler_key, | ||
Image * | image_override ) |
Emplaces an override when constructing images from reflection data based on key and provided image.
Spherical linear interpolation between two quaternions.
a | Start quaternion. |
b | End quaternion. |
t | Interpolation factor between 0 and 1. |
casts a restorable at the index given with Constructor ID
Restorable * dz::state_get_restorable_ptr | ( | int | cid, |
int | index = 0 ) |
returns a restorable at the index given with Constructor ID
void dz::track_state | ( | Restorable * | restorable_ptr | ) |
Tracks the state of a restorable by pointer.
void dz::track_static_state | ( | int | sid, |
const std::function< bool(Serial &)> & | restore, | ||
const std::function< bool(Serial &)> & | backup ) |
void dz::track_window_state | ( | WINDOW * | window_ptr | ) |
Tracks a Windows state (size, xy, title)
void dz::window_add_drawn_buffer_group | ( | WINDOW * | , |
IDrawListManager * | mgr, | ||
BufferGroup * | buffer_group ) |
Adds a drawn buffer group.
Registers a DrawListManager along with a compatible buffer group so draw commands can be computed dynamically based on buffer data.
void dz::window_cancel_drag | ( | WINDOW * | window_ptr | ) |
explicitly cancels a window drag
WINDOW * dz::window_create | ( | const WindowCreateInfo & | info | ) |
Creates a Window given the specified information and sets up a render context.
This function must be called before creating any resources in your program.
void dz::window_deregister_compute_dispatch | ( | WINDOW * | window_ptr, |
float | priority, | ||
Shader * | shader ) |
Dergisters a Compute shader dispatch.
std::shared_ptr< int32_t > & dz::window_get_all_buttonpress_ref | ( | WINDOW * | , |
uint8_t | button ) |
Gets a shared pointer reference to all button values.
std::shared_ptr< int32_t > & dz::window_get_all_keypress_ref | ( | WINDOW * | , |
uint8_t | keycode ) |
Gets a shared pointer reference to all key values.
int32_t & dz::window_get_buttonpress_ref | ( | WINDOW * | , |
uint8_t | button ) |
Gets a reference to the specified button in the underlying buttons pointer.
double & dz::window_get_double_frametime_ref | ( | WINDOW * | ) |
Returns a reference to the frametime value as a double.
EventInterface * dz::window_get_event_interface | ( | WINDOW * | ) |
Returns the EventInterface for a given WINDOW.
float & dz::window_get_float_frametime_ref | ( | WINDOW * | ) |
Returns a reference to the frametime value as a float.
std::shared_ptr< float > & dz::window_get_height_ref | ( | WINDOW * | ) |
Gets a shared pointer reference to window height.
size_t dz::window_get_id_ref | ( | WINDOW * | ) |
Returns a reference to the id.
int32_t & dz::window_get_keypress_ref | ( | WINDOW * | , |
KEYCODES | keycode ) |
overload of window_get_keypress_ref with KEYCODES enum
int32_t & dz::window_get_keypress_ref | ( | WINDOW * | , |
uint8_t | keycode ) |
Gets a reference to the specified key in the underlying keys pointer.
bool dz::window_get_minimized | ( | WINDOW * | window_ptr | ) |
void * dz::window_get_native_handle | ( | WINDOW * | window_ptr | ) |
gets the native handle for a given WINDOW*
ImVec2 dz::window_get_position | ( | WINDOW * | window_ptr | ) |
Returns a windows screen position.
const std::string & dz::window_get_title_ref | ( | WINDOW * | ) |
Returns a reference to the title.
std::shared_ptr< float > & dz::window_get_width_ref | ( | WINDOW * | ) |
Gets a shared pointer reference to window width.
bool dz::window_poll_events | ( | WINDOW * | ) |
Polls a window for events.
This should be called in a loop before any update and render code. Returns true if the window is still active, false if it has been closed.
void dz::window_register_compute_dispatch | ( | WINDOW * | window_ptr, |
float | priority, | ||
Shader * | shader, | ||
const std::function< int()> & | dispatch_count_fn ) |
Registers a Compute shader for dispatch.
void dz::window_register_free_callback | ( | WINDOW * | , |
float | priority, | ||
const std::function< void()> & | ) |
Adds a destroy event callback function.
void dz::window_remove_drawn_buffer_group | ( | WINDOW * | , |
IDrawListManager * | mgr, | ||
BufferGroup * | buffer_group ) |
Removes a drawn buffer group.
void dz::window_render | ( | WINDOW * | , |
bool | multi_window_render = false ) |
Renders the specified window based on its context configuration.
void dz::window_request_close | ( | WINDOW * | window_ptr | ) |
explicitly closes a window
void dz::window_request_drag | ( | WINDOW * | ) |
Requests a window to be dragged.
void dz::window_set_buttons_pointer | ( | WINDOW * | , |
const std::shared_ptr< int32_t > & | pointer ) |
Sets the underlying buttons pointer, useful for binding to GPU memory.
void dz::window_set_buttons_pointer | ( | WINDOW * | , |
int32_t * | pointer ) |
Sets the underlying buttons pointer, useful for binding to GPU memory.
void dz::window_set_capture | ( | WINDOW * | window_ptr, |
bool | should_capture ) |
sets Window mouse capture (for mouse capture outside window)
void dz::window_set_cursor_pointer | ( | WINDOW * | , |
const std::shared_ptr< float > & | pointer ) |
Sets the underlying cursor pointer, useful for binding to GPU memory.
void dz::window_set_cursor_pointer | ( | WINDOW * | , |
float * | pointer ) |
Sets the underlying cursor pointer, useful for binding to GPU memory.
void dz::window_set_double_frametime_pointer | ( | WINDOW * | , |
const std::shared_ptr< double > & | pointer ) |
Sets the underlying frametime double pointer, useful for binding to GPU memory.
void dz::window_set_double_frametime_pointer | ( | WINDOW * | , |
double * | pointer ) |
Sets the underlying frametime double pointer, useful for binding to GPU memory.
void dz::window_set_float_frametime_pointer | ( | WINDOW * | , |
const std::shared_ptr< float > & | pointer ) |
Sets the underlying frametime float pointer, useful for binding to GPU memory.
void dz::window_set_float_frametime_pointer | ( | WINDOW * | , |
float * | pointer ) |
Sets the underlying frametime float pointer, useful for binding to GPU memory.
void dz::window_set_focused | ( | WINDOW * | window_ptr | ) |
Attemps to bring a window to the front.
void dz::window_set_focused | ( | WINDOW * | window_ptr, |
bool | focused ) |
Directly sets focused override and notifies ImGui.
void dz::window_set_focused_pointer | ( | WINDOW * | , |
const std::shared_ptr< int32_t > & | pointer ) |
Sets the underlying focused pointer, useful for binding to GPU memory.
void dz::window_set_focused_pointer | ( | WINDOW * | , |
int32_t * | pointer ) |
Sets the underlying focused pointer, useful for binding to GPU memory.
void dz::window_set_height_pointer | ( | WINDOW * | , |
const std::shared_ptr< float > & | pointer ) |
Sets the underlying height pointer, useful for binding to GPU memory.
void dz::window_set_height_pointer | ( | WINDOW * | , |
float * | pointer ) |
Sets the underlying height pointer, useful for binding to GPU memory.
void dz::window_set_keys_pointer | ( | WINDOW * | , |
const std::shared_ptr< int32_t > & | pointer ) |
Sets the underlying keys pointer, useful for binding to GPU memory.
void dz::window_set_keys_pointer | ( | WINDOW * | , |
int32_t * | pointer ) |
Sets the underlying keys pointer, useful for binding to GPU memory.
void dz::window_set_mod_pointer | ( | WINDOW * | , |
const std::shared_ptr< int32_t > & | pointer ) |
Sets the underlying mod pointer, useful for binding to GPU memory.
void dz::window_set_mod_pointer | ( | WINDOW * | , |
int32_t * | pointer ) |
Sets the underlying mod pointer, useful for binding to GPU memory.
void dz::window_set_position | ( | WINDOW * | window_ptr, |
float | x, | ||
float | y ) |
Attempts to set a windows position.
void dz::window_set_size | ( | WINDOW * | window_ptr, |
float | width, | ||
float | height ) |
Attempts to set a windows size.
void dz::window_set_title | ( | WINDOW * | , |
const std::string & | ) |
sets the title of a given WINDOW
void dz::window_set_width_pointer | ( | WINDOW * | , |
const std::shared_ptr< float > & | pointer ) |
Sets the underlying width pointer, useful for binding to GPU memory.
void dz::window_set_width_pointer | ( | WINDOW * | , |
float * | pointer ) |
Sets the underlying width pointer, useful for binding to GPU memory.
bool dz::windows_poll_events | ( | ) |
Polls all open windows for events.
void dz::windows_render | ( | ) |
Renders all open windows.