|
Muto 0.0.1
|
The main namespace for the Muto engine. More...
Namespaces | |
| namespace | Color |
| Provides commonly used colors and color manipulation functions. | |
| namespace | Key |
| Namespace for keyboard key codes. | |
| namespace | Math |
| Contains mathematical utility functions for the Vesper engine. | |
| namespace | Math2D |
| namespace | Mouse |
| Namespace for mouse button codes. | |
| namespace | Random |
Classes | |
| class | Application |
| The core application class that manages the main loop, window, layers, and event handling. More... | |
| struct | ApplicationSettings |
| Holds configuration settings for the application. More... | |
| class | AppRenderEvent |
| Event for registering application render. More... | |
| class | AppTickEvent |
| Event for registering application tick. More... | |
| class | AppUpdateEvent |
| Event for registering application update. More... | |
| struct | BufferElement |
| Represents a single element in a buffer layout. More... | |
| class | BufferLayout |
| Represents the layout of a buffer, consisting of multiple BufferElements. More... | |
| class | Camera |
| The base Camera class that all Camera's derive from Only contains a pojection matrix and a getter. More... | |
| struct | CameraComponent |
| Component that holds camera data. More... | |
| class | EditorCamera |
| class | EditorLayer |
| class | Entity |
| Represents an entity in a scene. More... | |
| class | Event |
| Abstract base class for all events. More... | |
| class | EventDispatcher |
| Stack-based templated event dispatcher. More... | |
| class | FileDialogs |
| Cross-platform file dialog utilities. More... | |
| class | FileSystem |
| WIP. More... | |
| class | Framebuffer |
| Abstract class representing a framebuffer. More... | |
| struct | FramebufferSpecification |
| Specification for creating a Framebuffer. More... | |
| class | GraphicsContext |
| Abstract class representing a graphics context. More... | |
| class | ImGuiLayer |
| class | IndexBuffer |
| Abstract base class for an index buffer. More... | |
| class | Input |
| Base input class for querying input states. More... | |
| struct | InstrumentationSession |
| class | InstrumentationTimer |
| class | Instrumentor |
| class | KeyEvent |
| Base class for keyboard events. More... | |
| class | KeyPressedEvent |
| Event for registering key press. More... | |
| class | KeyReleasedEvent |
| Event for registering key release. More... | |
| class | KeyTypedEvent |
| Event for registering key typing. More... | |
| class | Layer |
| Represents a reusable application layer that receives lifecycle callbacks (attach, detach, update, events, render, and ImGui render). Intended as a base class for concrete layers. More... | |
| class | LayerStack |
| Manages an ordered stack of Layer pointers. Layers can be pushed or popped and the stack can be iterated in forward or reverse order. More... | |
| class | Log |
| A logging utility class for the Vesper engine. More... | |
| class | MouseButtonEvent |
| Base class for mouse button events. More... | |
| class | MouseButtonPressedEvent |
| Event for registering mouse button presses. More... | |
| class | MouseButtonReleasedEvent |
| Event for registering mouse button releases. More... | |
| class | MouseMovedEvent |
| Event for registering mouse movement. More... | |
| class | MouseScrolledEvent |
| Event for registering mouse scroll wheel movement. More... | |
| class | Mutare |
| struct | MutoResult |
| struct | NameComponent |
| Component that holds the name of an entity. More... | |
| struct | NativeScriptComponent |
| Component that holds scripting data for an entity. More... | |
| class | OpenGLContext |
| class | OpenGLFramebuffer |
| class | OpenGLImGuiLayer |
| class | OpenGLIndexBuffer |
| class | OpenGLRendererAPI |
| An implementation of the RenderAPI for OpenGL. More... | |
| class | OpenGLShader |
| class | OpenGLTexture2D |
| class | OpenGLUniformBuffer |
| class | OpenGLVertexArray |
| class | OpenGLVertexBuffer |
| class | OrthographicCamera |
| struct | OrthographicCameraBounds |
| class | OrthographicCameraController |
| struct | Particle |
| struct | ParticleProps |
| class | ParticleSystem |
| A simple particle system for stress testing the renderer. This is a temporary starter particle system and will be replaced with a more robust implementation in the future. More... | |
| struct | ParticleSystemComponent |
| struct | ProfileResult |
| struct | QuadVertex |
| Represents a single vertex in a quad, containing position, color, texture coordinates, texture index, and tiling factor. More... | |
| class | RenderAPI |
| An abstract class defining the interface for a rendering API. More... | |
| class | RenderCommand |
| A static class that provides an interface for issuing rendering commands. More... | |
| class | Renderer |
| The main renderer class responsible for managing rendering operations. More... | |
| class | Renderer2D |
| A 2D renderer for drawing quads and sprites. More... | |
| struct | Renderer2DData |
| Contains all the internal data and resources used by the Renderer2D, such as vertex arrays, buffers, shaders, textures, and rendering statistics. More... | |
| class | ResourceManager |
| The ResourceManager class is responsible for managing application resources and pathing. More... | |
| class | Scene |
| Represents a scene in the application and manages entities and their components. More... | |
| class | SceneCamera |
| class | SceneHierarchyPanel |
| class | SceneSerializer |
| Handles serialization and deserialization of scenes. More... | |
| class | ScriptableEntity |
| Base class for scriptable entities within a scene. More... | |
| class | Shader |
| An abstraction for a shader program. More... | |
| class | ShaderLibrary |
| A library for managing and storing shaders. More... | |
| struct | SpriteRendererComponent |
| Component that holds sprite rendering data. More... | |
| class | SubTexture2D |
| Represents a sub-region of a 2D texture, useful for sprite sheets. More... | |
| struct | SubTextureComponent |
| Component that holds sub-texture data for sprites. More... | |
| class | Texture |
| An abstraction for a texture. More... | |
| class | Texture2D |
| An abstraction for a 2D texture. More... | |
| struct | TextureAnimationComponent |
| Animates through a series of sub textures. More... | |
| class | TextureLibrary |
| A library for managing and storing textures. More... | |
| class | Timestep |
| Represents a time step in seconds. More... | |
| struct | TransformComponent |
| Component that holds the transform of an entity. More... | |
| class | UniformBuffer |
| An abstraction for a uniform buffer object (UBO). More... | |
| struct | UUID |
| Universally Unique Identifier. More... | |
| struct | UUIDComponent |
| Component that holds a UUID. More... | |
| class | VertexArray |
| An abstraction for a vertex array object (VAO). More... | |
| class | VertexBuffer |
| Abstract base class for a vertex buffer. More... | |
| class | Window |
| Abstract interface representing an application window. More... | |
| class | WindowCloseEvent |
| Event for registering window close. More... | |
| struct | WindowProps |
| Holds the data for window configuration. More... | |
| class | WindowResizeEvent |
| Event for registering window resize. More... | |
| class | WindowsWindow |
Typedefs | |
| using | FloatingPointMicroseconds = std::chrono::duration< double, std::micro > |
| using | KeyCode = uint16_t |
| Alias for keyboard key code type. | |
| using | MouseButtonCodes = uint8_t |
| Alias for mouse button code type. | |
| template<typename T > | |
| using | Ref = std::shared_ptr< T > |
| A smart pointer type representing shared ownership of an object. | |
| template<typename T > | |
| using | Scope = std::unique_ptr< T > |
| A smart pointer type representing exclusive ownership of an object. | |
Functions | |
| Application * | CreateApplication () |
| template<typename T , typename... Args> | |
| constexpr Ref< T > | CreateRef (Args &&... args) |
| Creates a Ref (shared_ptr) for the given type and constructor arguments. | |
| template<typename T , typename... Args> | |
| constexpr Scope< T > | CreateScope (Args &&... args) |
| Creates a Scope (unique_ptr) for the given type and constructor arguments. | |
| template<typename T , typename UIFunction > | |
| static void | DrawComponent (const std::string &name, Entity entity, UIFunction uiFunction) |
| static void | DrawVec2Control (const std::string &label, glm::vec2 &values, float resetValue=0.0f, float columnWidth=100.0f) |
| static void | DrawVec3Control (const std::string &label, glm::vec3 &values, float resetValue=0.0f, float columnWidth=100.0f) |
| std::string | format_as (const Event &e) |
| Format an event as a string. | |
| static void | GLFWErrorCallback (int error, const char *description) |
| static bool | IsAbsolutePath (const std::string &path) |
| Determines whether the given path is an absolute path (Unix-style, Windows-style, or drive-letter). | |
| static std::string | JoinPaths (const std::string &base, const std::string &relative) |
| Joins two path segments with proper separator handling. | |
| static std::string | NormalizePath (const std::string &path) |
| Normalizes path separators to forward slashes for cross-platform consistency. | |
| static void | SerializeEntity (YAML::Emitter &out, Entity entity) |
| static uint32_t | ShaderDataTypeSize (ShaderDataType type) |
| Returns the size in bytes of the given ShaderDataType. | |
| static GLenum | ShaderDataTypeToOpenGLBaseType (ShaderDataType type) |
| static GLenum | ShaderTypeFromString (const std::string &type) |
| static void | SubTextureEdit (Entity entity, const std::string &label, SubTextureComponent &subTexture) |
| static void | TextureAnimationEdit (const std::string &label, SubTextureComponent &subTexture, TextureAnimationComponent &texAnim) |
Variables | |
| static Renderer2DData | s_Data |
| static bool | s_GLFWInitialized = false |
| static const uint32_t | s_MaxFramebufferSize = 8192 |
| TODO: Get the actual maximum size from the GPU! | |
The main namespace for the Muto engine.
Temporary.
| struct Muto::ApplicationSettings |
Holds configuration settings for the application.
| Class Members | ||
|---|---|---|
| string | ApplicationName = "Muto Application" | The name of the application. |
| string | AssetsDirectory | The assets directory of the application. |
| bool | EnableImGui = true | Flag indicating whether ImGui is enabled for the application. |
| bool | EnableVSync = false | Flag indicating whether vertical synchronization (VSync) is enabled for the application. |
| GFile | FileSystem | The file system interface for the application. |
| uint32_t | Height = 720 | The height of the application window. |
| WindowMode | Mode = WindowMode::Windowed | The window mode of the application (e.g., windowed, fullscreen, borderless). |
| string | ProjectDirectory | The project directory of the application. |
| API | RendererAPIType = RenderAPI::API::RAPI_OpenGL | The renderer API to use for the application. |
| uint32_t | Width = 1280 | The width of the application window. |
| string | WorkingDirectory | The working directory of the application. |
| struct Muto::FramebufferSpecification |
Specification for creating a Framebuffer.
| Class Members | ||
|---|---|---|
| uint32_t | Height | |
| uint32_t | Samples = 1 | |
| bool | SwapChainTarget = false | |
| uint32_t | Width | |
| struct Muto::Particle |
| struct Muto::ParticleProps |
| struct Muto::ProfileResult |
| struct Muto::QuadVertex |
| using Muto::FloatingPointMicroseconds = typedef std::chrono::duration<double, std::micro> |
| using Muto::KeyCode = typedef uint16_t |
Alias for keyboard key code type.
| using Muto::MouseButtonCodes = typedef uint8_t |
Alias for mouse button code type.
| using Muto::Ref = typedef std::shared_ptr<T> |
A smart pointer type representing shared ownership of an object.
| T | The type of object to manage. |
| using Muto::Scope = typedef std::unique_ptr<T> |
A smart pointer type representing exclusive ownership of an object.
| T | The type of object to manage. |
| enum Muto::EventCategory |
Enumeration of event categories.
| Enumerator | |
|---|---|
| EC_None | |
| EC_Application | |
| EC_Input | |
| EC_Keyboard | |
| EC_Mouse | |
| EC_MouseButton | |
|
strong |
Enumeration of event types.
|
strong |
| Enumerator | |
|---|---|
| SUCCESS | |
| FAILURE | |
| FILE_NOT_FOUND | |
| INVALID_ARGUMENT | |
| OUT_OF_MEMORY | |
| UNKNOWN_ERROR | |
|
strong |
Specifies the mode for resolving resource paths in the application.
| Enumerator | |
|---|---|
| WorkingDirectory | |
| ProjectDirectory | |
| AssetsDirectory | |
|
strong |
The different data types that can be used in shaders.
| Enumerator | |
|---|---|
| SDT_None | |
| SDT_Float | |
| SDT_Float2 | |
| SDT_Float3 | |
| SDT_Float4 | |
| SDT_Mat3 | |
| SDT_Mat4 | |
| SDT_Int | |
| SDT_Int2 | |
| SDT_Int3 | |
| SDT_Int4 | |
| SDT_Bool | |
|
strong |
WIP.
| Enumerator | |
|---|---|
| Windowed | |
| Fullscreen | |
| Borderless | |
| Muto::Application * Muto::CreateApplication | ( | ) |
References Muto::ApplicationSettings::AssetsDirectory, Muto::ApplicationSettings::EnableImGui, Muto::ApplicationSettings::EnableVSync, Muto::ApplicationSettings::Height, Muto::ApplicationSettings::Mode, Muto::ApplicationSettings::ProjectDirectory, Muto::RenderAPI::RAPI_OpenGL, Muto::ApplicationSettings::RendererAPIType, SandboxApp::SandboxApp(), Muto::ApplicationSettings::Width, and Windowed.
|
constexpr |
Creates a Ref (shared_ptr) for the given type and constructor arguments.
| T | The type of object to create. |
| Args | The types of constructor arguments. |
| args | The constructor arguments. |
|
constexpr |
Creates a Scope (unique_ptr) for the given type and constructor arguments.
| T | The type of object to create. |
| Args | The types of constructor arguments. |
| args | The constructor arguments. |
|
static |
|
static |
|
static |
|
inline |
Format an event as a string.
References Muto::Event::ToString().
|
static |
Referenced by Muto::WindowsWindow::Init().
|
static |
Determines whether the given path is an absolute path (Unix-style, Windows-style, or drive-letter).
Referenced by Muto::Application::InitFileSystem(), Muto::Application::ResolvePath_AssetsDirectory(), Muto::Application::ResolvePath_ProjectDirectory(), and Muto::Application::ResolvePath_WorkingDirectory().
|
static |
Joins two path segments with proper separator handling.
Referenced by Muto::Renderer2D::Init(), and Muto::Application::InitFileSystem().
|
static |
Normalizes path separators to forward slashes for cross-platform consistency.
Referenced by Muto::Application::InitFileSystem(), Muto::Application::ResolvePath_AssetsDirectory(), Muto::Application::ResolvePath_ProjectDirectory(), and Muto::Application::ResolvePath_WorkingDirectory().
|
static |
|
static |
Returns the size in bytes of the given ShaderDataType.
| type | The ShaderDataType to get the size of. |
References SDT_Bool, SDT_Float, SDT_Float2, SDT_Float3, SDT_Float4, SDT_Int, SDT_Int2, SDT_Int3, SDT_Int4, SDT_Mat3, and SDT_Mat4.
Referenced by Muto::BufferElement::BufferElement().
|
static |
|
static |
Referenced by Muto::OpenGLShader::PreProcess().
|
static |
|
static |
References Muto::TextureAnimationComponent::CurrentFrame.
|
static |
Referenced by Muto::Renderer2D::BeginScene(), Muto::Renderer2D::BeginScene(), Muto::Renderer2D::BeginScene(), Muto::Renderer2D::DrawQuad(), Muto::Renderer2D::DrawQuad(), Muto::Renderer2D::DrawQuad(), Muto::Renderer2D::DrawRotatedQuad(), Muto::Renderer2D::DrawRotatedQuad(), Muto::Renderer2D::DrawRotatedQuad(), Muto::Renderer2D::EndScene(), Muto::Renderer2D::Flush(), Muto::Renderer2D::GetStats(), Muto::Renderer2D::GetWhiteTexture(), Muto::Renderer2D::Init(), Muto::Renderer2D::ResetStats(), Muto::Renderer2D::Shutdown(), and Muto::Renderer2D::StartBatch().
|
static |
Referenced by Muto::WindowsWindow::Init().
|
static |
TODO: Get the actual maximum size from the GPU!