|
Aeon Engine c550894
AeonGames Open Source Game Engine
|
<- This is here just for the literals More...
Namespaces | |
| namespace | to_string_namespace |
| Internal namespace for ADL-based to_string resolution. | |
Classes | |
| class | AABB |
| Axis Aligned Bounding Box class. More... | |
| class | Animation |
| Stores skeletal animation data including keyframes and bone transforms. More... | |
| class | Archive |
| Key-value archive that owns stored objects of type T, keyed by K. More... | |
| class | ArchiveAny |
| Type-erased key-value archive that stores UniqueAnyPtr values. More... | |
| class | Buffer |
| Abstract interface for GPU/memory buffer operations. More... | |
| class | BufferAccessor |
| Provides access to a region within a memory pool buffer. More... | |
| class | Clock |
| High-resolution clock for timing and frame rate management. More... | |
| class | Component |
| Abstract base class for node components. More... | |
| class | Container |
| Owning container that stores uniquely-owned objects of type T. More... | |
| class | DependencyMap |
| A dependency-aware associative container that stores elements in topologically sorted order. More... | |
| class | FlyWeight |
| Flyweight pattern implementation that stores shared objects keyed by a unique identifier. More... | |
| class | FrameBuffer |
| Abstract interface for off-screen render target (frame buffer) resources. More... | |
| class | Frustum |
| View frustum defined by six clipping planes, extracted from a projection (or view-projection) matrix. More... | |
| class | Material |
| Represents a surface material with uniform properties and texture samplers. More... | |
| class | Matrix3x3 |
| 3 by 3 matrix in colum mayor order. More... | |
| class | Matrix4x4 |
| 4 by 4 matrix in colum mayor order. More... | |
| class | MemoryPool |
| This is a modification of the implementation in the "Fast Efficient Fixed-Size Memory Pool" paper by Ben Kenwright. More... | |
| class | MemoryPoolBuffer |
| Abstract interface for a pool-based buffer allocator. More... | |
| class | Mesh |
| Represents a polygon mesh with vertex attributes and index data. More... | |
| class | Model |
| Represents a 3D model composed of assemblies (pipeline, material, mesh), a skeleton, and animations. More... | |
| class | Node |
| Scene graph node representing an entity in the game world. More... | |
| class | Octree |
| Spatial partitioning data structure that organizes nodes in 3D space. More... | |
| struct | PKGHeader |
| Header for PKG Files. More... | |
| struct | PKGDirectoryEntry |
| Directory entry describing a single file within a PKG package. More... | |
| class | Package |
| Package Class. Implements PKG file handling routines and management. More... | |
| class | Pipeline |
| Rendering pipeline resource. More... | |
| class | Plane |
| Plane class. More... | |
| class | BufferInputStream |
| Zero-copy input stream that reads from a raw memory buffer. More... | |
| class | Quaternion |
| Quaternion class. More... | |
| class | Renderer |
| Abstract base class for rendering backends. More... | |
| class | Resource |
| Base class for loadable engine resources. More... | |
| class | ResourceId |
| Identifies a resource by its type and path CRC32 hashes. More... | |
| class | Scene |
| Scene class. Scene is the container for all elements in a game level, takes care of collision, rendering and updates to all elements therein. More... | |
| class | Skeleton |
| Skeletal animation resource containing a hierarchy of joints. More... | |
| class | Sound |
| Abstract base class representing a decoded sound resource. More... | |
| class | SoundSystem |
| Abstract interface for a platform sound system back-end. More... | |
| class | StringId |
| CRC-based compile-time string identifier. More... | |
| class | Texture |
| Represents a 2D texture image resource. More... | |
| class | Transform |
| Component class for any object that requires space transformations. More... | |
| class | UniqueAnyPtr |
| A type-erased owning smart pointer with unique ownership semantics. More... | |
| class | OptionHandler |
| Command-line option handler. More... | |
| class | Vector2 |
| 2D vector class. More... | |
| class | Vector3 |
| 3D vector class. More... | |
| class | Vector4 |
| 4D vector class. More... | |
| class | Camera |
| Camera component providing perspective projection parameters for a scene node. More... | |
| class | ModelComponent |
| Component that attaches a 3D model with skeletal animation support to a scene node. More... | |
| class | PointLight |
| Point light component representing an omnidirectional light source. More... | |
| struct | always_false |
| struct | png_read_memory_struct |
| Helper struct for reading PNG data from memory. More... | |
| class | Configuration |
| Loads and stores engine configuration from a protobuf file. More... | |
| class | Decoder |
| Template class that dispatches decoding of binary data to registered format-specific decoders. More... | |
| class | Factory |
| Generic factory that registers and invokes named constructors for a given type. More... | |
| class | OpenGLBuffer |
| OpenGL GPU buffer wrapper implementing the Buffer interface. More... | |
| class | OpenGLFrameBuffer |
| OpenGL framebuffer object for off-screen rendering. More... | |
| class | OpenGLMaterial |
| OpenGL material binding handler for shader uniforms and textures. More... | |
| class | OpenGLMemoryPoolBuffer |
| OpenGL memory pool buffer for transient per-frame uniform allocations. More... | |
| class | OpenGLMesh |
| OpenGL mesh wrapper managing vertex and index buffers. More... | |
| class | OpenGLPipeline |
| OpenGL shader program pipeline with attribute and uniform reflection. More... | |
| class | OpenGLRenderer |
| OpenGL rendering backend implementing the Renderer interface. More... | |
| class | OpenGLTexture |
| OpenGL texture resource wrapper. More... | |
| struct | OpenGLUniformBlock |
| Describes an OpenGL uniform block with its binding and member variables. More... | |
| struct | OpenGLVariable |
| Describes an OpenGL shader variable with its location and type. More... | |
| struct | OpenGLSamplerLocation |
| Maps a sampler name hash to its OpenGL uniform location. More... | |
| class | OpenGLWindow |
| OpenGL per-window rendering context and state. More... | |
| class | CompilerLinker |
| Compiles and links GLSL shaders into SPIR-V bytecode. More... | |
| class | VulkanBuffer |
| Vulkan GPU buffer wrapper implementing the Buffer interface. More... | |
| struct | VulkanDescriptorSetInfo |
| Holds Vulkan descriptor set layout metadata for pipeline reflection. More... | |
| class | VulkanFrameBuffer |
| Vulkan framebuffer object for off-screen rendering. More... | |
| class | VulkanMaterial |
| Vulkan material binding handler for descriptor sets and uniforms. More... | |
| class | VulkanMemoryPoolBuffer |
| Vulkan memory pool buffer for transient per-frame uniform allocations. More... | |
| class | VulkanMesh |
| Vulkan mesh wrapper managing vertex and index buffer resources. More... | |
| class | VulkanPipeline |
| Vulkan graphics pipeline with descriptor set and push constant reflection. More... | |
| class | VulkanRenderer |
| Vulkan rendering backend implementing the Renderer interface. More... | |
| class | VulkanTexture |
| Vulkan texture resource wrapper with image and descriptor management. More... | |
| class | VulkanWindow |
| Vulkan per-window swapchain, render pass, and rendering state. More... | |
| class | OggSound |
| Sound implementation for OGG Vorbis audio files. More... | |
| class | PortAudioSoundSystem |
| Sound system implementation using the PortAudio library. More... | |
| class | Base64 |
| Tool for Base64 encoding and decoding of files. More... | |
| class | CodeFieldValuePrinter |
| Custom protobuf field value printer for code-formatted text output. More... | |
| class | VertexBufferFieldValuePrinter |
| Custom field value printer for vertex buffer data. More... | |
| class | IndexBufferFieldValuePrinter |
| Custom field value printer for index buffer data. More... | |
| class | Convert |
| Tool for converting between binary and text asset formats. More... | |
| class | Pack |
| Tool for packing and unpacking game asset packages. More... | |
| class | PipelineTool |
| Tool for processing pipeline asset files. More... | |
| class | Tool |
| Abstract base class for command-line tools. More... | |
| class | CameraSettings |
| Dialog for adjusting camera projection settings. More... | |
| class | PropertyDelegate |
| Custom item delegate for editing component properties in views. More... | |
| class | EngineWindow |
| Rendering window that hosts the engine viewport. More... | |
| class | MainWindow |
| Main window of the world editor application. More... | |
| class | ComponentListModel |
| List model that enumerates the components attached to a node. More... | |
| class | ComponentModel |
| Item model for editing a single component's properties. More... | |
| class | ListModel |
| Abstract list model base class associated with a scene node. More... | |
| class | PropertyModel |
| Abstract item model base class for property editing views. More... | |
| class | SceneModel |
| Item model representing a scene's node tree for Qt views. More... | |
| class | NodeView |
| Custom widget for visual node graph editing. More... | |
| class | NodeWindow |
| Widget for displaying and editing node properties. More... | |
| class | RendererSelectDialog |
| Dialog for selecting a rendering backend. More... | |
| class | SceneWindow |
| Widget for editing and managing a scene and its node hierarchy. More... | |
| class | SettingsDialog |
| Dialog for configuring application settings. More... | |
| class | WorldEditor |
| Main application class for the world editor. More... | |
Typedefs | |
| using | NodeParent = std::variant<Node*, Scene*> |
| Variant type representing a node's parent (either a Node or a Scene). | |
| using | Property |
| A variant type that can hold any commonly used property value. | |
Enumerations | |
| enum class | LogLevel { Debug = 0 , Info , Performance , Warning , Error } |
| Severity levels for engine log messages. More... | |
| enum | PKGCompressionTypes { NONE = 0 , ZLIB } |
| Compression types supported by PKG packages. More... | |
| enum | Topology { UNDEFINED = 0 , POINT_LIST , LINE_STRIP , LINE_LIST , TRIANGLE_STRIP , TRIANGLE_FAN , TRIANGLE_LIST , LINE_LIST_WITH_ADJACENCY , LINE_STRIP_WITH_ADJACENCY , TRIANGLE_LIST_WITH_ADJACENCY , TRIANGLE_STRIP_WITH_ADJACENCY , PATCH_LIST } |
| Primitive topology types for rendering. More... | |
| enum | ShaderType { VERT = 0 , FRAG , COMP , TESC , TESE , GEOM , COUNT } |
| Shader stage types. More... | |
Functions | |
| DLL bool | InitializeGlobalEnvironment (int argc=0, char *argv[]=nullptr) |
| Initialize the global engine environment. | |
| DLL void | FinalizeGlobalEnvironment () |
| Shut down the global engine environment and release resources. | |
| DLL std::vector< std::string > | GetResourcePath () |
| Get the list of resource search paths. | |
| DLL void | SetResourcePath (const std::vector< std::string > &aPath) |
| Set the list of resource search paths. | |
| DLL size_t | GetResourceSize (uint32_t crc) |
| DLL size_t | GetResourceSize (const std::string &aFileName) |
| DLL std::string | GetResourcePath (uint32_t crc) |
| DLL void | LoadResource (uint32_t crc, void *buffer, size_t buffer_size) |
| DLL void | LoadResource (const std::string &aFileName, void *buffer, size_t buffer_size) |
| DLL std::string | Base64Encode (const uint8_t *aData, size_t aDataSize, bool aSplit=true) |
| Encode a binary string. | |
| DLL std::string | Base64Decode (const uint8_t *aData, size_t aDataSize) |
| Decode a base64 string. | |
| DLL std::string | Base64Encode (std::string_view aData) |
| Encode a string_view as base64. | |
| DLL std::string | Base64Decode (std::string_view aData) |
| Decode a base64 string_view. | |
| std::ostream & | operator<< (std::ostream &os, LogLevel level) |
| Inserts a color-coded log level tag into an output stream. | |
| DLL size_t | GetUniformValueSize (const Material::UniformValue &aValue) |
| Get the byte size of a uniform value. | |
| DLL const void * | GetUniformValuePointer (const Material::UniformValue &aValue) |
| Get a pointer to the raw data of a uniform value. | |
| DLL const Matrix3x3 | operator* (const Matrix3x3 &lhs, const Matrix3x3 &rhs) |
| Multiplies two 3x3 matrices. Multiplies two 3x3 matrices. | |
| DLL const Vector3 | operator* (const Matrix3x3 &lhs, const Vector3 &rhs) |
| Multiply a 3x3 matrix by a 3D vector. | |
| DLL const bool | operator== (const Matrix3x3 &lhs, const Matrix3x3 &rhs) |
| Compare two 3x3 matrices for equality. | |
| DLL const Matrix3x3 | Abs (const Matrix3x3 &aMatrix3x3) |
| Compute the element-wise absolute value of a matrix. | |
| DLL const Matrix4x4 | operator* (const Matrix4x4 &lhs, const Matrix4x4 &rhs) |
| Multiplies two 4x4 matrices. Multiplies two 4x4 matrices. | |
| DLL const Vector3 | operator* (const Matrix4x4 &lhs, const Vector3 &rhs) |
| Multiply a 4x4 matrix by a 3D vector. | |
| DLL const bool | operator== (const Matrix4x4 &lhs, const Matrix4x4 &rhs) |
| Compare two 4x4 matrices for equality. | |
| DLL const Matrix4x4 | Abs (const Matrix4x4 &aMatrix4x4) |
| Compute the element-wise absolute value of a matrix. | |
| DLL std::ostream & | operator<< (std::ostream &os, const Matrix4x4 &aMatrix) |
| Stream output operator for a 4x4 matrix. | |
| constexpr const std::size_t | operator""_kb (unsigned long long int aKyloBytes) |
| User-defined literal for kilobytes. | |
| constexpr const std::size_t | operator""_mb (unsigned long long int aMegaBytes) |
| User-defined literal for megabytes. | |
| constexpr const std::size_t | operator""_gb (unsigned long long int aGigaBytes) |
| User-defined literal for gigabytes. | |
| DLL size_t | GetAttributeTotalSize (const Mesh::AttributeTuple &aAttributeTuple) |
| Compute the total byte size of a single vertex attribute. | |
| Node * | GetNodePtr (const NodeParent &aNodeParent) |
| Extract the Node pointer from a NodeParent variant. | |
| Scene * | GetScenePtr (const NodeParent &aNodeParent) |
| Extract the Scene pointer from a NodeParent variant. | |
| constexpr uint64_t | operator""_mgk (const char *literal, const std::size_t) noexcept |
| User-defined literal operator that converts an 8-character string to a uint64_t magic number. | |
| template<class T> | |
| void | LoadProtoBufObject (T &t, const void *aData, size_t aSize, uint64_t aMagick) |
| Loads a Protocol Buffer Object from a meory buffer into the provided reference. | |
| template<class T> | |
| T | LoadProtoBufObject (const void *aData, size_t aSize, uint64_t aMagick) |
| Loads a Protocol Buffer Object from a memory buffer. | |
| template<class T> | |
| void | LoadProtoBufObject (T &t, const std::string &aFilename, uint64_t aMagick) |
| Loads a Protocol Buffer Object from an AeonGames file into the provided reference. | |
| template<class T> | |
| T | LoadProtoBufObject (const std::string &aFilename, uint64_t aMagick) |
| Loads a Protocol Buffer Object from an AeonGames file. | |
| template<class T, class U, uint64_t Magick> | |
| void | LoadFromProtoBufObject (T &aTarget, const void *aBuffer, size_t aBufferSize) |
| Loads a Protocol Buffer message from a buffer and populates a target object. | |
| DLL uint32_t | GetReferenceMsgId (const ReferenceMsg &reference_buffer) |
| Retrieve the identifier from a ReferenceMsg. | |
| DLL uint32_t | GetAttributes (const PipelineMsg &aPipelineMsg) |
| Get the packed attribute flags from a pipeline message. | |
| DLL std::string | GetAttributesGLSL (const PipelineMsg &aPipelineMsg) |
| Generate GLSL attribute declarations from a pipeline message. | |
| DLL std::string | GetPropertiesGLSL (const PipelineMsg &aPipelineMsg) |
| Generate GLSL property/uniform declarations from a pipeline message. | |
| Vector3 | GetVector3 (const Vector3Msg &aVector3) |
| Convert a Vector3Msg protobuf message to a Vector3. | |
| Quaternion | GetQuaternion (const QuaternionMsg &aQuaternion) |
| Convert a QuaternionMsg protobuf message to a Quaternion. | |
| Transform | GetTransform (const TransformMsg &aTransform) |
| Convert a TransformMsg protobuf message to a Transform. | |
| Property | GetProperty (const ComponentPropertyMsg &aComponentPropertyMsg) |
| Convert a ComponentPropertyMsg protobuf message to a Property. | |
| size_t | GetUniformBufferSize (const PipelineMsg &aPipelineMsg) |
| Calculate the uniform buffer size required by a pipeline. | |
| DLL Material::UniformKeyValue | PropertyToKeyValue (const PropertyMsg &aProperty) |
| Convert a PropertyMsg to a Material uniform key-value pair. | |
| DLL const Quaternion | operator* (const Quaternion &lhs, const Quaternion &rhs) |
| Multiply two quaternions. | |
| DLL const Vector3 | operator* (const Quaternion &lhs, const Vector3 &rhs) |
| Rotate a 3D vector by a quaternion. | |
| DLL bool | operator== (const Quaternion &lhs, const Quaternion &rhs) |
| Compare two quaternions for equality. | |
| DLL const Quaternion | LerpQuats (const Quaternion &q1, const Quaternion &q2, double interpolation) |
| Linearly interpolate between two quaternions. | |
| DLL const Quaternion | NlerpQuats (const Quaternion &q1, const Quaternion &q2, double interpolation) |
| Linearly interpolate between two quaternions return the normalized result. | |
| DLL const Quaternion | SlerpQuats (const Quaternion &q1, const Quaternion &q2, float interpolation) |
| Spherical Linear interpolation between two quaternions. | |
| DLL size_t | GetNextConsecutiveId () |
| Returns the next available consecutive resource identifier. | |
| DLL void | ClearAllResources () |
| Remove all resources from the cache. | |
| DLL void | EnumerateResources (const std::function< bool(uint32_t, const UniqueAnyPtr &) > &aEnumerator) |
| Enumerate all cached resources. | |
| DLL const UniqueAnyPtr & | StoreResource (uint32_t aKey, UniqueAnyPtr &&pointer) |
| Store a resource in the cache. | |
| DLL UniqueAnyPtr | DisposeResource (uint32_t aKey) |
| Remove and return a resource from the cache. | |
| DLL const UniqueAnyPtr & | GetResource (uint32_t aKey) |
| Retrieve a cached resource by key. | |
| DLL const UniqueAnyPtr & | GetResource (const ResourceId &aResourceId) |
| Retrieve a cached resource by ResourceId, constructing it if absent. | |
| DLL UniqueAnyPtr | ConstructResource (const ResourceId &aResourceId) |
| Construct a resource identified by a ResourceId. | |
| DLL const UniqueAnyPtr & | GetDefaultResource (uint32_t aType) |
| Get the default resource for a given type. | |
| DLL bool | RegisterResourceConstructor (uint32_t aType, const std::function< UniqueAnyPtr(uint32_t) > &aConstructor, UniqueAnyPtr &&aDefaultResource=nullptr) |
| Register a constructor for a resource type. | |
| DLL bool | UnregisterResourceConstructor (uint32_t aType) |
| Unregister a resource constructor. | |
| DLL void | EnumerateResourceConstructors (const std::function< bool(uint32_t) > &aEnumerator) |
| Enumerate all registered resource constructors. | |
| template<class T> | |
| std::string | to_string (T &&t) |
| Generic to_string using ADL to find the best overload. | |
| template<class T> | |
| std::string | ToString (const T &t) |
| Convert an arbitrary type to its hex byte string representation. | |
| template<> | |
| std::string | ToString (const int &t) |
| Specialization of ToString for int. | |
| template<> | |
| std::string | ToString (const long &t) |
| Specialization of ToString for long. | |
| template<> | |
| std::string | ToString (const long long &t) |
| Specialization of ToString for long long. | |
| template<> | |
| std::string | ToString (const unsigned &t) |
| Specialization of ToString for unsigned int. | |
| template<> | |
| std::string | ToString (const unsigned long &t) |
| Specialization of ToString for unsigned long. | |
| template<> | |
| std::string | ToString (const unsigned long long &t) |
| Specialization of ToString for unsigned long long. | |
| template<> | |
| std::string | ToString (const float &t) |
| Specialization of ToString for float. | |
| template<> | |
| std::string | ToString (const double &t) |
| Specialization of ToString for double. | |
| DLL const Transform | operator* (const Transform &lhs, const Transform &rhs) |
| Combine two transforms. | |
| DLL const AABB | operator* (const Transform &lhs, const AABB &rhs) |
| Transform an axis-aligned bounding box. | |
| DLL const bool | operator== (const Transform &lhs, const Transform &rhs) |
| Compare two transforms for equality. | |
| DLL const Transform | Interpolate (const Transform &aTransform0, const Transform &aTransform1, const Transform &aTransform2, const Transform &aTransform3, double aInterpolation) |
| Interpolate transforms using spline and mlerp methods. | |
| template<typename T, typename... Ts> | |
| UniqueAnyPtr | MakeUniqueAny (Ts &&... params) |
| Creates a UniqueAnyPtr owning a new instance of T. | |
| DLL const std::string | GetFileExtension (const std::string &aFilePath) |
| Extract the file extension from a file path. | |
| DLL bool | FileExists (const std::string &aFilePath) |
| Check whether a file exists at the given path. | |
| constexpr uint32_t | ffs (uint32_t value) |
| Find the index of the first set bit using a De Bruijn sequence. | |
| constexpr uint32_t | popcount (uint32_t v) |
| Count the number of set bits in a 32-bit unsigned integer. | |
| template<class T, class U> | |
| const T | Concatenate (const T &aFirst, U &aSecond) |
| Concatenate two containers. | |
| DLL void | ProcessOpts (int argc, char *argv[], const OptionHandler *aOptionHandler, size_t aOptionHandlerCount) |
| Process command-line options. | |
| DLL bool | operator== (const Vector2 &aLhs, const Vector2 &aRhs) |
| Equality comparison operator. | |
| DLL const Vector3 | operator- (const Vector3 &aLhs, const Vector3 &aRhs) |
| Subtraction operator. | |
| DLL const Vector3 | operator+ (const Vector3 &aLhs, const Vector3 &aRhs) |
| Addition operator. | |
| DLL const Vector3 | operator* (const Vector3 &aLhs, const float aRhs) |
| Scalar multiplication operator (vector * scalar). | |
| DLL const Vector3 | operator/ (const Vector3 &aLhs, const float aRhs) |
| Scalar division operator. | |
| DLL const Vector3 | operator* (const float aLhs, const Vector3 &aRhs) |
| Scalar multiplication operator (scalar * vector). | |
| DLL const Vector3 | operator* (const Vector3 &aLhs, const Vector3 &aRhs) |
| Component-wise multiplication operator. | |
| DLL bool | operator!= (const Vector3 &aLhs, const Vector3 &aRhs) |
| Inequality comparison operator. | |
| DLL bool | operator== (const Vector3 &aLhs, const Vector3 &aRhs) |
| Equality comparison operator. | |
| DLL const Vector3 | Cross (const Vector3 &aLhs, const Vector3 &aRhs) |
| Compute the cross product of two vectors. | |
| DLL const float | Dot (const Vector3 &aLhs, const Vector3 &aRhs) |
| Compute the dot product of two vectors. | |
| DLL const Vector3 | Normalize (const Vector3 &aVector) |
| Return a normalized (unit length) copy of the vector. | |
| DLL const Vector3 | Abs (const Vector3 &aVector) |
| Return a vector with all components replaced by their absolute values. | |
| DLL const Vector3 | Spline (const Vector3 &p0, const Vector3 &p1, const Vector3 &p2, const Vector3 &p3, double interpolation) |
| Catmull-Rom spline interpolation between four control points. | |
| DLL bool | operator== (const Vector4 &aLhs, const Vector4 &aRhs) |
| Equality comparison operator. | |
| FactoryImplementation (Component) | |
| Factory implementation for Component. | |
| uint32_t | crc32i (const char *message, size_t size, uint32_t previous_crc) |
| Compute the CRC32 of a given message, continuing from a previous CRC value. | |
| uint64_t | crc64i (const char *message, size_t size, uint64_t previous_crc) |
| Compute the CRC64 of a given message, continuing from a previous CRC value. | |
| LoopTraverseDFSPreOrder (const) LoopTraverseDFSPreOrder() Node *Node | |
| Const version generated by LoopTraverseDFSPreOrder macro. | |
| FactoryImplementation1Arg (Renderer, void *) | |
| Factory implementation for Renderer with a window argument. | |
| bool | DecodeSound (Sound &aSound, const void *aBuffer, size_t aBufferSize) |
| Decode sound data from a memory buffer. | |
| FactoryImplementation (SoundSystem) | |
| Factory implementation for SoundSystem. | |
| bool | DecodePNG (Texture &aTexture, size_t aBufferSize, const void *aBuffer) |
| Decodes PNG image data from a memory buffer into a Texture. | |
| template<class T, typename... Types> | |
| std::unique_ptr< T > | Construct (uint32_t aIdentifier, Types... args) |
| Free function template that constructs an object by numeric identifier. | |
| template<class T, typename... Types> | |
| std::unique_ptr< T > | Construct (const std::string &aIdentifier, Types... args) |
| Free function template that constructs an object by string identifier. | |
| template<class T, typename... Types> | |
| std::unique_ptr< T > | Construct (const StringId &aIdentifier, Types... args) |
| Free function template that constructs an object by StringId. | |
| template<class T, typename... Types> | |
| bool | RegisterConstructor (const StringId &aIdentifier, const std::function< std::unique_ptr< T >(Types... args) > &aConstructor) |
| Free function template that registers a constructor. | |
| template<class T, typename... Types> | |
| bool | UnregisterConstructor (const StringId &aIdentifier) |
| Free function template that unregisters a constructor. | |
| template<class T, typename... Types> | |
| void | EnumerateConstructors (const std::function< bool(const StringId &) > &aEnumerator) |
| Free function template that enumerates all registered constructors. | |
| template<class T, typename... Types> | |
| std::vector< std::string > | GetConstructorNames () |
| Free function template that returns all registered constructor names. | |
| bool | LoadOpenGLAPI () |
| Load all OpenGL function pointers and log driver information. | |
| bool | operator!= (const VkDescriptorSetLayoutBinding &a, const SpvReflectDescriptorBinding &b) |
| Compare a VkDescriptorSetLayoutBinding with a SpvReflectDescriptorBinding for inequality. | |
| const char * | GetVulkanResultString (VkResult aResult) |
| Convert a VkResult code to a human-readable string. | |
| VKAPI_ATTR VkBool32 VKAPI_CALL | DebugCallback (VkDebugUtilsMessageSeverityFlagBitsEXT aMessageSeverity, VkDebugUtilsMessageTypeFlagsEXT aMessageTypes, const VkDebugUtilsMessengerCallbackDataEXT *aCallbackData, void *aUserData) |
| Vulkan debug messenger callback. | |
| VkDescriptorPool | CreateDescriptorPool (const VkDevice &aVkDevice, const std::vector< VkDescriptorPoolSize > &aVkDescriptorPoolSizes) |
| Create a Vulkan descriptor pool from the given pool sizes. | |
| void | DestroyDescriptorPool (const VkDevice &aVkDevice, VkDescriptorPool aVkDescriptorPool) |
| Destroy a Vulkan descriptor pool. | |
| VkDescriptorSet | CreateDescriptorSet (const VkDevice &aVkDevice, const VkDescriptorPool &aVkDescriptorPool, const VkDescriptorSetLayout &aVkDescriptorSetLayout, uint32_t aDescriptorSetCount) |
| Allocate a Vulkan descriptor set from the given pool and layout. | |
| bool | DecodeOGG (Sound &aSound, size_t aBufferSize, const void *aBuffer) |
| Decodes OGG Vorbis audio data from a memory buffer into a Sound. | |
| uint32_t | GetStride (const MeshMsg &aMeshMsg) |
| Compute the stride in bytes for a single vertex. | |
| std::string | GetVertexBufferRegexPattern (const MeshMsg &aMeshMsg) |
| Build a regex pattern string matching a single vertex. | |
| template<class T> | |
| const uint8_t * | Print (const uint8_t *cursor, std::ostringstream &stream, uint32_t count) |
| Print vertex attribute values from a raw byte cursor. | |
| template<class T> | |
| size_t | Parse (size_t index, const std::smatch &match_results, std::string &vertex_buffer, size_t count) |
| Parse attribute values from regex match results into a vertex buffer string. | |
| std::string | ParseVertexBuffer (const MeshMsg &aMeshMsg) |
| std::string | ParseIndexBuffer (const MeshMsg &aMeshMsg) |
| Parse an index buffer from a mesh message. | |
| int | write_deflated_data (FILE *source, FILE *dest, int level, uint32_t &compressed_size) |
| Compress data from source file to dest file using deflate. | |
| template<class T> | |
| QWidget * | BuildSpinboxEditor (QWidget *parent) |
| Build a QSpinBox editor widget configured for type T. | |
| template<class T> | |
| void | SetSpinboxEditorValue (QWidget *editor, const QVariant &value) |
| Set the value of a QSpinBox editor from a QVariant. | |
| template<class T> | |
| void | SetSpinboxModelData (QWidget *editor, QAbstractItemModel *model, const QModelIndex &index) |
| Commit a QSpinBox editor value to the item model. | |
Factory Functions | |
| DLL std::unique_ptr< Component > | ConstructComponent (uint32_t aIdentifier) |
| Construct a component from a numeric identifier. | |
| DLL std::unique_ptr< Component > | ConstructComponent (const std::string &aIdentifier) |
| Construct a component from a string name. | |
| DLL std::unique_ptr< Component > | ConstructComponent (const StringId &aIdentifier) |
| Construct a component from a StringId. | |
| DLL bool | RegisterComponentConstructor (const StringId &aIdentifier, const std::function< std::unique_ptr< Component >() > &aConstructor) |
| Registers a Component loader for a specific identifier. | |
| DLL bool | UnregisterComponentConstructor (const StringId &aIdentifier) |
| Unregisters a Component loader for a specific identifier. | |
| DLL void | EnumerateComponentConstructors (const std::function< bool(const StringId &) > &aEnumerator) |
| Enumerates Component loader identifiers via an enumerator functor. | |
| DLL std::unique_ptr< Renderer > | ConstructRenderer (uint32_t aIdentifier, void *aWindow) |
| Constructs a Renderer identified by a numeric identifier. | |
| DLL std::unique_ptr< Renderer > | ConstructRenderer (const std::string &aIdentifier, void *aWindow) |
| Constructs a Renderer identified by a string name. | |
| DLL std::unique_ptr< Renderer > | ConstructRenderer (const StringId &aIdentifier, void *aWindow) |
| Constructs a Renderer identified by a StringId. | |
| DLL bool | RegisterRendererConstructor (const StringId &aIdentifier, const std::function< std::unique_ptr< Renderer >(void *) > &aConstructor) |
| Registers a Renderer loader for a specific identifier. | |
| DLL bool | UnregisterRendererConstructor (const StringId &aIdentifier) |
| Unregisters a Renderer loader for a specific identifier. | |
| DLL void | EnumerateRendererConstructors (const std::function< bool(const StringId &) > &aEnumerator) |
| Enumerates Renderer loader identifiers via an enumerator functor. | |
| DLL std::vector< std::string > | GetRendererConstructorNames () |
| Returns the names of all registered Renderer constructors. | |
| DLL std::unique_ptr< SoundSystem > | ConstructSoundSystem (const StringId &aIdentifier) |
| Construct a SoundSystem back-end for the given identifier. | |
| DLL bool | RegisterSoundSystemConstructor (const StringId &aIdentifier, const std::function< std::unique_ptr< SoundSystem >() > &aConstructor) |
| Registers a SoundSystem loader for a specific identifier. | |
| DLL bool | UnregisterSoundSystemConstructor (const StringId &aIdentifier) |
| Unregisters a SoundSystem loader for a specific identifier. | |
| DLL void | EnumerateSoundSystemConstructors (const std::function< bool(const StringId &) > &aEnumerator) |
| Enumerates SoundSystem loader identifiers via an enumerator functor. | |
Decoder Functions | |
| DLL bool | RegisterSoundDecoder (const std::string &aMagick, const std::function< bool(Sound &, size_t, const void *) > &aDecoder) |
| Register a sound decoder for the given magic identifier. | |
| DLL bool | UnregisterSoundDecoder (const std::string &aMagick) |
| Unregister a previously registered sound decoder. | |
| DLL bool | DecodeSound (Sound &aSound, size_t aBufferSize, const void *aBuffer) |
| Decode sound data from a memory buffer. | |
| DLL bool | DecodeSound (Sound &aSound, const std::string &aFileName) |
| Decode sound data from a file. | |
| DLL bool | RegisterImageDecoder (const std::string &aMagick, const std::function< bool(Texture &, size_t, const void *) > &aDecoder) |
| Registers an image decoder for a specific file magic identifier. | |
| DLL bool | UnregisterImageDecoder (const std::string &aMagick) |
| Unregisters a previously registered image decoder. | |
| DLL bool | DecodeImage (Texture &aTexture, const void *aBuffer, size_t aBufferSize) |
| Decodes image data from a memory buffer into a Texture. | |
| DLL bool | DecodeImage (Texture &aTexture, const std::string &aFileName) |
| Decodes an image file into a Texture. | |
Variables | |
| template<class Key, class Value> | |
| std::unordered_map< Key, FlyWeight< Key, Value > * > | FlyWeight< Key, Value >::mStore {} |
| Global store mapping keys to FlyWeight instances. | |
| const std::unordered_map< ShaderType, const char * > | ShaderTypeToString |
| Map from ShaderType enum values to human-readable string names. | |
| constexpr uint32_t | DeBruijnSequence [32] |
| De Bruijn lookup table used by ffs(). | |
| const std::array< OptionHandler, 1 > | gOptionHandlers |
| Array of command-line option handlers. | |
| const GLchar | vertex_shader_code [] |
| Overlay vertex shader GLSL source code. | |
| const GLint | vertex_shader_len { sizeof(vertex_shader_code) } |
| Length of the overlay vertex shader source. | |
| const GLchar *const | vertex_shader_code_ptr = vertex_shader_code |
| Pointer to the overlay vertex shader source. | |
| const GLchar | fragment_shader_code [] |
| Overlay fragment shader GLSL source code. | |
| const GLint | fragment_shader_len { sizeof(fragment_shader_code) } |
| Length of the overlay fragment shader source. | |
| const GLchar *const | fragment_shader_code_ptr = fragment_shader_code |
| Pointer to the overlay fragment shader source. | |
| const float | vertices [] |
| Overlay screen-quad vertex data (positions and texture coordinates). | |
| constexpr GLuint | vertex_size {sizeof(vertices)} |
| Total byte size of the overlay vertex data. | |
| std::array< EShLanguage, ShaderType::COUNT > | ShaderTypeToEShLanguage |
| Mapping from ShaderType to glslang EShLanguage. | |
| std::array< VkShaderStageFlagBits, ShaderType::COUNT > | ShaderTypeToShaderStageFlagBit |
| Mapping from ShaderType to VkShaderStageFlagBits. | |
| const std::unordered_map< const char *, std::function< std::string *(PipelineMsg *) > > | ShaderTypeToExtension |
| Map from shader file extension to its mutable PipelineMsg accessor. | |
| const std::unordered_map< const char *, std::function< const std::string &(const PipelineMsg *) > > | ShaderTypeToGetter |
| Map from shader file extension to its const PipelineMsg getter. | |
<- This is here just for the literals
| using AeonGames::NodeParent = std::variant<Node*, Scene*> |
| using AeonGames::Property |
A variant type that can hold any commonly used property value.
Supports integral types, floating-point types, strings, and filesystem paths.
Definition at line 31 of file Property.hpp.
|
strong |
Severity levels for engine log messages.
Definition at line 27 of file LogLevel.hpp.
Compression types supported by PKG packages.
| Enumerator | |
|---|---|
| NONE | No compression. |
| ZLIB | ZLIB compression. |
Definition at line 32 of file Package.hpp.
Shader stage types.
| Enumerator | |
|---|---|
| VERT | Vertex shader. |
| FRAG | Fragment shader. |
| COMP | Compute shader. |
| TESC | Tessellation control shader. |
| TESE | Tessellation evaluation shader. |
| GEOM | Geometry shader. |
| COUNT | Number of shader types. |
Definition at line 95 of file Pipeline.hpp.
| enum AeonGames::Topology |
Primitive topology types for rendering.
Definition at line 37 of file Pipeline.hpp.
Compute the element-wise absolute value of a matrix.
| aMatrix3x3 | The input matrix. |
Definition at line 143 of file Matrix3x3.cpp.
Compute the element-wise absolute value of a matrix.
| aMatrix4x4 | The input matrix. |
Definition at line 226 of file Matrix4x4.cpp.
Return a vector with all components replaced by their absolute values.
| aVector | Input vector. |
Definition at line 266 of file Vector3.cpp.
| std::string AeonGames::Base64Decode | ( | const uint8_t * | aData, |
| size_t | aDataSize ) |
Decode a base64 string.
| aData | The base64 string. |
| aDataSize | The size of the base64 string. |
Definition at line 68 of file Base64.cpp.
| std::string AeonGames::Base64Decode | ( | std::string_view | aData | ) |
Decode a base64 string_view.
| aData | The base64 string to decode. |
Definition at line 105 of file Base64.cpp.
| std::string AeonGames::Base64Encode | ( | const uint8_t * | aData, |
| size_t | aDataSize, | ||
| bool | aSplit = true ) |
Encode a binary string.
| aData | The string to be encoded. |
| aDataSize | The size of the string. |
| aSplit | Whether the resulting string should be split each 76 characters. |
Definition at line 26 of file Base64.cpp.
| std::string AeonGames::Base64Encode | ( | std::string_view | aData | ) |
Encode a string_view as base64.
| aData | The data to encode. |
Definition at line 100 of file Base64.cpp.
| QWidget * AeonGames::BuildSpinboxEditor | ( | QWidget * | parent | ) |
Build a QSpinBox editor widget configured for type T.
| T | Numeric type determining min/max range. |
| parent | Parent widget. |
Definition at line 34 of file PropertyDelegate.cpp.
| void AeonGames::ClearAllResources | ( | ) |
Remove all resources from the cache.
Definition at line 25 of file ResourceCache.cpp.
| const T AeonGames::Concatenate | ( | const T & | aFirst, |
| U & | aSecond ) |
Concatenate two containers.
| T | Type of the first container (also the return type). |
| U | Type of the second container. |
| aFirst | The first container. |
| aSecond | The second container to append. |
Definition at line 148 of file Utilities.hpp.
| std::unique_ptr< T > AeonGames::Construct | ( | const std::string & | aIdentifier, |
| Types... | args ) |
| std::unique_ptr< T > AeonGames::Construct | ( | const StringId & | aIdentifier, |
| Types... | args ) |
| std::unique_ptr< T > AeonGames::Construct | ( | uint32_t | aIdentifier, |
| Types... | args ) |
Free function template that constructs an object by numeric identifier.
| T | The type to construct. |
| Types | Additional argument types. |
| aIdentifier | CRC32 identifier. |
| args | Constructor arguments. |
| DLL std::unique_ptr< Component > AeonGames::ConstructComponent | ( | const std::string & | aIdentifier | ) |
Construct a component from a string name.
| aIdentifier | String name of the component type. |
| DLL std::unique_ptr< Component > AeonGames::ConstructComponent | ( | uint32_t | aIdentifier | ) |
Construct a component from a numeric identifier.
| aIdentifier | Numeric identifier of the component type. |
| DLL std::unique_ptr< Renderer > AeonGames::ConstructRenderer | ( | const std::string & | aIdentifier, |
| void * | aWindow ) |
| DLL std::unique_ptr< Renderer > AeonGames::ConstructRenderer | ( | uint32_t | aIdentifier, |
| void * | aWindow ) |
| UniqueAnyPtr AeonGames::ConstructResource | ( | const ResourceId & | aResourceId | ) |
Construct a resource identified by a ResourceId.
| aResourceId | The identifier for the resource to construct. |
Definition at line 28 of file ResourceFactory.cpp.
| DLL std::unique_ptr< SoundSystem > AeonGames::ConstructSoundSystem | ( | const StringId & | aIdentifier | ) |
Construct a SoundSystem back-end for the given identifier.
| aIdentifier | Identifier selecting the back-end implementation. |
| uint32_t AeonGames::crc32i | ( | const char * | message, |
| size_t | size, | ||
| uint32_t | previous_crc ) |
Compute the CRC32 of a given message, continuing from a previous CRC value.
| message | The message to compute the CRC for. |
| size | The size of the message in bytes. |
| previous_crc | The previous CRC32 value to continue from. |
| uint64_t AeonGames::crc64i | ( | const char * | message, |
| size_t | size, | ||
| uint64_t | previous_crc ) |
Compute the CRC64 of a given message, continuing from a previous CRC value.
| message | The message to compute the CRC for. |
| size | The size of the message in bytes. |
| previous_crc | The previous CRC64 value to continue from. |
| VkDescriptorPool AeonGames::CreateDescriptorPool | ( | const VkDevice & | aVkDevice, |
| const std::vector< VkDescriptorPoolSize > & | aVkDescriptorPoolSizes ) |
Create a Vulkan descriptor pool from the given pool sizes.
Definition at line 126 of file VulkanUtilities.cpp.
| VkDescriptorSet AeonGames::CreateDescriptorSet | ( | const VkDevice & | aVkDevice, |
| const VkDescriptorPool & | aVkDescriptorPool, | ||
| const VkDescriptorSetLayout & | aVkDescriptorSetLayout, | ||
| uint32_t | aDescriptorSetCount ) |
Allocate a Vulkan descriptor set from the given pool and layout.
Definition at line 153 of file VulkanUtilities.cpp.
Compute the cross product of two vectors.
| aLhs | Left-hand side vector. |
| aRhs | Right-hand side vector. |
Definition at line 123 of file Vector3.cpp.
| VKAPI_ATTR VkBool32 VKAPI_CALL AeonGames::DebugCallback | ( | VkDebugUtilsMessageSeverityFlagBitsEXT | aMessageSeverity, |
| VkDebugUtilsMessageTypeFlagsEXT | aMessageTypes, | ||
| const VkDebugUtilsMessengerCallbackDataEXT * | aCallbackData, | ||
| void * | aUserData ) |
Vulkan debug messenger callback.
| aMessageSeverity | Severity of the message. |
| aMessageTypes | Type flags of the message. |
| aCallbackData | Callback data containing the message. |
| aUserData | User-provided data pointer. |
Definition at line 90 of file VulkanUtilities.cpp.
| bool AeonGames::DecodeImage | ( | Texture & | aTexture, |
| const std::string & | aFileName ) |
Decodes an image file into a Texture.
| aTexture | Target texture to receive the decoded image. |
| aFileName | Path to the image file. |
Definition at line 41 of file Texture.cpp.
| bool AeonGames::DecodeImage | ( | Texture & | aTexture, |
| const void * | aBuffer, | ||
| size_t | aBufferSize ) |
Decodes image data from a memory buffer into a Texture.
| aTexture | Target texture to receive the decoded image. |
| aBuffer | Pointer to the encoded image data. |
| aBufferSize | Size of the buffer in bytes. |
Definition at line 36 of file Texture.cpp.
| bool AeonGames::DecodeOGG | ( | Sound & | aSound, |
| size_t | aBufferSize, | ||
| const void * | aBuffer ) |
Decodes OGG Vorbis audio data from a memory buffer into a Sound.
| aSound | Sound object to receive the decoded audio. |
| aBufferSize | Size of the input buffer in bytes. |
| aBuffer | Pointer to the OGG data buffer. |
Definition at line 25 of file OggSound.cpp.
| bool AeonGames::DecodePNG | ( | Texture & | aTexture, |
| size_t | aBufferSize, | ||
| const void * | aBuffer ) |
Decodes PNG image data from a memory buffer into a Texture.
| aTexture | Texture object to receive the decoded image. |
| aBufferSize | Size of the input buffer in bytes. |
| aBuffer | Pointer to the PNG data buffer. |
Definition at line 61 of file PngImage.cpp.
| bool AeonGames::DecodeSound | ( | Sound & | aSound, |
| const std::string & | aFileName ) |
| bool AeonGames::DecodeSound | ( | Sound & | aSound, |
| const void * | aBuffer, | ||
| size_t | aBufferSize ) |
| DLL bool AeonGames::DecodeSound | ( | Sound & | aSound, |
| size_t | aBufferSize, | ||
| const void * | aBuffer ) |
Decode sound data from a memory buffer.
| aSound | Sound object to populate. |
| aBufferSize | Size of the data buffer in bytes. |
| aBuffer | Pointer to the raw sound data. |
| void AeonGames::DestroyDescriptorPool | ( | const VkDevice & | aVkDevice, |
| VkDescriptorPool | aVkDescriptorPool ) |
Destroy a Vulkan descriptor pool.
Definition at line 147 of file VulkanUtilities.cpp.
| UniqueAnyPtr AeonGames::DisposeResource | ( | uint32_t | aKey | ) |
Remove and return a resource from the cache.
| aKey | The key of the resource to dispose. |
Definition at line 53 of file ResourceCache.cpp.
Compute the dot product of two vectors.
| aLhs | Left-hand side vector. |
| aRhs | Right-hand side vector. |
Definition at line 249 of file Vector3.cpp.
| void AeonGames::EnumerateConstructors | ( | const std::function< bool(const StringId &) > & | aEnumerator | ) |
| void AeonGames::EnumerateResourceConstructors | ( | const std::function< bool(uint32_t) > & | aEnumerator | ) |
Enumerate all registered resource constructors.
| aEnumerator | Callback invoked for each type; return false to stop. |
Definition at line 58 of file ResourceFactory.cpp.
| void AeonGames::EnumerateResources | ( | const std::function< bool(uint32_t, const UniqueAnyPtr &) > & | aEnumerator | ) |
Enumerate all cached resources.
| aEnumerator | Callback invoked with each key and resource; return false to stop. |
Definition at line 30 of file ResourceCache.cpp.
|
constexpr |
Find the index of the first set bit using a De Bruijn sequence.
| value | The 32-bit value to scan. |
Definition at line 44 of file Utilities.hpp.
| bool AeonGames::FileExists | ( | const std::string & | aFilePath | ) |
Check whether a file exists at the given path.
| aFilePath | The file path to check. |
Definition at line 38 of file Utilities.cpp.
| void AeonGames::FinalizeGlobalEnvironment | ( | ) |
Shut down the global engine environment and release resources.
Definition at line 251 of file AeonEngine.cpp.
| DLL uint32_t AeonGames::GetAttributes | ( | const PipelineMsg & | aPipelineMsg | ) |
Get the packed attribute flags from a pipeline message.
| aPipelineMsg | The pipeline message to query. |
| DLL std::string AeonGames::GetAttributesGLSL | ( | const PipelineMsg & | aPipelineMsg | ) |
Generate GLSL attribute declarations from a pipeline message.
| aPipelineMsg | The pipeline message to query. |
| size_t AeonGames::GetAttributeTotalSize | ( | const Mesh::AttributeTuple & | aAttributeTuple | ) |
| std::vector< std::string > AeonGames::GetConstructorNames | ( | ) |
| const UniqueAnyPtr & AeonGames::GetDefaultResource | ( | uint32_t | aType | ) |
Get the default resource for a given type.
| aType | The resource type identifier. |
Definition at line 69 of file ResourceFactory.cpp.
| const std::string AeonGames::GetFileExtension | ( | const std::string & | aFilePath | ) |
Extract the file extension from a file path.
| aFilePath | The file path to extract the extension from. |
Definition at line 23 of file Utilities.cpp.
| size_t AeonGames::GetNextConsecutiveId | ( | ) |
Returns the next available consecutive resource identifier.
Definition at line 24 of file Resource.cpp.
|
inline |
Extract the Node pointer from a NodeParent variant.
| DLL std::string AeonGames::GetPropertiesGLSL | ( | const PipelineMsg & | aPipelineMsg | ) |
Generate GLSL property/uniform declarations from a pipeline message.
| aPipelineMsg | The pipeline message to query. |
| Property AeonGames::GetProperty | ( | const ComponentPropertyMsg & | aComponentPropertyMsg | ) |
| Quaternion AeonGames::GetQuaternion | ( | const QuaternionMsg & | aQuaternion | ) |
Convert a QuaternionMsg protobuf message to a Quaternion.
| aQuaternion | The protobuf message to convert. |
Definition at line 77 of file ProtoBufUtils.cpp.
| uint32_t AeonGames::GetReferenceMsgId | ( | const ReferenceMsg & | reference_buffer | ) |
Retrieve the identifier from a ReferenceMsg.
| reference_buffer | The ReferenceMsg to extract the id from. |
Definition at line 60 of file ProtoBufUtils.cpp.
| DLL std::vector< std::string > AeonGames::GetRendererConstructorNames | ( | ) |
Returns the names of all registered Renderer constructors.
| const UniqueAnyPtr & AeonGames::GetResource | ( | const ResourceId & | aResourceId | ) |
Retrieve a cached resource by ResourceId, constructing it if absent.
| aResourceId | The resource identifier. |
Definition at line 76 of file ResourceCache.cpp.
| const UniqueAnyPtr & AeonGames::GetResource | ( | uint32_t | aKey | ) |
Retrieve a cached resource by key.
| aKey | The resource key. |
Definition at line 65 of file ResourceCache.cpp.
| std::vector< std::string > AeonGames::GetResourcePath | ( | ) |
Get the list of resource search paths.
Definition at line 283 of file AeonEngine.cpp.
| std::string AeonGames::GetResourcePath | ( | uint32_t | crc | ) |
Returns the resource path referenced by its id.
Definition at line 333 of file AeonEngine.cpp.
| size_t AeonGames::GetResourceSize | ( | const std::string & | aFileName | ) |
Returns the resource size referenced by its file name.
Definition at line 346 of file AeonEngine.cpp.
| size_t AeonGames::GetResourceSize | ( | uint32_t | crc | ) |
Returns the resource size referenced by its CRC value.
Definition at line 320 of file AeonEngine.cpp.
|
inline |
Extract the Scene pointer from a NodeParent variant.
| uint32_t AeonGames::GetStride | ( | const MeshMsg & | aMeshMsg | ) |
Compute the stride in bytes for a single vertex.
| aMeshMsg | Mesh message describing vertex attributes. |
Definition at line 59 of file Convert.cpp.
| Transform AeonGames::GetTransform | ( | const TransformMsg & | aTransform | ) |
Convert a TransformMsg protobuf message to a Transform.
| aTransform | The protobuf message to convert. |
Definition at line 82 of file ProtoBufUtils.cpp.
| size_t AeonGames::GetUniformBufferSize | ( | const PipelineMsg & | aPipelineMsg | ) |
Calculate the uniform buffer size required by a pipeline.
| aPipelineMsg | The pipeline message to query. |
| const void * AeonGames::GetUniformValuePointer | ( | const Material::UniformValue & | aValue | ) |
Get a pointer to the raw data of a uniform value.
| aValue | The uniform value variant. |
Definition at line 162 of file Material.cpp.
| size_t AeonGames::GetUniformValueSize | ( | const Material::UniformValue & | aValue | ) |
Get the byte size of a uniform value.
| aValue | The uniform value variant. |
Definition at line 154 of file Material.cpp.
| Vector3 AeonGames::GetVector3 | ( | const Vector3Msg & | aVector3 | ) |
Convert a Vector3Msg protobuf message to a Vector3.
| aVector3 | The protobuf message to convert. |
Definition at line 73 of file ProtoBufUtils.cpp.
| std::string AeonGames::GetVertexBufferRegexPattern | ( | const MeshMsg & | aMeshMsg | ) |
Build a regex pattern string matching a single vertex.
| aMeshMsg | Mesh message describing vertex attributes. |
Definition at line 93 of file Convert.cpp.
| const char * AeonGames::GetVulkanResultString | ( | VkResult | aResult | ) |
Convert a VkResult code to a human-readable string.
Definition at line 23 of file VulkanUtilities.cpp.
| bool AeonGames::InitializeGlobalEnvironment | ( | int | argc = 0, |
| char * | argv[] = nullptr ) |
Initialize the global engine environment.
| argc | Number of command-line arguments. |
| argv | Array of command-line argument strings. |
Definition at line 150 of file AeonEngine.cpp.
| const Transform AeonGames::Interpolate | ( | const Transform & | aTransform0, |
| const Transform & | aTransform1, | ||
| const Transform & | aTransform2, | ||
| const Transform & | aTransform3, | ||
| double | aInterpolation ) |
Interpolate transforms using spline and mlerp methods.
Definition at line 216 of file Transform.cpp.
| const Quaternion AeonGames::LerpQuats | ( | const Quaternion & | q1, |
| const Quaternion & | q2, | ||
| double | interpolation ) |
Linearly interpolate between two quaternions.
Each element is interpolated as v' = v1+((v2-v1)*interpolation). The out parameter may be the same as either q1 or q2 in which case the values are overwritten.
| q1 | [in] Origin quaternion. |
| q2 | [in] Destination quaternion. |
| interpolation | [in] Interpolation factor. |
Definition at line 155 of file Quaternion.cpp.
| void AeonGames::LoadFromProtoBufObject | ( | T & | aTarget, |
| const void * | aBuffer, | ||
| size_t | aBufferSize ) |
Loads a Protocol Buffer message from a buffer and populates a target object.
Deserializes a Protocol Buffer message of type U from the given buffer, then calls LoadFromPBMsg on aTarget to populate it. Uses a static buffer protected by a mutex to reduce repeated allocations.
| T | Target type that implements LoadFromPBMsg(const U&). |
| U | Protocol Buffer message type. |
| Magick | Magic number identifying the buffer format. |
| aTarget | Reference to the target object to populate. |
| aBuffer | Pointer to the start of the buffer. |
| aBufferSize | Size of the buffer in bytes. |
Definition at line 229 of file ProtoBufHelpers.hpp.
| bool AeonGames::LoadOpenGLAPI | ( | ) |
Load all OpenGL function pointers and log driver information.
Definition at line 66 of file OpenGLFunctions.cpp.
| T AeonGames::LoadProtoBufObject | ( | const std::string & | aFilename, |
| uint64_t | aMagick ) |
Loads a Protocol Buffer Object from an AeonGames file.
| aFilename | Path to file to load object from. |
| aMagick | Expected format of the file represented by its magick number. |
Definition at line 209 of file ProtoBufHelpers.hpp.
| T AeonGames::LoadProtoBufObject | ( | const void * | aData, |
| size_t | aSize, | ||
| uint64_t | aMagick ) |
Loads a Protocol Buffer Object from a memory buffer.
| aData | Pointer to the start of the buffer. |
| aSize | size of the provided buffer. |
| aMagick | Expected format of the file represented by its magick number. |
Definition at line 169 of file ProtoBufHelpers.hpp.
| void AeonGames::LoadProtoBufObject | ( | T & | t, |
| const std::string & | aFilename, | ||
| uint64_t | aMagick ) |
Loads a Protocol Buffer Object from an AeonGames file into the provided reference.
| t | Reference to the object to be loaded with the file data. |
| aFilename | Path to file to load object from. |
| aMagick | Expected format of the file represented by its magick number. |
Definition at line 186 of file ProtoBufHelpers.hpp.
| void AeonGames::LoadProtoBufObject | ( | T & | t, |
| const void * | aData, | ||
| size_t | aSize, | ||
| uint64_t | aMagick ) |
Loads a Protocol Buffer Object from a meory buffer into the provided reference.
| t | Reference to the object to be loaded with the file data. |
| aData | Pointer to the start of the buffer. |
| aSize | size of the provided buffer. |
| aMagick | Expected format of the file represented by its magick number. |
Definition at line 125 of file ProtoBufHelpers.hpp.
| void AeonGames::LoadResource | ( | const std::string & | aFileName, |
| void * | buffer, | ||
| size_t | buffer_size ) |
Loads a specific resource referenced by its path into the provided buffer.
Definition at line 364 of file AeonEngine.cpp.
| void AeonGames::LoadResource | ( | uint32_t | crc, |
| void * | buffer, | ||
| size_t | buffer_size ) |
Loads a specific resource referenced by its CRC into the provided buffer.
Definition at line 350 of file AeonEngine.cpp.
| AeonGames::LoopTraverseDFSPreOrder | ( | const | ) |
| UniqueAnyPtr AeonGames::MakeUniqueAny | ( | Ts &&... | params | ) |
Creates a UniqueAnyPtr owning a new instance of T.
| T | The type to construct. |
| Ts | Constructor argument types. |
| params | Arguments forwarded to the T constructor. |
Definition at line 272 of file UniqueAnyPtr.hpp.
| const Quaternion AeonGames::NlerpQuats | ( | const Quaternion & | q1, |
| const Quaternion & | q2, | ||
| double | interpolation ) |
Linearly interpolate between two quaternions return the normalized result.
Each element is interpolated as v' = v1+((v2-v1)*interpolation). The out parameter may be the same as either q1 or q2 in which case the values are overwritten.
| q1 | [in] Origin quaternion. |
| q2 | [in] Destination quaternion. |
| interpolation | [in] Interpolation factor. |
Definition at line 174 of file Quaternion.cpp.
Return a normalized (unit length) copy of the vector.
| aVector | Vector to normalize. |
Definition at line 257 of file Vector3.cpp.
Inequality comparison operator.
| aLhs | Left-hand side vector. |
| aRhs | Right-hand side vector. |
Definition at line 239 of file Vector3.cpp.
| bool AeonGames::operator!= | ( | const VkDescriptorSetLayoutBinding & | a, |
| const SpvReflectDescriptorBinding & | b ) |
Compare a VkDescriptorSetLayoutBinding with a SpvReflectDescriptorBinding for inequality.
Definition at line 144 of file VulkanPipeline.cpp.
|
constexpr |
User-defined literal for gigabytes.
| aGigaBytes | Value in gigabytes. |
Definition at line 44 of file MemoryPool.hpp.
|
constexpr |
User-defined literal for kilobytes.
| aKyloBytes | Value in kilobytes. |
Definition at line 28 of file MemoryPool.hpp.
|
constexpr |
User-defined literal for megabytes.
| aMegaBytes | Value in megabytes. |
Definition at line 36 of file MemoryPool.hpp.
|
constexprnoexcept |
User-defined literal operator that converts an 8-character string to a uint64_t magic number.
| literal | The string literal to convert (must be exactly 8 characters). |
Definition at line 41 of file ProtoBufHelpers.hpp.
Scalar multiplication operator (scalar * vector).
| aLhs | Scalar operand. |
| aRhs | Vector operand. |
Definition at line 226 of file Vector3.cpp.
Multiplies two 3x3 matrices. Multiplies two 3x3 matrices.
| lhs | [in] left side matrix. |
| rhs | [in] right side matrix. |
Definition at line 120 of file Matrix3x3.cpp.
Multiply a 3x3 matrix by a 3D vector.
| lhs | The matrix. |
| rhs | The vector. |
Definition at line 128 of file Matrix3x3.cpp.
Multiplies two 4x4 matrices. Multiplies two 4x4 matrices.
| lhs | [in] left side matrix. |
| rhs | [in] right side matrix. |
Definition at line 203 of file Matrix4x4.cpp.
Multiply a 4x4 matrix by a 3D vector.
| lhs | The matrix. |
| rhs | The vector. |
Definition at line 211 of file Matrix4x4.cpp.
| const Quaternion AeonGames::operator* | ( | const Quaternion & | lhs, |
| const Quaternion & | rhs ) |
Multiply two quaternions.
| lhs | Left-hand side quaternion. |
| rhs | Right-hand side quaternion. |
Definition at line 126 of file Quaternion.cpp.
| const Vector3 AeonGames::operator* | ( | const Quaternion & | lhs, |
| const Vector3 & | rhs ) |
Rotate a 3D vector by a quaternion.
| lhs | The quaternion representing the rotation. |
| rhs | The vector to rotate. |
Definition at line 131 of file Quaternion.cpp.
Transform an axis-aligned bounding box.
| lhs | The transform to apply. |
| rhs | The AABB to transform. |
Definition at line 198 of file Transform.cpp.
Combine two transforms.
| lhs | Left-hand side transform. |
| rhs | Right-hand side transform. |
Definition at line 190 of file Transform.cpp.
Scalar multiplication operator (vector * scalar).
| aLhs | Vector operand. |
| aRhs | Scalar operand. |
Definition at line 210 of file Vector3.cpp.
Component-wise multiplication operator.
| aLhs | Left-hand side vector. |
| aRhs | Right-hand side vector. |
Definition at line 234 of file Vector3.cpp.
Addition operator.
| aLhs | Left-hand side vector. |
| aRhs | Right-hand side vector. |
Definition at line 173 of file Vector3.cpp.
Subtraction operator.
| aLhs | Left-hand side vector. |
| aRhs | Right-hand side vector. |
Definition at line 158 of file Vector3.cpp.
Scalar division operator.
| aLhs | Vector operand. |
| aRhs | Scalar divisor. |
Definition at line 218 of file Vector3.cpp.
| std::ostream & AeonGames::operator<< | ( | std::ostream & | os, |
| const Matrix4x4 & | aMatrix ) |
Stream output operator for a 4x4 matrix.
| os | The output stream. |
| aMatrix | The matrix to output. |
Definition at line 249 of file Matrix4x4.cpp.
|
inline |
Inserts a color-coded log level tag into an output stream.
| os | The output stream. |
| level | The log level to format. |
Definition at line 40 of file LogLevel.hpp.
Compare two 3x3 matrices for equality.
| lhs | Left-hand side matrix. |
| rhs | Right-hand side matrix. |
Definition at line 138 of file Matrix3x3.cpp.
Compare two 4x4 matrices for equality.
| lhs | Left-hand side matrix. |
| rhs | Right-hand side matrix. |
Definition at line 221 of file Matrix4x4.cpp.
| bool AeonGames::operator== | ( | const Quaternion & | lhs, |
| const Quaternion & | rhs ) |
Compare two quaternions for equality.
| lhs | Left-hand side quaternion. |
| rhs | Right-hand side quaternion. |
Definition at line 146 of file Quaternion.cpp.
Compare two transforms for equality.
| lhs | Left-hand side transform. |
| rhs | Right-hand side transform. |
Definition at line 209 of file Transform.cpp.
Equality comparison operator.
| aLhs | Left-hand side vector. |
| aRhs | Right-hand side vector. |
Definition at line 54 of file Vector2.cpp.
Equality comparison operator.
| aLhs | Left-hand side vector. |
| aRhs | Right-hand side vector. |
Definition at line 244 of file Vector3.cpp.
Equality comparison operator.
| aLhs | Left-hand side vector. |
| aRhs | Right-hand side vector. |
Definition at line 67 of file Vector4.cpp.
| size_t AeonGames::Parse | ( | size_t | index, |
| const std::smatch & | match_results, | ||
| std::string & | vertex_buffer, | ||
| size_t | count ) |
Parse attribute values from regex match results into a vertex buffer string.
| T | Data type of the attribute values. |
| index | Starting index into match_results. |
| match_results | Regex match results containing the values. |
| vertex_buffer | Output buffer to append to. |
| count | Number of values to parse. |
Definition at line 288 of file Convert.cpp.
| std::string AeonGames::ParseIndexBuffer | ( | const MeshMsg & | aMeshMsg | ) |
Parse an index buffer from a mesh message.
| aMeshMsg | Mesh message containing index data. |
Definition at line 378 of file Convert.cpp.
| std::string AeonGames::ParseVertexBuffer | ( | const MeshMsg & | aMeshMsg | ) |
|
constexpr |
Count the number of set bits in a 32-bit unsigned integer.
| v | The value whose bits to count. |
Definition at line 116 of file Utilities.hpp.
| const uint8_t * AeonGames::Print | ( | const uint8_t * | cursor, |
| std::ostringstream & | stream, | ||
| uint32_t | count ) |
Print vertex attribute values from a raw byte cursor.
| T | Data type of the attribute values. |
| cursor | Pointer to the current position in the buffer. |
| stream | Output string stream. |
| count | Number of elements to print. |
Definition at line 152 of file Convert.cpp.
| void AeonGames::ProcessOpts | ( | int | argc, |
| char * | argv[], | ||
| const OptionHandler * | aOptionHandler, | ||
| size_t | aOptionHandlerCount ) |
Process command-line options.
| argc | Argument count. |
| argv | Argument values. |
| aOptionHandler | Array of OptionHandler objects. |
| aOptionHandlerCount | Number of handlers in the array. |
Definition at line 67 of file Utilities.cpp.
| Material::UniformKeyValue AeonGames::PropertyToKeyValue | ( | const PropertyMsg & | aProperty | ) |
Convert a PropertyMsg to a Material uniform key-value pair.
| aProperty | The property message to convert. |
Definition at line 162 of file ProtoBufUtils.cpp.
| bool AeonGames::RegisterConstructor | ( | const StringId & | aIdentifier, |
| const std::function< std::unique_ptr< T >(Types... args) > & | aConstructor ) |
| bool AeonGames::RegisterImageDecoder | ( | const std::string & | aMagick, |
| const std::function< bool(Texture &, size_t, const void *) > & | aDecoder ) |
Registers an image decoder for a specific file magic identifier.
| aMagick | Magic bytes or identifier string for the image format. |
| aDecoder | Callback function that decodes image data into a Texture. |
Definition at line 26 of file Texture.cpp.
| bool AeonGames::RegisterResourceConstructor | ( | uint32_t | aType, |
| const std::function< UniqueAnyPtr(uint32_t) > & | aConstructor, | ||
| UniqueAnyPtr && | aDefaultResource = nullptr ) |
Register a constructor for a resource type.
| aType | The resource type identifier. |
| aConstructor | Callable that constructs the resource given a type. |
| aDefaultResource | Optional default resource instance. |
Definition at line 39 of file ResourceFactory.cpp.
| bool AeonGames::RegisterSoundDecoder | ( | const std::string & | aMagick, |
| const std::function< bool(Sound &, size_t, const void *) > & | aDecoder ) |
| void AeonGames::SetResourcePath | ( | const std::vector< std::string > & | aPath | ) |
Set the list of resource search paths.
| aPath | A vector of directory paths to use for resource lookup. |
Definition at line 293 of file AeonEngine.cpp.
| void AeonGames::SetSpinboxEditorValue | ( | QWidget * | editor, |
| const QVariant & | value ) |
Set the value of a QSpinBox editor from a QVariant.
| T | Numeric type to extract from the variant. |
| editor | The spinbox widget. |
| value | The value to set. |
Definition at line 55 of file PropertyDelegate.cpp.
| void AeonGames::SetSpinboxModelData | ( | QWidget * | editor, |
| QAbstractItemModel * | model, | ||
| const QModelIndex & | index ) |
Commit a QSpinBox editor value to the item model.
| T | Numeric type to store in the model. |
| editor | The spinbox widget. |
| model | The item model. |
| index | The model index to update. |
Definition at line 66 of file PropertyDelegate.cpp.
| const Quaternion AeonGames::SlerpQuats | ( | const Quaternion & | q1, |
| const Quaternion & | q2, | ||
| float | interpolation ) |
Spherical Linear interpolation between two quaternions.
| q1 | [in] Origin quaternion. |
| q2 | [in] Destination quaternion. |
| interpolation | [in] Interpolation factor. |
Definition at line 179 of file Quaternion.cpp.
| const Vector3 AeonGames::Spline | ( | const Vector3 & | p0, |
| const Vector3 & | p1, | ||
| const Vector3 & | p2, | ||
| const Vector3 & | p3, | ||
| double | interpolation ) |
Catmull-Rom spline interpolation between four control points.
| p0 | First control point. |
| p1 | Second control point (start of segment). |
| p2 | Third control point (end of segment). |
| p3 | Fourth control point. |
| interpolation | Interpolation parameter in [0,1]. |
Definition at line 275 of file Vector3.cpp.
| const UniqueAnyPtr & AeonGames::StoreResource | ( | uint32_t | aKey, |
| UniqueAnyPtr && | pointer ) |
Store a resource in the cache.
| aKey | The key to associate with the resource. |
| pointer | The resource to store (moved in). |
Definition at line 41 of file ResourceCache.cpp.
| std::string AeonGames::to_string | ( | T && | t | ) |
Generic to_string using ADL to find the best overload.
| T | The type of the value. |
| t | The value to convert. |
Definition at line 48 of file ToString.hpp.
| std::string AeonGames::ToString | ( | const double & | t | ) |
Specialization of ToString for double.
| t | Double value. |
Definition at line 106 of file ToString.hpp.
| std::string AeonGames::ToString | ( | const float & | t | ) |
Specialization of ToString for float.
| t | Float value. |
Definition at line 101 of file ToString.hpp.
| std::string AeonGames::ToString | ( | const int & | t | ) |
Specialization of ToString for int.
| t | Integer value. |
Definition at line 71 of file ToString.hpp.
| std::string AeonGames::ToString | ( | const long & | t | ) |
Specialization of ToString for long.
| t | Long value. |
Definition at line 76 of file ToString.hpp.
| std::string AeonGames::ToString | ( | const long long & | t | ) |
Specialization of ToString for long long.
| t | Long long value. |
Definition at line 81 of file ToString.hpp.
| std::string AeonGames::ToString | ( | const T & | t | ) |
Convert an arbitrary type to its hex byte string representation.
| T | The type of the value. |
| t | The value to convert. |
Definition at line 59 of file ToString.hpp.
| std::string AeonGames::ToString | ( | const unsigned & | t | ) |
Specialization of ToString for unsigned int.
| t | Unsigned value. |
Definition at line 86 of file ToString.hpp.
| std::string AeonGames::ToString | ( | const unsigned long & | t | ) |
Specialization of ToString for unsigned long.
| t | Unsigned long value. |
Definition at line 91 of file ToString.hpp.
| std::string AeonGames::ToString | ( | const unsigned long long & | t | ) |
Specialization of ToString for unsigned long long.
| t | Unsigned long long value. |
Definition at line 96 of file ToString.hpp.
| bool AeonGames::UnregisterConstructor | ( | const StringId & | aIdentifier | ) |
| bool AeonGames::UnregisterImageDecoder | ( | const std::string & | aMagick | ) |
Unregisters a previously registered image decoder.
| aMagick | Magic bytes or identifier string of the decoder to remove. |
Definition at line 31 of file Texture.cpp.
| bool AeonGames::UnregisterResourceConstructor | ( | uint32_t | aType | ) |
Unregister a resource constructor.
| aType | The resource type identifier to unregister. |
Definition at line 48 of file ResourceFactory.cpp.
| bool AeonGames::UnregisterSoundDecoder | ( | const std::string & | aMagick | ) |
| int AeonGames::write_deflated_data | ( | FILE * | source, |
| FILE * | dest, | ||
| int | level, | ||
| uint32_t & | compressed_size ) |
|
constexpr |
De Bruijn lookup table used by ffs().
Definition at line 35 of file Utilities.hpp.
| std::unordered_map<Key, FlyWeight<Key, Value>*> AeonGames::FlyWeight< Key, Value >::mStore {} |
Global store mapping keys to FlyWeight instances.
Definition at line 205 of file FlyWeight.hpp.
| const GLchar AeonGames::fragment_shader_code[] |
Overlay fragment shader GLSL source code.
Definition at line 58 of file OpenGLRenderer.cpp.
| const GLchar* const AeonGames::fragment_shader_code_ptr = fragment_shader_code |
Pointer to the overlay fragment shader source.
Definition at line 76 of file OpenGLRenderer.cpp.
| const GLint AeonGames::fragment_shader_len { sizeof(fragment_shader_code) } |
Length of the overlay fragment shader source.
Definition at line 74 of file OpenGLRenderer.cpp.
| const std::array<OptionHandler, 1> AeonGames::gOptionHandlers |
Array of command-line option handlers.
Definition at line 136 of file AeonEngine.cpp.
| std::array<EShLanguage, ShaderType::COUNT> AeonGames::ShaderTypeToEShLanguage |
Mapping from ShaderType to glslang EShLanguage.
Definition at line 165 of file VulkanPipeline.cpp.
| const std::unordered_map<const char*, std::function<std::string * ( PipelineMsg* ) > > AeonGames::ShaderTypeToExtension |
Map from shader file extension to its mutable PipelineMsg accessor.
Definition at line 98 of file PipelineTool.cpp.
| const std::unordered_map<const char*, std::function<const std::string& ( const PipelineMsg* ) > > AeonGames::ShaderTypeToGetter |
Map from shader file extension to its const PipelineMsg getter.
Definition at line 109 of file PipelineTool.cpp.
| std::array<VkShaderStageFlagBits, ShaderType::COUNT> AeonGames::ShaderTypeToShaderStageFlagBit |
Mapping from ShaderType to VkShaderStageFlagBits.
Definition at line 176 of file VulkanPipeline.cpp.
| const std::unordered_map<ShaderType, const char*> AeonGames::ShaderTypeToString |
Map from ShaderType enum values to human-readable string names.
Definition at line 107 of file Pipeline.hpp.
| const GLchar AeonGames::vertex_shader_code[] |
Overlay vertex shader GLSL source code.
Definition at line 37 of file OpenGLRenderer.cpp.
| const GLchar* const AeonGames::vertex_shader_code_ptr = vertex_shader_code |
Pointer to the overlay vertex shader source.
Definition at line 55 of file OpenGLRenderer.cpp.
| const GLint AeonGames::vertex_shader_len { sizeof(vertex_shader_code) } |
Length of the overlay vertex shader source.
Definition at line 53 of file OpenGLRenderer.cpp.
|
constexpr |
Total byte size of the overlay vertex data.
Definition at line 87 of file OpenGLRenderer.cpp.
| const float AeonGames::vertices[] |
Overlay screen-quad vertex data (positions and texture coordinates).
Definition at line 79 of file OpenGLRenderer.cpp.