VenomEngine
Cross-Platform Modern Graphics Engine
Loading...
Searching...
No Matches
Class Hierarchy
This inheritance list is sorted roughly, but not completely, alphabetically:
[detail level 12345]
 Cvenom::vulkan::Allocator
 Cvenom::vulkan::AttachmentsManager
 Cvenom::common::BindlessTexturesIdManager
 Cvenom::vulkan::VulkanMesh::BoundVkBuffer
 Cvenom::vulkan::Buffer
 Cvenom::vulkan::CommandBufferCommand Buffer class, only instanciable by VulkanCommandPool. To use them, you need to create a VulkanCommandPool and then create/access them via VulkanCommandPool. To make sure destruction and memory is handled in a correct way for command buffers, only VulkanCommandPool should own them
 Cvenom::vulkan::SingleTimeCommandBuffer
 Cvenom::vulkan::CommandPool
 Cvenom::vulkan::CommandPoolManager
 Cvenom::common::Config
 Cvenom::common::Context
 Cvenom::vulkan::DebugApplication
 Cvenom::vulkan::VulkanApplication
 Cvenom::common::ShaderResourceTable::Descriptor
 Cvenom::vulkan::DescriptorPool
 Cvenom::vulkan::DescriptorSet
 Cvenom::vulkan::DescriptorSetGroupRegroups descriptor sets by frame, so if updates have to be done by group, they will be done on the group directly
 Cvenom::vulkan::DescriptorSetGroupAllocator
 Cvenom::vulkan::DescriptorSetLayout
 Cvenom::common::DLLContains a shared library handle and provides a way to get symbols from it, can only be created through DLL::Create()
 Cvenom::common::DLL_CacheHolds all DLLs loaded in memory unless explicitly unloaded/deleted. Only instantiable by VenomEngine as it must not be deleted before all DLLs are unloaded. And also to centralize every wannabe singletons into one
 Cvenom::common::ECSEntity Component System Will mainly encapsulate the fabulous flecs library (https://github.com/SanderMertens/flecs.git) This class will be contained in the VenomEngine class
 Cvenom::vulkan::Fence
 Cvenom::common::FpsCounter
 Cvenom::vulkan::Framebuffer
 Cvenom::common::GraphicsCachedResourceBase class for cached resources
 Cvenom::common::ModelResource
 Cvenom::common::ShaderResource
 Cvenom::common::TextureResource
 Cvenom::common::GraphicsCachedResourceHolderBase class for cached resource holders
 Cvenom::common::ModelImpl
 Cvenom::common::ShaderPipelineImpl
 Cvenom::common::TextureImpl
 Cvenom::common::GraphicsSettings
 Cvenom::common::GraphicsApplication
 Cvenom::vulkan::Image
 Cvenom::vulkan::ImageView
 Cvenom::vulkan::Instance
 Cvenom::common::IPluginObject
 Cvenom::common::PluginObjectBase class for all the plugin objects Objects that will be loaded from the plugins as their implementations lie there As a user of VenomEngine, you should not care about that, unless you plan to create your own plugin
 Cvenom::common::PluginObjectImplInterface for the PluginObject different implementations
 Cvenom::common::LightManager
 Cvenom::common::LightShaderStruct
 Cvenom::common::Log
 Cvenom::vulkan::LogicalDevice
 Cvenom::vulkan::MappedQueueFamilies
 Cvenom::common::MaterialComponentMaterialComponent Contains all the data of a material component
 Cvenom::common::MaterialImpl::MaterialComponentResourceTable
 Cvenom::common::MaterialImpl::MaterialResourceTable
 Cvenom::common::MemoryPoolMemoryPool class to manage memory allocation and deallocation. For now, it's just a wrapper around memory C functions
 Cstd::optional
 Cvenom::common::PluginObjectContainer< venom::common::Material >
 Cvenom::common::PluginObjectContainer< T, typename >Container for the PluginObjectImplWrapper Important to avoid it from loading the PluginObjectImpl if not needed e.g. if the object is optional
 Cvenom::vulkan::PhysicalDevice
 Cvenom::common::Plugin
 Cvenom::common::GraphicsPlugin
 Cvenom::common::PluginManager
 Cvenom::common::PluginObjectImplWrapperWrapper for the PluginObjectImpl, inherited by classes like Model or Mesh to make them usable as components (for ECS) and hold the Graphics API specific implementation
 Cvenom::common::CameraCamera class Classic layout with position, rotation and projection matrices
 Cvenom::common::Material
 Cvenom::common::MeshContains all the mesh's data and is the main high-level interface for the user
 Cvenom::common::ModelContains all the mesh's data and is the main high-level interface for the user
 Cvenom::common::RenderingPipelineInterface with shader pipelines and shader settings
 Cvenom::common::ShaderPipeline
 Cvenom::common::Skybox
 Cvenom::common::Texture
 Cvenom::vulkan::Queue
 Cvenom::vulkan::QueueFamily
 Cvenom::vulkan::QueueManager
 Cvenom::vulkan::QueueManagerSettings
 Cvenom::vulkan::RenderPass
 Cvenom::common::Resources
 Cvenom::vulkan::Sampler
 Cvenom::vulkan::Semaphore
 Cvenom::vulkan::StorageBuffer
 Cvenom::vulkan::Surface
 Cvenom::vulkan::SwapChain
 Cvenom::common::TextureLoader
 Cvenom::common::EXR_TextureLoader
 Cvenom::common::Stbi_TextureLoader
 Cvenom::common::Timer
 Cvenom::common::Transform3D
 Cvenom::common::CameraImpl
 Cvenom::common::Light
 Cvenom::vulkan::UniformBuffer
 Cvenom::common::VenomEngineMain class of the engine This class will be the main entry point of the engine. It will contain all the main components of the engine, as singleton are harder to manage, especially for unit tests and memory management
 Cvenom::common::VenomSettings
 Cvenom::vulkan::VertexBuffer
 Cvenom::common::ShaderPipelineImpl::VertexBufferLayout