SpiecsEngine
 
Loading...
Searching...
No Matches
Spices Namespace Reference

Namespaces

namespace  BasePassR
 
namespace  detail
 
namespace  internal
 
namespace  Key
 
namespace  Mouse
 
namespace  Net
 
namespace  PostProcessR
 
namespace  RayTracingR
 
namespace  SceneCR
 

Classes

struct  AccelKHR
 AccelStructure Wrapper. More...
 
class  Application
 Application Class. Our Engine Start here. More...
 
struct  Attribute
 MeshResource's item template. More...
 
class  BasePassRenderer
 BasePassRenderer Class. This class defines the base pass render behaves. More...
 
struct  basic_field_traits
 Declare of Field Traits template. More...
 
struct  basic_field_traits< T, false >
 Field Traits template (Variable Traits). More...
 
struct  basic_field_traits< T, true >
 Field Traits template (Function Traits). More...
 
class  BindLessTextureManager
 This Class Helps registry a texture to bind less texture descriptor set. More...
 
class  Camera
 Camera Class. This class just encapsulate Projection Matrix. More...
 
class  CameraComponent
 CameraComponent Class. This class defines the specific behaves of CameraComponent. More...
 
class  CameraController
 CameraController Class. This class inherit from NativeScriptComponent. It receives Mouse Event and Key Event to control the Camera movement which defined by it's owner. More...
 
class  CentralCache
 Central memory cache. Second level of memory allocator. More...
 
struct  class_traits
 Declare of class_traits. More...
 
class  ClassLibrary
 Class Static Function Library. More...
 
class  ClassTraitsTest
 
class  Component
 Component Class. This class defines the basic behaves of component. When we add an new Component, we need inherit from this. More...
 
class  Console
 Console Entity Class. More...
 
struct  ConstantParam
 This struct's data is defined from .material file. More...
 
struct  ConstantParams
 This struct's data is defined from .material file. More...
 
class  CubePack
 CubePack Class. This class defines box type mesh pack. More...
 
class  Delegate_Basic
 Basic Class of Delegate. Instance inherited from it and use delegate feature. More...
 
class  DescriptorSetManager
 This Class manages all descriptor sets this project. More...
 
class  DirectionalLightComponent
 DirectionalLightComponent Class. This class defines the specific behaves of DirectionalLightComponent. More...
 
struct  Edge
 Edge Class. This class defines what Edge data. More...
 
struct  EdgePoint
 EdgePoint Class. This class defines what EdgePoint data. More...
 
class  EditorWorld
 EditorWorld Class. This class defines the specific behave of EditorWorld. More...
 
class  Entity
 Entity Class. This class defines the specific behaves of Entity. More...
 
class  EntityComponent
 EntityComponent Class. This class defines the specific behaves of EntityComponent. More...
 
class  Event
 This Class is the basic Event Class. Inherit from it and create specific event class. More...
 
class  EventDispatcher
 This Class store a Specific Event type first and Dispatch a event handle function to it. More...
 
struct  field_traits
 Field Traits template. More...
 
struct  FileHandle
 This Struct is FILE* handle pointer Wrapper. More...
 
class  FileLibrary
 File Static Function Library. More...
 
class  FilePack
 FilePack Class. This class defines file type mesh pack. More...
 
class  FrameInfo
 FrameInfo Class. This class defines the FrameInfo data. More...
 
struct  function_traits
 Declare of function_traits. More...
 
struct  function_traits< Ret(*)(Args...)>
 Implementation of function_traits without class. More...
 
struct  function_traits< Ret(C::*)(Args...) const >
 Implementation of function_traits with class const. More...
 
struct  function_traits< Ret(C::*)(Args...)>
 Implementation of function_traits with class. More...
 
class  GameEditorWorld
 
struct  GBufferID
 The GBuffer Texture's ImTextureID. More...
 
class  GltfAccessors
 Wrapper of Gltf Json Accessors. More...
 
class  GltfAnimations
 Wrapper of Gltf Json Animations. More...
 
class  GltfAsset
 Wrapper of Gltf Json Asset. More...
 
class  GltfBuffers
 Wrapper of Gltf Json Buffers. More...
 
class  GltfBufferViews
 Wrapper of Gltf Json BufferViews. More...
 
class  GltfCameras
 Wrapper of Gltf Json Cameras. More...
 
class  GltfCollection
 Wrapper of Gltf file data. More...
 
class  GltfHelper
 Static functions to help resolve Gltf json. More...
 
class  GltfImages
 Wrapper of Gltf Json Images. More...
 
class  GltfLights
 Wrapper of Gltf Json Lights. More...
 
class  GltfLoader
 Loader of load gltf file or items. More...
 
class  GltfMaterials
 Wrapper of Gltf Json Materials. More...
 
class  GltfMeshes
 Wrapper of Gltf Json Meshes. More...
 
class  GltfNodes
 Wrapper of Gltf Json Nodes. More...
 
class  GltfObject
 Wrapper of Gltf Json element. More...
 
class  GltfPack
 GltfPack Class. This class defines gltf type meshPack. More...
 
class  GltfSamplers
 Wrapper of Gltf Json Samplers. More...
 
class  GltfScene
 Wrapper of Gltf Json Scene. More...
 
class  GltfScenes
 Wrapper of Gltf Json Scenes. More...
 
class  GltfSkins
 Wrapper of Gltf Json Skins. More...
 
class  GltfTextures
 Wrapper of Gltf Json Textures. More...
 
class  GpuCrashTracker
 Implements GPU crash dump tracking using the Nsight Aftermath API. More...
 
struct  HalfEdge
 HalfEdge Class. This class defines what HalfEdge data. More...
 
class  ImguiAbout
 The ImguiAbout Class. This class defines how to render a About. More...
 
class  ImguiConsole
 The ImguiConsole Class. This class defines how to render a Console. More...
 
class  ImguiContentBrowser
 The ImguiContentBrowser Class. This class defines how to render a Content Browser. More...
 
class  ImguiCreateEntity
 The ImguiCreateEntity Class. This class defines how to render a Create. More...
 
class  ImguiDebugger
 
class  ImguiDisplayOptions
 The ImguiDisplayOptions Class. This class defines how to render a edit menu. More...
 
class  ImguiEdit
 The ImguiEdit Class. This class defines how to render a edit menu. More...
 
class  ImguiFile
 The ImguiFile Class. This class defines how to render a file menu. More...
 
class  ImguiFloatingInfo
 The ImguiFloatingInfo Class. This class defines how to render a viewport info. More...
 
class  ImguiGBufferVisualizer
 
class  ImguiGizmos
 The ImguiGizmos Class. This class defines how to render a viewport gizmo. More...
 
class  ImguiGPURuntimeProfilerHUD
 
class  ImGuiH
 The ImGuiH Class. This class defines helper function for slate render. More...
 
class  ImguiHelp
 The ImguiHelp Class. This class defines how to render a Help. More...
 
class  ImguiInfoBar
 The ImguiInfoBar Class. This class defines how to render a Operation Panel. More...
 
class  ImguiMainMenu
 The ImguiMainMenu Class. This class defines how to render a main menu. More...
 
class  ImguiMaterialPanel
 The ImguiMaterialPanel Class. This class defines how to render a Material Property. More...
 
class  ImguiOperation
 The ImguiOperation Class. This class defines how to render a Operation Panel. More...
 
class  ImguiPostProcessing
 The ImguiPostProcessing Class. This class defines how to render a PostProcessing options. More...
 
class  ImguiPreferences
 The ImguiPreferences Class. This class defines how to render a edit menu. More...
 
class  ImguiProperty
 The ImguiProperty Class. This class defines how to render a Property. More...
 
class  ImguiRendererProfilerHUD
 
class  ImguiSlate
 This Class defines the basic behaves of specific slate. When we add an new Slate, we need inherit from this. More...
 
class  ImguiStage
 The ImguiStage Class. This class defines how to render a Stage. More...
 
class  ImguiStatistics
 
class  ImguiUtilities
 The ImguiUtilities Class. This class defines how to render a Utilities. More...
 
class  ImguiVideoMemoryRuntimeHUD
 
class  ImguiViewport
 The ImguiViewport Class. This class defines how to render a viewport. More...
 
class  ImguiViewportMenu
 The ImguiViewportMenu Class. This class defines how to render a ImguiViewport menu. More...
 
class  ImguiViewportToolBar
 
class  ImguiVirtualGeometryVisualizer
 
class  ImguiVisualizer
 The ImguiVisualizer Class. This class defines how to render a Visualizer. More...
 
class  ImguiWindow
 The ImguiWindow Class. This class defines how to render a window menu. More...
 
struct  InfoData
 Console Information Data. More...
 
struct  InfoLevelHelper
 Help data of specific level of information. More...
 
class  Input
 This Class Is a wrapper of Platform Specific Input Query. More...
 
class  InputAssembly
 
struct  is_const
 is_const process pointer or reference. More...
 
class  KeyEvent
 This Class is inherited from Event Class. Inherit from it and create specific KeyEvent class. More...
 
class  KeyPressedEvent
 This Class is inherited from KeyEvent Class. More...
 
class  KeyReleasedEvent
 This Class is inherited from KeyEvent Class. More...
 
class  KeyTypedEvent
 This Class is inherited from KeyEvent Class. More...
 
class  LandscapeComponent
 LandscapeComponent Class. This class defines the specific behaves of LandscapeComponent. More...
 
struct  Lod
 Lod Data. More...
 
class  Log
 
class  MainTaskQuerier
 Script of handle world mark. More...
 
class  Material
 Material Class. This class contains a branch of parameter and shader, also descriptor. More...
 
class  MaterialLoader
 This enum defines tree types of material file. More...
 
class  MaterialProperties
 Wrapper of material render options. More...
 
class  MemoryEntry
 
class  MemoryLibrary
 Memory Static Function Library. More...
 
class  MemoryPool
 MemoryPool Class. More...
 
class  Mesh
 MeshRenderer Class. This class is a wrapper of mashpack. More...
 
class  MeshAddedWorldEvent
 This Class is inherited from Event Class. More...
 
class  MeshComponent
 MeshComponent Class. This class defines the specific behaves of MeshComponent. More...
 
class  MeshController
 
struct  MeshDesc
 Add Construction Functions to SpicesShader::MeshDesc. More...
 
struct  MeshDescBuffer
 
struct  Meshlet
 Meshlet Class. This class defines what Meshlet data. More...
 
struct  MeshletGroup
 MeshletGroup for simplify. More...
 
class  MeshLoader
 MeshLoader Class. This class only defines static function for load data from mesh file. More...
 
class  MeshPack
 MeshPack Class. This class defines some basic behaves and variables. This class need to be inherited while use. More...
 
class  MeshProcessor
 Class for provide functions of process Meshpack. More...
 
struct  MeshResource
 Mesh Resources Data. More...
 
class  MouseButtonEvent
 This Class is inherited from Event Class. Inherit from it and create specific MouseButtonEvent class. More...
 
class  MouseButtonPressedEvent
 This Class is inherited from Event Class. More...
 
class  MouseButtonReleasedEvent
 This Class is inherited from Event Class. More...
 
class  MouseMovedEvent
 This Class is inherited from Event Class. More...
 
class  MouseScrolledEvent
 This Class is inherited from Event Class. More...
 
class  NativeScript
 Native C++ Script Class. More...
 
class  NativeScriptComponent
 NativeScriptComponent Class. This class defines the specific behaves of NativeScriptComponent. When we add an new NativeScriptComponent, we need inherit from this. More...
 
class  NativeScriptRegister
 Registry Native C++ Script Class. More...
 
class  NativeScriptSystem
 NativeScriptSystem Class. This class defines the specific behaves of NativeScriptSystem. More...
 
class  NsightPerfGPUProfilerContinuous
 Wrapper of Nvidia Nsight Performance Metrics. More...
 
class  NsightPerfGPUProfilerHUD
 Wrapper of Nvidia Nsight Performance HUD. More...
 
class  NsightPerfGPUProfilerOneshotCollection
 Wrapper of Nvidia Nsight Performance OneshotCollection. More...
 
class  NsightPerfGPUProfilerReportGenerator
 Wrapper of Nvidia NsightPerf GPU Performance ReportGenerator. More...
 
class  ObjectPool
 ObjectPool Class. Specific situation(Fixed size of block) of MemoryPool. More...
 
struct  OrthographicParam
 when ProjectionType==Orthographic, use this. More...
 
class  PageCache
 Page memory cache. Third level of memory allocator. More...
 
class  ParticleComponent
 ParticleComponent Class. This class defines the specific behaves of ParticleComponent. More...
 
class  ParticleRenderer
 ParticleRenderer Class. This class defines the particle render behaves. More...
 
struct  PerspectiveParam
 when ProjectionType==Perspective, use this. More...
 
struct  PipelineConfigInfo
 This struct included all infos usd to create a VkPipeline. More...
 
class  PipelineStatisticsQuerier
 Querier of Pipeline. More...
 
class  PlanePack
 PlanePack Class. This class defines plane type mesh pack. More...
 
class  PointLightComponent
 PointLightComponent Class. This class defines the specific behaves of PointLightComponent. More...
 
class  PostProcessRenderer
 PostProcessRenderer Class. This class defines the PostProcess render behaves. More...
 
class  PreRenderer
 PreRenderer Class. This class defines the global descriptor set. More...
 
class  ProcessLibrary
 Process Static Function Library. More...
 
class  Querier
 Basic interface of Queries. More...
 
struct  QueueHelper
 This struct contains all queues's identify we need. More...
 
class  RayTracingComposeRenderer
 SceneComposeRenderer Class. This class defines how we compose the scene. More...
 
class  RayTracingRenderer
 RayTracingRenderer Class. This class defines the ray tracing behaves. More...
 
struct  remove_pointer
 
struct  remove_pointer< _Ty * >
 
struct  remove_pointer< _Ty *_C::* >
 
struct  remove_pointer< _Ty *const >
 
struct  remove_pointer< _Ty *const _C::* >
 
struct  remove_pointer< _Ty *const volatile >
 
struct  remove_pointer< _Ty *const volatile _C::* >
 
struct  remove_pointer< _Ty *volatile >
 
struct  remove_pointer< _Ty *volatile _C::* >
 
class  Renderer
 Renderer Class. This class defines the basic behaves of renderer. When we add an new Renderer, we need inherit from this. More...
 
class  RendererCache
 Caches of Renderer data. This class treats all stored caches as garbage and actively cleans them up. More...
 
class  RendererManager
 RendererManager Class. This class Manages all renderer. More...
 
class  RendererPass
 This class is a wrapper of VulkanRenderPass. Used during Renderer. More...
 
class  RendererResource
 RendererResource Class. This class is a wrapper of framebuffer attachment. More...
 
struct  RendererResourceCreateInfo
 This struct defines the data used to create a texture2d. From render pass. More...
 
class  RendererResourcePool
 RendererResourcePool Class. This class is a pool of all framebuffer's attachment. More...
 
class  RendererSubPass
 This Class Combines some data relative to sub pass. Usually as a member variable of RendererPass. More...
 
class  RenderFrontend
 
class  RenderPassStatistics
 Statistics of RenderPass(Renderer). More...
 
class  RenderSystem
 ResourceSystem Class. This class defines the specific behaves of RenderSystem. More...
 
class  Resource
 Resource Wrapper of ResourceInstance. More...
 
class  ResourcePool
 Template ResourcePool Class. This class will assign Every Type of Resource per Pool. When we ask for resource, we will get from here instead of load it from disk indirectly. Now we use file path as resource identity. More...
 
class  ResourceSystem
 ResourceSystem Class. Handles resource load/unload event. More...
 
class  RuntimeWorld
 RuntimeWorld Class. This class defines the specific behave of RuntimeWorld. More...
 
class  SceneComposeRenderer
 SceneComposeRenderer Class. This class defines how we compose the scene. More...
 
class  ScopeTimer
 This class helps recording scope time and output logs. More...
 
class  semaphore
 std::semaphore Implementation. More...
 
class  Shader
 Shader Class. More...
 
class  ShaderCompiler
 Wrapper of shaderc compiler. More...
 
class  ShaderDataBase
 Implements a very simple shader database to help demonstrate how to use the Nsight Aftermath GPU crash dump decoder API. More...
 
class  ShaderHelper
 ShaderHelper Class. More...
 
class  ShaderLoader
 ShaderLoader Class. This class only defines static function for load data from shader file. More...
 
class  SkyBoxComponent
 SkyBoxComponent Class. This class defines the specific behaves of SkyBoxComponent. More...
 
class  SlateImage
 Slate image draw context. More...
 
class  SlateInfoBar
 This Class defines InfoBar instance. More...
 
class  SlateRegister
 This Class is the manager of all slate, it keeps all slate handle. More...
 
class  SlateRenderer
 SlateRenderer Class. This class defines the imgui render behaves. More...
 
class  SlateResizeEvent
 This Class is inherited from Event Class. Called by Viewport Resize. More...
 
class  SlateStyleLayout
 Wrappers of Slate StyleLayout Functions. More...
 
class  SlateSystem
 SlateSystem Class. This class defines the specific behaves of SlateSystem. More...
 
class  SpherePack
 SpherePack Class. This class defines sphere type mesh pack. More...
 
struct  SpicesEngineCategory
 Define a named category tag type. More...
 
struct  SpicesEngineDomain
 Define a custom domain tag type. More...
 
struct  SpicesEngineMessage
 Define a registered string tag type. More...
 
class  SpriteComponent
 SpriteComponent Class. This class defines the specific behaves of SpriteComponent. More...
 
class  SpriteRenderer
 SpriteRenderer Class. This class defines sprite render behaves. More...
 
struct  String2
 double string More...
 
class  StringLibrary
 String Static Function Library. More...
 
struct  SwapChainSupportDetails
 SwapChain Utils. Queried from device. More...
 
class  System
 System Class. This class defines the basic behaves of System. When we create an new System, we need inherit from this. More...
 
class  SystemManager
 SystemManager Class. This class defines the behave of SystemManager. More...
 
class  TagComponent
 TagComponent Class. This class defines the specific behaves of TagComponent. More...
 
class  TestRenderer
 
class  Texture
 Texture Class. This class defines the basic behaves of texture. When we add an new Texture, we need inherit from this. More...
 
class  Texture2D
 Texture2D Class. This class defines the basic behaves of texture2D. More...
 
class  Texture2DArray
 Texture2D Class. This class defines the basic behaves of Texture2DArray. More...
 
class  Texture2DCube
 Texture2DCube Class. This class defines the basic behaves of Texture2DCube. More...
 
class  TextureLoader
 TextureLoader Class. This class only defines static function for load data from image file. More...
 
struct  TextureParam
 This struct's data is defined from .material file. More...
 
class  Thread
 Thread Function Object. More...
 
class  ThreadCache
 Thread memory cache. First level of memory allocator. More...
 
class  ThreadCacheThreadWapper
 Wapper of Instance/Delete ThreadCache in thread. More...
 
class  ThreadLibrary
 Thread Static Function Library. More...
 
class  ThreadModel
 Wrappers of all Thread Pool. More...
 
class  ThreadPool_Basic
 Thread Pool Basic Class. Instance inherited from it and use multithreading feature. More...
 
class  TimeStamp
 This class is used for recoring current time. More...
 
class  TimestampQuerier
 Querier of GPU Timestamp. More...
 
class  TimeStep
 This Class handles our engine time step during frames. Global Unique. More...
 
class  TracyGPUContext
 Wapper of Tracy GPU collect features. More...
 
class  Transcoder
 Transcoder of Texture Container format and Transform format and GPU compress format. More...
 
struct  Transform
 Wrapper of 3D Transform. More...
 
class  TransformComponent
 TransformComponent Class. This class defines the specific behaves of TransformComponent. More...
 
struct  type_list
 Container of store Types. More...
 
struct  UInt2
 double unsigned int More...
 
class  UUID
 This class helps to generate a uuid for one resource. More...
 
class  UUIDComponent
 UUIDComponent Class. This class defines the specific behaves of UUIDComponent. More...
 
struct  variable_traits
 Declare of variable_traits. More...
 
struct  variable_traits< T * >
 Implementation of variable_traits without class. More...
 
struct  variable_traits< T C::* >
 Implementation of variable_traits with class. More...
 
class  ViewportGridRenderer
 ViewportGridRenderer Class. This class defines ViewportGrid render behaves. More...
 
class  ViewPortResizeQuerier
 Script of handle viewport resize event. More...
 
struct  VirtualGeometryBufferID
 The VirtualGeometryBufferID Texture's ImTextureID. More...
 
class  VulkanAccelerationStructure
 This Class is a Wrapper of VkAccelerationStructure. More...
 
class  VulkanBuffer
 This Class is a Wrapper of VulkanBuffer. More...
 
class  VulkanCmdThreadPool
 Wrappers of RHI Thread Pool. More...
 
class  VulkanCommandBuffer
 VulkanCommandBuffer Class. This class defines the VulkanCommandBuffer behaves. This class is just a wrapper of VkCommandBuffer. More...
 
class  VulkanCommandPool
 VulkanCommandPool Class. This class defines the VulkanCommandPool behaves. This class is just a wrapper of VkCommandPool. More...
 
class  VulkanCommandPoolThreadWrapper
 Wrapper of Instance/Delete VkCommandPool in thread. More...
 
class  VulkanComputePipeline
 This class is a wrapper of Compute Pipeline. More...
 
class  VulkanDebugUtils
 This Class Defines static function for helping vulkan debug. More...
 
class  VulkanDescriptorPool
 VulkanDescriptorPool Class. This class is the wrapper of VkDescriptorPool. More...
 
class  VulkanDescriptorSet
 This Class is a wrapper of VkDescriptorSet. More...
 
class  VulkanDescriptorSetLayout
 This Class is a Wrapper of VkDescriptorSetLayout. Usually used as a member variable in VulkanDescriptorSet. Single use is also allowed. More...
 
class  VulkanDevice
 VulkanInstance Class. This class defines the VulkanDevice behave. This class is just a wrapper of vkdevice. More...
 
class  VulkanDeviceGeneratedCommandsNV
 VulkanDeviceGeneratedCommandsNV Class. This class defines the VulkanDeviceGeneratedCommandsNV behaves. More...
 
struct  VulkanFunctions
 Vulkan Function Pointers Collection. It holds all function pointer which need get manually. More...
 
class  VulkanImage
 
class  VulkanIndirectCommandsLayoutNV
 VulkanIndirectCommandsLayoutNV Class. This class is just a wrapper of VkIndirectCommandsLayoutNV. More...
 
class  VulkanIndirectMeshPipelineNV
 This class is a wrapper of Indirect Mesh Pipeline. More...
 
class  VulkanIndirectPipelineNV
 This class is a wrapper of Indirect Pipeline. More...
 
class  VulkanInstance
 VulkanInstance Class. This class defines the VulkanInstance behaves. This class is just a wrapper of vkInstance and vkSurface. More...
 
class  VulkanMemoryAllocator
 
class  VulkanMeshPipeline
 This class is a wrapper of Mesh Pipeline. More...
 
class  VulkanObject
 VulkanObject Class. This class defines the basic behaves of VulkanObject. When we create an new VulkanObject, we need inherit from this. More...
 
class  VulkanPipeline
 This class is a wrapper of VkPipelineLayout and VkPipeline. More...
 
class  VulkanQueryPool
 This Class is a Wrapper of VulkanQueryPool. More...
 
class  VulkanRayTracing
 Wrapper of Scene RayTracing (KHR/VK) Features and Data. More...
 
class  VulkanRayTracingPipeline
 This class is a wrapper of RayTracing Pipeline. More...
 
class  VulkanRenderBackend
 This class defines the render backend behaves of Vulkan. More...
 
class  VulkanRenderPass
 VulkanRenderPass Class. This class defines the VulkanRenderPass behaves. This class is just a wrapper of VkRenderPass, VkFramebuffer. More...
 
class  VulkanShaderModule
 This Class is a Wrapper of VkShaderModule. More...
 
struct  VulkanState
 This struct contains all Vulkan object in used global. More...
 
class  VulkanSwapChain
 VulkanSwapChain Class. This class defines the VulkanSwapChain behaves. This class is just a wrapper of VkSwapchainKHR. More...
 
class  VulkanThreadQueue
 VulkanThreadQueue Class. This class is a wrapper of Thread VkQueue. More...
 
class  VulkanTimelineSemaphore
 VulkanTimelineSemaphore Class. This class is a wrapper of timeline VkSemaphore. More...
 
class  VulkanWindows
 VulkanWindows Class. This class defines the windows behaves. More...
 
class  WhittedRTWorld
 
class  WindowCloseEvent
 This Class is inherited from Event Class. More...
 
struct  WindowIcon
 This struct helps load the icon of window. More...
 
struct  WindowInfo
 This struct defines the basic information of window. More...
 
class  WindowResizeEvent
 This Class is inherited from Event Class. Called when window resized. This Event register by glfw window. More...
 
class  WindowResizeOverEvent
 
class  WindowsInput
 This Class Is Windows Platform Specific Input Class. More...
 
class  World
 World Class. This class defines the basic behaves of World. When we create an new world, we need inherit from this. More...
 
class  WorldEvent
 This Class is inherited from Event Class. Inherit from it and create specific KeyEvent class. Called when WorldMarkQuery tick. This Event register by ... More...
 
class  WorldFunctions
 World Functions Class. More...
 
class  WorldMarkQuerier
 Script of handle world mark. More...
 
class  WorldPickIDQuerier
 Script of handle world entity pick. More...
 
class  WorldPickRenderer
 WorldPickRenderer Class. This class defines the picked entity render behaves. More...
 
class  WorldPickStage2Renderer
 WorldPickRenderer Class. This class defines the picked entity render behaves. More...
 

Typedefs

typedef enum Spices::VMAMemoryPropertyFlagExtendBits VMAMemoryPropertyFlagExtendBits
 Map to VmaAllocationCreateFlagBits while use VMA for memory create.
 
using ClassType = std::reference_wrapper<const std::type_info>
 Using ClassType instead std::reference_wrapper<const std::type_info>.
 
using ThreadPool = ThreadPool_Basic<>
 Using ThreadPool as a simple format of ThreadPool_Basic<>
 
using KeyCode = uint16_t
 Helper Type instead uint16_t.
 
using Json = nlohmann::json
 
using MouseCode = uint16_t
 Helper Type instead uint16_t.
 
using DescriptorSetInfo = std::unordered_map<uint32_t, std::shared_ptr<VulkanDescriptorSet>>
 
using DescriptorManagerContainer = std::unordered_map<String2, DescriptorSetInfo>
 
template<auto F>
using function_pointer_type_t = decltype(detail::function_pointer_type(F))
 Get class const function pointer type.
 
template<auto F>
using function_traits_t = function_traits<function_pointer_type_t<F>>
 traits of function.
 
template<typename TypeList >
using head = typename detail::head<TypeList>::type
 Get first element of type_list.
 
template<typename TypeList >
using tail = typename detail::tail<TypeList>::type
 Get elements of type_list except the first.
 
template<typename TypeList , size_t N>
using nth = typename detail::nth<TypeList, N>::type
 Get element of type_list by specific index.
 
template<typename TypeList , template< typename > typename F>
using map = typename detail::map<TypeList, F>::type
 Replace type with a new type.
 
template<typename T , typename TypeList >
using cons = typename detail::cons<T, TypeList>::type
 Push a element to elements first.
 
template<typename TypeList1 , typename TypeList2 >
using concat = typename detail::concat<TypeList1, TypeList2>::type
 Combine two type_list.
 
template<typename TypeList >
using init = typename detail::init<TypeList>::type
 Keep elements except last.
 
template<typename TypeList , template< typename > typename F>
using filter = typename detail::filter<TypeList, F>::type
 Keep elements except filtered.
 
template<class _Ty >
using remove_pointer_t = typename remove_pointer<_Ty>::type
 
template<typename T >
using variable_type_t = typename detail::variable_type<T>::Type
 Simplify format of variable_type::Type.
 
template<typename T >
using variable_class_t = typename detail::variable_type<T>::Class
 Simplify format of variable_type::Class.
 

Enumerations

enum class  RendererType { Rasterization , PathTracing }
 
enum class  ThreadPoolEnum { Main = 0 , Game = 1 , RHI = 2 , Custom = 3 }
 ThreadPool Type Enum. More...
 
enum class  EventType {
  None = 0 , WindowClose , WindowResize , WindowResizeOver ,
  WindowFocus , WindowLostFocus , WindowMoved , AppTick ,
  AppUpdate , AppRender , SlateResize , KeyPressed ,
  KeyReleased , KeyTyped , MouseButtonPressed , MouseButtonReleased ,
  MouseMoved , MouseScrolled , MeshAdded
}
 This enum defines what specific event type is. More...
 
enum  EventCategory {
  None = 0 , EventCategoryApplication = (1 << 0) , EventCategorySlate = (1 << 1) , EventCategoryInput = (1 << 2) ,
  EventCategoryKeyboard = (1 << 3) , EventCategoryMouse = (1 << 4) , EventCategoryMouseButton = (1 << 5) , EventCategoryWorld = (1 << 6)
}
 This enum defines what specific event category is. More...
 
enum  VMAMemoryPropertyFlagExtendBits { VMA_MEMORY_PROPERTY_DEDICATED_MEMORY_BIT = 0x10000000 }
 Map to VmaAllocationCreateFlagBits while use VMA for memory create. More...
 
enum  FileModes { FILE_MODE_READ = 0x1 , FILE_MODE_WRITE = 0x2 }
 file mode More...
 
enum class  ObjectPoolSizeMode { FixedSize = 0 , FixedObjects = 1 }
 enum of ObjectPool expand mode More...
 
enum class  PoolMode { MODE_FIXED , MODE_CACHED }
 ThreadPool Run Mode. More...
 
enum  ProjectionType { Perspective = 0 , Orthographic = 1 }
 This Struct defines camera projection type. More...
 
enum class  TextureType { Texture2D , Texture2DArray , Texture2DCube , MAX }
 The enum of all Texture Type. More...
 
enum  FontMode { FONT_FIXED , FONT_PROPORTIONAL_SCALED , FONT_MONOSPACED_SCALED , FONT_MAX }
 Slate Font Mode. More...
 
enum class  Side {
  Left , Right , Up , Down ,
  Scene
}
 Where the slate's initialized pos. More...
 
enum class  ShaderStage {
  vert = 0 , geom = 1 , tesc = 2 , tese = 3 ,
  frag = 4 , task = 5 , mesh = 6 , rgen = 7 ,
  rint = 8 , rchit = 9 , rahit = 10 , rmiss = 11 ,
  comp = 12 , glsl = 13
}
 enum of shader stage. More...
 
enum class  PipelineStatisticEnum {
  INPUT_ASSEMBLY_VERTICES = 0 , INPUT_ASSEMBLY_PRIMITIVES = 1 , VERTEX_SHADER_INVOCATIONS = 2 , GEOMETRY_SHADER_INVOCATIONS = 3 ,
  GEOMETRY_SHADER_PRIMITIVES = 4 , CLIPPING_INVOCATIONS = 5 , CLIPPING_PRIMITIVES = 6 , FRAGMENT_SHADER_INVOCATIONS = 7 ,
  TESSELLATION_CONTROL_SHADER_PATCHES = 8 , TESSELLATION_EVALUATION_SHADER_INVOCATIONS = 9 , COMPUTE_SHADER_INVOCATIONS = 10 , TASK_SHADER_INVOCATIONS = 11 ,
  MESH_SHADER_INVOCATIONS = 12 , MAX = 13 , ALL = 0x00001FFF
}
 Enum of all pipeline statistics item. More...
 
enum  MeshExtension { UNKNOWN = 0 , OBJ = 1 , FBX = 2 , SASSET = 3 }
 This enum defines tree types of mesh file. More...
 
enum class  StyleLayoutEnum {
  Default = 0 , Animation = 1 , AnimationGraph = 2 , Paint = 3 ,
  Rendering = 4 , VisualScripting = 5 , PhysicsAuthoring = 6
}
 Enum of Slate StyleLayout. More...
 
enum class  ProcessState { BeforeEntry = 0 , Run = 1 , Exit = 2 }
 Process State Enum Definitions. More...
 
enum class  ClassItemType { UnSetted = 0 , Member = 1 , NonMember = 2 }
 class property/function type. More...
 

Functions

std::shared_ptr< WorldCreateWorld ()
 extern WorldCreation definition in Game.
 
template<typename F , typename ... Args>
static auto AsyncTask (ThreadPoolEnum pool, F &&func, Args &&... args) -> std::future< decltype(func(std::forward< Args >(args)...))>
 
template<typename F , typename ... Args>
static auto AsyncRHITask (ThreadPoolEnum pool, F &&func, Args &&... args) -> std::future< decltype(func(nullptr, std::forward< Args >(args)...))>
 
template<typename Func , typename ... Args>
void AsyncMainTask (ThreadPoolEnum pool, Func &&func, Args &&...args)
 
static void * SystemAlloc (size_t kpage)
 Alloc memory from system.
 
static void SystemFree (void *ptr)
 Free memory to system.
 
static size_t StrType2Size (const std::string &type)
 
std::ostream & operator<< (std::ostream &os, const Event &e)
 Serialize Event Type.
 
static void HandleVkResult (VkResult result)
 Handle VkResult Function.
 
glm::mat4 PerspectiveMatrix (float fov, float nearPlane, float farPlane, float aspectRatio)
 Calculate Perspective Matrix.
 
glm::mat4 OtrhographicMatrix (float left, float right, float top, float bottom, float nearPlane, float farPlane)
 Calculate Otrhographic Matrix.
 
glm::mat4 PerspectiveMatrixInverseZ (float fov, float nearPlane, float aspectRatio)
 Calculate Perspective Matrix(reverse z version).
 
bool DecomposeTransform (const glm::mat4 &transform, glm::vec3 &outTranslation, glm::vec3 &outRotation, glm::vec3 &outScale)
 Decompose matrix to split SRT transform.
 
static std::mt19937_64 s_Engine (s_RandomDevice())
 
static std::string PipelineStatisticEnumToString (PipelineStatisticEnum e)
 Transfer a PipelineStatisticEnum to a string.
 
static void SerializeShaderConfig (YAML::Emitter &out, const std::string &shaderStage, const std::string &shaderPath)
 Serialize Shader Config.
 
static void SerializeTextureConfig (YAML::Emitter &out, const std::string &name, const TextureParam &param)
 Serialize Texture Config.
 
YAML::Emitter & operator<< (YAML::Emitter &out, const glm::vec2 &v)
 
YAML::Emitter & operator<< (YAML::Emitter &out, const glm::vec3 &v)
 
YAML::Emitter & operator<< (YAML::Emitter &out, const glm::vec4 &v)
 
YAML::Emitter & operator<< (YAML::Emitter &out, const TextureParam &p)
 
YAML::Emitter & operator<< (YAML::Emitter &out, const ConstantParam &p)
 
 UFUNCTIONS (UCONSTRUCT(void(CLASS_SCOPE::*)(), CLASS_SCOPE), UDECONSTRUCT(void(CLASS_SCOPE::*)(), ~CLASS_SCOPE), UFUNCTION_T(bool(CLASS_SCOPE::*)(int, float), f), UFUNCTION_T(bool(CLASS_SCOPE::*)(int, float, void *, bool(CLASS_SCOPE::*)(int **, int &&)), f), UFUNCTION(fc), UFUNCTION(fs), UFUNCTION(mf< int >),) UPROPERTYS(UPROPERTY(i)
 
 UPROPERTY (ir)
 
 UPROPERTY (ip)
 
 UPROPERTY (ipr)
 
 UPROPERTY (ipp)
 
 UPROPERTY (ci)
 
 UPROPERTY (cir)
 
 UPROPERTY (cip)
 
 UPROPERTY (cipr)
 
 UPROPERTY (cipp)
 
 UPROPERTY (cicp)
 
 UPROPERTY (cicpcr)
 
 UPROPERTY_S (si)
 
template<typename T >
auto class_traits_i (T &inst)
 Get class_traits instance of class.
 

Variables

static const char * memoryPoolNames [3]
 MemoryPool's name.
 
static Event::EventCallbackFn EventCallback
 Single instance of Root Event Function Pointer.
 
constexpr uint32_t MaxFrameInFlight = 2
 Max In Flight Frame. 2 buffers are enough in this program.
 
static std::unordered_map< std::string, std::shared_ptr< Console > > m_GlobalConsolePool
 Global Console Pool.
 
static ObjectPool< ThreadCacheobjectPool
 ThreadCache ObjectPool for all threads.
 
const uint32_t THREAD_MAX_THRESHHOLD = std::thread::hardware_concurrency()
 
constexpr uint32_t THREAD_MAX_IDLE_TIME = 60
 
static std::random_device s_RandomDevice
 
static std::uniform_int_distribution< uint64_t > s_UniformDistribution
 
static std::unordered_set< uint64_t > s_IDs
 
const char * Metrics []
 The following metrics are for demonstration purposes only. For a more comprehensive set of single-pass metrics, please refer to the 'HudConfigurations'.
 
constexpr size_t numRangesPerFrame = 50
 
constexpr size_t numFramesToSample = MaxFrameInFlight
 
static FrameInfo m_FrameInfo
 
static constexpr int NThreadQueue = 4
 Thread Queue Count.
 
constexpr bool m_IsUseDGC = false
 Use DGC or not.
 
static scl::thread_unordered_map< std::string, std::shared_ptr< VulkanPipeline > > * m_SlatePipelinesPtr = nullptr
 
const int nCmdThreads = glm::min(4, static_cast<int>(0.5 * std::thread::hardware_concurrency()))
 
template<typename T >
constexpr bool is_function_v = detail::is_function<T>::value
 Determine if a given T is a function.
 
const WindowInfo initInfo { 2200, 1300, "Spices Engine", std::make_shared<WindowIcon>(SPICES_ENGINE_ASSETS_PATH + "Textures/src/Hello_Spices_Engine.png") }
 Window create parameter.
 
const std::string defaultBinMaterialPath = "Materials/bin/"
 Const variable: Bin Material File Path.
 
const std::string defaultMaterialPath = "Materials/src/"
 Const variable: Original Material File Path.
 
const std::string defaultBinShaderPath = "Shaders/spv/"
 Const variable: Bin Shader File Path.
 
constexpr char LoaderSignStart [100] = "#ItisSpicesMaterialSign: DataStart"
 Const variable: Material File Confirm header start.
 
constexpr char LoaderSignOver [100] = "#ItisSpicesMaterialSign: DateOver"
 Const variable: Material File Confirm header over.
 
const std::string defaultBinMeshPath = "Meshes/bin/"
 Const variable: Bin Mesh File Path.
 
const std::string defaultOBJMeshPath = "Meshes/src/obj/"
 Const variable: OBJ Mesh File Path.
 
const std::string defaultFBXMeshPath = "Meshes/src/fbx/"
 Const variable: FBX Mesh File Path.
 
constexpr char MeshLoaderSignStart [100] = "#ItisSpicesMeshSign: DataStart"
 Const variable: Mesh File Confirm header staer.
 
constexpr char MeshLoaderSignOver [100] = "#ItisSpicesMeshSign: DateOver"
 Const variable: Mesh File Confirm header over.
 
const std::string defaultShaderPath = "Shaders/src/"
 Const variable: Original Shader File Path.
 
const std::string defaultTexturePath = "Textures/src/"
 Const variable: Original Image File Path.
 
const std::string binTexturePath = "Textures/bin/"
 
template<typename TypeList , template< typename > typename F>
constexpr int count = detail::count<TypeList, F, TypeList::size - 1>::value
 Calculate count that meets requirement.
 
int ei = 5
 
int * eip = &ei
 
const int * ecip = eip
 
Spices::ClassTraitsTest inst
 
template<typename T >
constexpr bool is_const_v = is_const<T>::value
 value of is_const.
 
template<class >
constexpr bool is_pointer_v = false
 Declare of is_pointer.
 
template<class _Ty >
constexpr bool is_pointer_v< _Ty * > = true
 
template<class _Ty >
constexpr bool is_pointer_v< _Ty *const > = true
 
template<class _Ty >
constexpr bool is_pointer_v< _Ty *volatile > = true
 
template<class _Ty >
constexpr bool is_pointer_v< _Ty *const volatile > = true