Fling Engine  0.00.1
Fling Engine is a game engine written in Vulkan
Data Structures
Here are the data structures with brief descriptions:
[detail level 123]
 NFling
 NStats
 CFrames
 CAttachmentCreateInfoDescribes the attributes of an attachment to be created
 CBaseEditorThe BaseEditor of the Fling Engine
 CBufferA Buffer represents a Vulkan buffer with a size, buffer pointer, and buffer memory
 CCameraBase class for camera, meant to be overridden
 CCameraInfoUbo
 CCircularBufferA simple circular buffer that will allow you get the next element in a buffer It does not ensure that the item is not in use, but simply loops around
 CCommandBufferEncapsulates functionality of a Vulkan Command buffer
 CCubemap
 CDebugSubpass
 CDebugUBO
 CDeferredLightSettingsSettings for the max directional lights and max point lights
 CDepthBuffer
 CDescriptorInfo
 CDesktopWindowBase class that represents a window to the Fling Engine using GLFW
 CDirectionalLightSimple representation of a directional light for Fling
 CEngineCore engine class of Fling
 CFileA file is a basic text file that contains a basic text file
 CFileBrowser
 CFirstPersonCameraA simple first person camera
 CFlingConfigProvide simple access to engine configuration options from an INI file #TODO Parse command line options as well
 CFlingPathsStatic set of useful engine paths and directories
 CFlingWindowBase class that represents a window to the Fling Engine
 CFrameBuffer
 CFrameBufferAttachment
 CFreeListHelpful for allocating/freeing objects of a certain size which have to be created/destroeyed dynamically
 CGameThe game class is mean to be overridden on a per-game instance
 CGeometrySubpassThe geometry subpass is in charge of sending the geometry portion of the Deferred pipeline to the GPU
 CGraphicsPipeline
 CHDRImageLoads image R16G16B16_SFLOAT file formats exmplae file format : .hdr
 CId
 CImGuiSubpass
 CPushConstBlock
 CInputBase input class for polling input in the Fling Engine
 CInstanceThe instance is a representation of this application graphics instance in Vulkan
 CJsonFileA JsonFile provides an interface for easily using JSON files
 CKey
 CKeyNames
 CLevelA level contains active objects and provides the environment for the player
 CLighting
 CLightingUboUniform buffer for passing lights to our final screen pass
 CLoggerSingleton class that allows logging to the console as well as async to a file
 CLogicalDeviceA logical device represents the application view of the device
 CMaterialA material represents what properties should be given to a set of shaders
 CMeshRenderer
 CModelA model represents a 3D model (.obj files for now) with vertices and indecies
 CMousePosCurrent mouse position in screen space
 CMovingAverageA moving average can be used to calculate things like FPS
 CMultisamplerA multi-sampler will allow us to enable MSAA
 CNameComponent
 CNonCopyableClass that removes the copy operator and constructor
 COffscreenSubpass
 COffscreenUBOUBO for mesh data
 CPBRTexturesProperties of a PBR
 CPhysicalDeviceA physical device represents the Vulkan physical device (the GPU) that we are currently using
 CPointLightSimple representation of a point light in Light Vox
 CRandom
 CRenderPipelineA render pipeline encapsulates the functionality of a
 CResourceBase class that represents a loaded resource in the engine
 CResourceManagerThe resource manager handles loading of files off disk
 CShaderClass that represents what a shader is in the Fling engine
 CShaderProgram
 CSingletonClass that can have only one instance
 CStackAllocator
 CSubpassA subpass represents one part of a RenderPipeline
 CSwapchainRepresents a swap chain that can be used throughout the program
 CSwapChainSupportDetails
 CTextureAn image represents a 2D file that has data about each pixel in the image
 CTiming
 CTransform
 CUboSkyboxVS
 CUboVSRepresentation of what vertex data of the dynamic UBO that there is only one of
 CVersion
 CVertexBasic Vertex outline for use with our vertex buffers
 CVulkanAppCore rendering functionality of the Fling Engine
 CWindowPropsWindow creation data
 CWorldThe world holds all active levels in the game
 NImGui
 CFileBrowser
 CFileRecord
 CScopeGuard
 NSandbox
 CGameCustom game class that will have control of it's gameplay systems
 CSandboxEditor
 CSandboxUIOwns the drawing of any UI elements for the Sandbox game
 Nstd
 Chash< Fling::Vertex >
 CMoverA mover will move between two values ata given speed
 CRotatorA mover will move between two values ata given speed