|
SDEngine
Game Engine
|
Namespaces | |
| namespace | components |
| namespace | detail |
| namespace | Filesystem |
| namespace | log |
| namespace | math |
Concepts | |
| concept | SerializableComponent |
| concept | IsLayer |
| concept | HasSerialize |
| concept | HasDeserialize |
| concept | HasSerialization |
Typedefs | |
| template<typename A , typename B > | |
| using | ConcatComponentGroups_t = typename ConcatComponentGroups< A, B >::type |
| using | glfw_error_callback = std::function< void(int, const char *)> |
| using | ResizeCallbackFn = std::function< void(int, int)> |
| using | KeyCallbackFn = std::function< void(int, int, int, int)> |
| using | ScrollCallbackFn = std::function< void(double, double)> |
| using | CursorCallbackFn = std::function< void(double, double)> |
| using | MouseButtonCallbackFn = std::function< void(int, int, int)> |
| using | RefreshCallbackFn = std::function< void()> |
| using | CharCallbackFn = std::function< void(unsigned int)> |
Enumerations | |
| enum | ViewError { NAME_ALREADY_EXISTS , SUCCESS , VIEW_DOES_NOT_EXIST } |
| enum class | AspectMode { FIXED_HEIGHT , FIXED_WIDTH , BEST_FIT } |
| enum class | RenderMode { SHADED , WIREFRAME } |
| enum class | FileError { NONE , ERROR , FILE_TOO_LARGE , ALREADY_EXISTS } |
Functions | |
| template<typename... Ts> | |
| overloaded (Ts...) -> overloaded< Ts... > | |
| SD_EXPORT std::optional< std::vector< U32 > > | compile_shader (std::string_view filename, std::string_view profile={}) |
| void | check_vulkan_res (vk::Result result, std::string_view message, std::source_location loc=std::source_location::current()) |
| template<typename T > | |
| auto | check_vulkan_res_val (T &&result, std::string_view message, std::source_location loc=std::source_location::current()) |
| U32 | find_memory_type (const vk::PhysicalDevice &physical_device, U32 type_filter, vk::MemoryPropertyFlags properties) |
| std::expected< std::vector< char >, FileError > | read_file (const std::string &filename) |
| std::expected< void, std::string > | single_time_command (const vk::Device &device, const vk::Queue &queue, const vk::CommandPool &command_pool, const std::function< void(const vk::CommandBuffer &)> &action) |
| std::pair< vk::UniqueBuffer, vk::UniqueDeviceMemory > | create_buffer (const vk::Device &device, const vk::PhysicalDevice &physical_device, vk::DeviceSize size, vk::BufferUsageFlags usage, vk::MemoryPropertyFlags properties) |
| std::pair< vk::UniqueImage, vk::UniqueDeviceMemory > | create_image (const vk::Device &device, const vk::PhysicalDevice &physical_device, uint32_t width, uint32_t height, vk::Format format, vk::ImageTiling tiling, vk::ImageUsageFlags usage, vk::MemoryPropertyFlags properties) |
| void | copy_buffer_to_image (const vk::CommandBuffer &cmd_buffer, const vk::Buffer &buffer, const vk::Image &image, uint32_t width, uint32_t height) |
| void | transition_image_layout (const vk::CommandBuffer &cmd_buffer, const vk::Image &image, vk::Format format, vk::ImageLayout old_layout, vk::ImageLayout new_layout) |
| std::expected< Texture, std::string > | create_texture (const vk::Device &device, const vk::PhysicalDevice &physical_device, const vk::Queue &graphics_queue, const vk::CommandPool &command_pool, const std::filesystem::path &file_path) |
| template<std::ranges::input_range R> requires std::constructible_from<std::string_view, std::ranges::range_value_t<R>> | |
| std::string | tab_format (R &&items, USize cols=4, USize spacing=2, bool row_major=true) |
| ImVec4 | apply_theme () |
Variables | |
| template<typename > | |
| constexpr bool | k_always_false = false |
| constexpr int | g_max_frames_in_flight = 2 |
| thread_local Profile | _sd_active_profile {} |
| CommandTypeRegistrar | s_registrar |
| using sd::RefreshCallbackFn = typedef std::function<void()> |
|
strong |
|
strong |
|
strong |
| ImVec4 sd::apply_theme | ( | ) |
|
inline |
| auto sd::check_vulkan_res_val | ( | T && | result, |
| std::string_view | message, | ||
| std::source_location | loc = std::source_location::current() |
||
| ) |
| std::optional< std::vector< U32 > > sd::compile_shader | ( | std::string_view | filename, |
| std::string_view | profile = {} |
||
| ) |
| filename | input hlsl source |
| profile | Optional override: "vs_6_0", "ps_6_0", "cs_6_0" etc. When omitted, the profile is deduced from the file extension. |
Check: https://docs.vulkan.org/guide/latest/hlsl.html#_vulkan_shader_stage_to_hlsl_target_shader_profile_mapping for what shader stage is needed for the different HLSL target shader profiles
|
inline |
|
inline |
|
inline |
|
inline |
|
inline |
| sd::overloaded | ( | Ts... | ) | -> overloaded< Ts... > |
|
inline |
Reads a file from given path
| filename |
|
inline |
| std::string sd::tab_format | ( | R && | items, |
| USize | cols = 4, |
||
| USize | spacing = 2, |
||
| bool | row_major = true |
||
| ) |
Formats a range of items into aligned columns.
| items | Input range whose elements are convertible to string_view |
| cols | Number of columns (default 4) |
| spacing | Min spaces between columns (default 2) |
| row_major | When true (default), items fill left-to-right then down. When false, items fill top-to-bottom then right. |
|
inline |
|
inline |
| CommandTypeRegistrar sd::s_registrar |