Portal Engine Api¶
Page Hierarchy¶
File Hierarchy¶
-
-
Directory portal
-
Directory engine
-
Directory components
- File base.h
- File base_camera_controller.cpp
- File base_camera_controller.h
- File camera.cpp
- File camera.h
- File mesh.h
- File movment.h
- File relationship.h
- File selection.h
- File transform.cpp
- File transform.h
-
Directory ecs
- File entity.cpp
- File entity.h
- File entity_iterators.cpp
- File entity_iterators.h
- File registry.cpp
- File registry.h
- File system.cpp
- File system.h
- File system_base.h
-
Directory editor
-
Directory panels
- File details_panel.cpp
- File details_panel.h
- File panel.h
- File editor_context.h
- File editor_module.cpp
- File editor_module.h
- File panel_manager.cpp
- File panel_manager.h
- File selection_manager.cpp
- File selection_manager.h
- File viewport.cpp
- File viewport.h
-
Directory panels
-
Directory events
- File window_events.h
-
Directory imgui
-
Directory theme
- File editor_theme.cpp
- File editor_theme.h
- File serializers.cpp
- File serializers.h
- File dialogs.cpp
- File dialogs.h
- File imgui_fonts.cpp
- File imgui_fonts.h
- File imgui_renderer.cpp
- File imgui_renderer.h
- File imgui_scoped.h
- File utils.cpp
- File utils.h
-
Directory theme
-
Directory modules
- File resources_module.cpp
- File resources_module.h
- File runtime_module.cpp
- File runtime_module.h
- File scheduler_module.cpp
- File scheduler_module.h
- File system_orchestrator.cpp
- File system_orchestrator.h
-
Directory project
- File project.cpp
- File project.h
-
Directory renderer
-
Directory descriptors
- File descriptor.h
- File descriptor_input.cpp
- File descriptor_input.h
- File descriptor_set_manager.h
- File descriptor_types.h
- File storage_buffer.h
- File uniform_buffer.h
-
Directory device
- File device.cpp
- File device.h
- File physical_device.cpp
- File physical_device.h
-
Directory image
- File image.cpp
- File image.h
- File image_types.h
- File sampler.h
- File texture.cpp
- File texture.h
-
Directory material
- File material.h
-
Directory pipeline
- File pipeline.h
- File pipeline_types.h
-
Directory queue
- File queue.h
-
Directory render_target
- File render_target.h
-
Directory shaders
- File shader.cpp
- File shader.h
- File shader_compiler.cpp
- File shader_compiler.h
- File shader_types.cpp
- File shader_types.h
-
Directory surface
- File capabilities.h
- File surface.cpp
- File surface.h
-
Directory vulkan
-
Directory base
- File allocated.cpp
- File allocated.h
- File builder_base.h
- File vulkan_resource.h
-
Directory debug
- File debug_messenger.cpp
- File debug_messenger.h
- Directory descriptors
- Directory device
-
Directory image
- File vulkan_image.cpp
- File vulkan_image.h
- File vulkan_sampler.cpp
- File vulkan_sampler.h
- File vulkan_texture.cpp
- File vulkan_texture.h
-
Directory queue
- File vulkan_queue.cpp
- File vulkan_queue.h
- Directory render_target
-
Directory surface
- File vulkan_surface.cpp
- File vulkan_surface.h
- File allocated_buffer.cpp
- File allocated_buffer.h
- File allocated_image.cpp
- File allocated_image.h
- File pipeline_builder.cpp
- File pipeline_builder.h
- File vulkan_common.h
- File vulkan_context.cpp
- File vulkan_context.h
- File vulkan_device.cpp
- File vulkan_device.h
- File vulkan_enum.cpp
- File vulkan_enum.h
- File vulkan_instance.cpp
- File vulkan_instance.h
- File vulkan_material.cpp
- File vulkan_material.h
- File vulkan_pipeline.cpp
- File vulkan_pipeline.h
- File vulkan_shader.cpp
- File vulkan_shader.h
- File vulkan_swapchain.cpp
- File vulkan_swapchain.h
- File vulkan_utils.cpp
- File vulkan_utils.h
-
Directory base
- File deletion_queue.cpp
- File deletion_queue.h
- File descriptor_allocator.cpp
- File descriptor_allocator.h
- File descriptor_layout_builder.cpp
- File descriptor_layout_builder.h
- File descriptor_writer.cpp
- File descriptor_writer.h
- File renderer.cpp
- File renderer.h
- File renderer_context.cpp
- File renderer_context.h
- File renderer_resource.h
- File rendering_context.h
- File rendering_types.h
-
Directory descriptors
-
Directory resources
- Directory database
-
Directory loader
- File font_loader.cpp
- File font_loader.h
- File gltf_loader.cpp
- File gltf_loader.h
- File loader.h
- File loader_factory.cpp
- File loader_factory.h
- File material_loader.cpp
- File material_loader.h
- File mesh_loader.cpp
- File mesh_loader.h
- File scene_loader.cpp
- File scene_loader.h
- File shader_loader.cpp
- File shader_loader.h
- File texture_loader.cpp
- File texture_loader.h
-
Directory resources
- File composite.cpp
- File composite.h
- File font.cpp
- File font.h
- File mesh_geometry.cpp
- File mesh_geometry.h
- File resource.cpp
- File resource.h
-
Directory source
- File file_source.cpp
- File file_source.h
- File memory_source.cpp
- File memory_source.h
- File resource_source.h
- File reference_manager.cpp
- File reference_manager.h
- File resource_reference.h
- File resource_registry.cpp
- File resource_registry.h
- File resource_types.cpp
- File resource_types.h
- File utils.cpp
- File utils.h
- Directory scene
- Directory systems
-
Directory window
- File glfw_window.cpp
- File glfw_window.h
- File window.cpp
- File window.h
- File window_event_consumer.h
- File config.h
- File engine.cpp
- File engine.h
- File engine_context.h
- File entry_point.h
- File reference.h
-
Directory components
-
Directory engine
-
Directory portal
Class Hierarchy¶
-
-
Namespace portal
-
Namespace portal::ecs
- Template Struct Owns
- Template Struct Views
- Class Registry
-
Template Class System
- Template Struct System::group_caller
- Template Struct System::group_caller< type_list< Owned... >, type_list< Viewed... > >
- Template Struct System::is_owns_wrapper
- Template Struct System::is_views_wrapper
- Class SystemBase
- Enum ExecutionPolicy
-
Namespace portal::imgui
- Struct ScopedButtonRepeat
- Struct ScopedChild
- Struct ScopedChildFrame
- Struct ScopedClipRect
- Struct ScopedColor
- Struct ScopedCombo
- Struct ScopedDragDropSource
- Struct ScopedDragDropTarget
- Struct ScopedFont
- Struct ScopedGroup
- Struct ScopedID
- Struct ScopedItemWidth
- Struct ScopedMainMenuBar
- Enum OutlineFlags_
- Struct ScopedMenu
- Struct ScopedMenuBar
- Struct ScopedPopup
- Struct ScopedPopupContextItem
- Struct ScopedPopupContextVoid
- Struct ScopedPopupContextWindow
- Struct ScopedPopupModal
- Struct ScopedStyle
- Struct ScopedTextWrapPos
- Struct ScopedTooltip
- Struct ScopedTreeNode
- Struct ScopedTreeNodeEx
- Struct ScopedTreeNodeV
- Struct ScopedWindow
- Enum ThemeColors
- Struct ScopedTreeNodeExV
- Struct ScopedTreeNodeIcon
- Class EditorTheme
-
Namespace portal::renderer
-
Namespace portal::renderer::image
- Enum Flags
- Struct ClearValue
- Struct Properties
- Struct SubresourceRange
-
Namespace portal::renderer::shader_reflection
- Struct BufferDescriptor
- Struct ImageSamplerDescriptor
- Struct PushConstantsRange
- Struct ShaderDescriptorSet
- Struct ShaderResourceDeclaration
- Struct StageInfo
- Struct Uniform
-
Namespace portal::renderer::vulkan
-
Namespace portal::renderer::vulkan::allocation
- Template Class Allocated
- Struct Bounds
- Struct BufferBuilder
- Struct DescriptorWriter
- Struct GPUCameraData
- Struct GPUDrawPushConstants
- Struct GPUMeshBuffers
- Struct GPUSceneData
- Struct ImageBuilder
- Struct SwapchainImageData
- Struct Vertex
- Struct VulkanImageInfo
- Class AllocatedBuffer
- Template Class BuilderBase
- Class DebugMessenger
- Class DescriptorAllocator
- Class DescriptorLayoutBuilder
- Class ImageAllocation
- Class PipelineBuilder
- Class VulkanContext
- Class VulkanDescriptorSetManager
- Class VulkanDevice
- Class VulkanImage
- Class VulkanImageView
- Class VulkanInstance
- Class VulkanMaterial
- Class VulkanPhysicalDevice
- Class VulkanPipeline
- Class VulkanQueue
- Class VulkanRenderTarget
- Template Class VulkanResource
- Class VulkanSampler
- Class VulkanShader
- Class VulkanShaderVariant
- Class VulkanStorageBuffer
- Class VulkanStorageBufferSet
- Class VulkanSurface
- Class VulkanSwapchain
- Class VulkanTexture
- Class VulkanUniformBuffer
- Class VulkanUniformBufferSet
-
Namespace portal::renderer::vulkan::allocation
- Struct AttachmentProperties
- Struct AttachmentTextureProperty
- Struct CompiledShader
- Struct DescriptorInput
- Struct DescriptorSetManagerProperties
- Struct DriverVersion
- Struct FrameRenderingContext
- Struct FrameResources
- Struct ImageViewProperties
- Struct MaterialProperties
- Struct PipelineProperties
- Struct PipelineStatistics
- Struct RenderObject
- Struct RenderTargetProperties
- Struct SamplerProperties
- Struct ShaderDefine
- Struct ShaderReflection
- Struct StorageBufferProperties
- Struct SurfaceCapabilities
- Struct SurfaceProperties
- Struct TextureProperties
- Class BufferDescriptor
- Class DescriptorSetManager
- Class Device
- Class Image
- Class ImageView
- Class Material
- Class PhysicalDevice
- Class Pipeline
- Class Queue
- Class RendererResource
- Class RenderTarget
- Class Sampler
- Class Shader
- Class ShaderCompiler
- Class ShaderVariant
- Class StorageBuffer
- Class StorageBufferSet
- Class Surface
- Class Texture
- Class UniformBuffer
- Class UniformBufferSet
- Enum AttachmentLoadOperator
- Enum BlendMode
- Enum DepthCompareOperator
- Enum DescriptorResourceType
- Enum DescriptorType
- Enum ImageFormat
- Enum ImageUsage
- Enum PipelineStage
- Enum PrimitiveTopology
- Enum ResourceAccessFlags
- Enum SamplerMipmapMode
- Enum ShaderStage
- Enum SurfaceTransformBits
- Enum SurfaceType
- Enum TextureFilter
- Enum TextureType
- Enum TextureWrap
-
Namespace portal::renderer::image
-
Namespace portal::resources
- Struct Bounds
- Struct MaterialDetails
- Struct MeshData
-
Struct MeshGeometryData
- Struct MeshGeometryData::Submesh
- Struct MeshSceneComponent
- Struct NodeDescription
- Struct SceneDescription
- Struct TransformSceneComponent
- Struct Vertex
- Class FileSource
- Class FontLoader
- Class GltfLoader
- Class LoaderFactory
- Class MaterialLoader
- Class MemorySource
- Class MeshLoader
- Class NodeComponentVisitor
- Class ResourceLoader
- Class ResourceSource
- Class SceneLoader
- Class ShaderLoader
- Class StubLoader
- Class TextureLoader
- Enum MaterialPass
- Template Struct Archivable< ImGuiStyle >
- Template Struct Archivable< ImVec2 >
- Template Struct Archivable< ImVec4 >
- Struct CallbackConsumers
- Struct CameraComponent
- Struct CompositeMetadata
- Struct DatabaseDescription
- Struct DatabaseMetadata
- Struct EditorContext
- Struct EmptyMeta
- Template Struct FlagTraits< portal::renderer::SurfaceTransformBits >
- Template Struct FlagTraits< ResourceDirtyBits >
- Struct FontMetadata
- Struct FontProperties
- Struct ImGuiFontConfiguration
- Struct InputComponent
- Struct MainCameraTag
- Struct MaterialMetadata
- Struct NameComponent
- Struct PlayerTag
- Struct ProjectProperties
- Struct RelationshipComponent
- Struct SceneTag
- Struct SelectionComponent
- Struct SourceMetadata
- Struct SpeedComponent
- Struct StaticMeshComponent
- Struct TextureMetadata
- Struct TransformDirtyTag
- Struct TransformVec3Consts
- Struct WindowExtent
- Struct WindowProperties
- Class BaseCameraController
- Class BaseCameraSystem
- Class BasePlayerInputSystem
- Class ChildIterator
- Class ChildRange
- Class Composite
- Class DeletionQueue
- Class DetailsPanel
- Class EditorModule
- Class Engine
- Class EngineContext
- Class Entity
- Class FolderResourceDatabase
- Class Font
- Class GlfwWindow
- Class ImGuiFonts
- Class ImGuiRenderer
- Class MeshGeometry
- Class Panel
- Class PanelManager
- Class Project
- Class RecursiveChildIterator
- Class RecursiveChildRange
- Class ReferenceManager
- Class Renderer
- Class RendererContext
- Class Resource
- Class ResourceDatabase
- Class ResourceDatabaseFacade
- Class ResourceDatabaseFactory
- Template Class ResourceReference
- Class ResourceRegistry
- Class ResourcesModule
- Class RuntimeModule
- Class Scene
- Class SceneRenderingSystem
- Class SchedulerModule
- Class SelectionSystem
- Class SystemOrchestrator
- Class TransformComponent
- Class TransformHierarchySystem
- Class Viewport
- Class Window
- Class WindowCloseEvent
- Class WindowEventConsumer
- Class WindowResizeEvent
- Enum DatabaseErrorBit
- Enum DatabaseType
- Enum ProjectionType
- Enum ProjectType
- Enum ResourceDirtyBits
- Enum ResourceState
- Enum ResourceType
- Enum SourceFormat
- Enum WindowMode
-
Namespace portal::ecs
-
Namespace std
- Template Struct hash< portal::ResourceType >
-
Namespace portal
Full API¶
Namespaces¶
Classes and Structs¶
- Class Registry
- Inheritance Relationships
- Class Documentation
portal::ecs::RegistryRegistry()~Registry()entity_from_id()find_or_create()create_entity()find_or_create_child()create_child_entity()get_env_entity()destroy_entity()clear()clear()view()group()group()group()add_default_component()register_system()register_system()get_raw_registry()ENV_ENTITY_IDmake_entity()
- Class Entity
- Class Documentation
portal::EntityEntity()Entity()Entity()add_component()add_component()patch_component()remove_component()set_parent()remove_child()get_component()get_component()try_get_component()try_get_component()has_component()has_any()is_valid()get_id()get_name()operator uint32_t()operator entt::entity()operator bool()operator==()get_parent()get_parent_id()children()descendants()is_ancestor_of()is_descendant_of()get_registry()
- Class Documentation
- Template Class Allocated
- Inheritance Relationships
- Class Documentation
portal::renderer::vulkan::allocation::AllocatedAllocated()Allocated()Allocated()operator=()operator=()operator=()get()flush()get_data()get_data()get_memory()map()mapped()unmap()update()update()update()update()update()convert_and_update()update_typed()Allocated()Allocated()create_buffer()create_image()post_create()destroy_buffer()destroy_image()clear()
- Template Class BuilderBase
- Class Documentation
portal::renderer::vulkan::BuilderBase~BuilderBase()get_allocation_create_info()get_create_info()get_debug_name()with_debug_name()with_implicit_sharing_mode()with_memory_type_bits()with_queue_families()with_queue_families()with_sharing_mode()with_vma_flags()with_vma_pool()with_vma_preferred_flags()with_vma_required_flags()with_vma_usage()get_create_info()BuilderBase()alloc_create_infocreate_infodebug_name
- Class Documentation
- Class PipelineBuilder
- Class Documentation
portal::renderer::vulkan::PipelineBuilderadd_shader()set_vertex_bindings()set_vertex_attributes()set_input_topology()set_polygon_mode()set_cull_mode()set_line_width()disable_multisampling()enable_depth_stencil()disable_depth_stencil()set_color_attachment_number()set_blending_additive()set_blending_alpha()set_blend()disable_color_blending()set_color_attachment_formats()set_depth_format()set_layout()set_name()build()shader_stagesdynamic_statesvertex_input_statemultisamplingdepth_stencilcolor_blend_attachmentscolor_blendingpipeline_rendering_create_infopipeline_layoutcolor_formatsname
- Class Documentation
- Class VulkanDescriptorSetManager
- Nested Relationships
- Inheritance Relationships
- Class Documentation
portal::renderer::vulkan::VulkanDescriptorSetManager~VulkanDescriptorSetManager()VulkanDescriptorSetManager()operator=()set_input()set_input()set_input()set_input()set_input()set_input()set_input()get_input()get_input()is_invalidated()validate()bake()get_input_declaration()invalidate_and_update()get_first_set_index()get_descriptor_sets()input_resourcesinvalid_input_resourcesinput_declarationsdescriptor_setswrite_descriptors_mapcreate()create_unique()portal::renderer::vulkan::VulkanDescriptorSetManager::WriteDescriptor
- Class VulkanDevice
- Nested Relationships
- Inheritance Relationships
- Class Documentation
portal::renderer::vulkan::VulkanDeviceQueueTypeVulkanDevice()add_present_queue()create_buffer()create_buffer_shared()create_image()create_image_view()destory_image_view()create_sampler()create_descriptor_set_layout()create_pipeline_layout()create_shader_module()create_pipeline()immediate_submit()wait_for_fences()wait_idle()get_handle()get_handle()get_graphics_queue()get_compute_queue()get_transfer_queue()get_present_queue()set_debug_name()set_debug_name()set_debug_name()
- Class VulkanImage
- Inheritance Relationships
- Class Documentation
portal::renderer::vulkan::VulkanImageVulkanImage()VulkanImage()VulkanImage()~VulkanImage()reallocate()resize()release()is_image_valid()get_width()get_height()get_size()get_format()has_mip()get_aspect_ratio()get_view()get_closest_mip_level()get_mip_level_dimensions()get_prop()get_prop()create_per_layer_image_view()get_mip_image_view()get_layer_image_view()get_image_info()get_descriptor_image_info()get_image()get_sampler()get_buffer()get_buffer()set_data()copy_to_host_buffer()update_descriptor()
- Class VulkanMaterial
- Nested Relationships
- Inheritance Relationships
- Class Documentation
portal::renderer::vulkan::VulkanMaterialVulkanMaterial()~VulkanMaterial()set_pipeline()get_pipeline()set()set()set()set()get_texture()get_image()get_image_view()get_shader()get_descriptor_set()operator==()set()set()set()get()get()get()set_property()get_property()portal::renderer::vulkan::VulkanMaterial::UniformPointer
- Class VulkanPhysicalDevice
- Nested Relationships
- Inheritance Relationships
- Class Documentation
portal::renderer::vulkan::VulkanPhysicalDeviceFeaturesVulkanPhysicalDevice()find_depth_format()get_driver_version()is_extension_supported()supports_present()get_features_chain()get_format_properties()get_handle()get_features()get_properties()get_memory_properties()get_queue_family_properties()get_queue_family_indices()portal::renderer::vulkan::VulkanPhysicalDevice::QueueFamilyIndices
- Class VulkanRenderTarget
- Inheritance Relationships
- Class Documentation
portal::renderer::vulkan::VulkanRenderTargetVulkanRenderTarget()~VulkanRenderTarget()resize()make_rendering_info()get_width()get_height()get_viewport_bounds()get_color_attachment_count()has_depth_attachment()get_properties()get_depth_format()get_color_formats()get_color_images_count()get_image()has_depth_image()get_depth_image()initialize()release()propcontextwidthheightcolor_formatsdepth_formatrendering_attachmentsdepth_renderingrendering_infocolor_imagesdepth_image
- Class Window
- Inheritance Relationships
- Class Documentation
portal::WindowWindow()process_events()should_close()close()resize()create_surface()get_dpi_factor()get_content_scale_factor()maximize()center_window()set_vsync()set_resizeable()set_title()get_position()get_width()get_height()get_extent()get_title()is_resizeable()get_mode()is_vsynced()get_properties()propertiesconsumers
Enums¶
- Enum ImageFormat
- Enum Documentation
ImageFormatNoneR8_UNormR8_UIntR16_UIntR32_UIntR16_FloatR32_FloatRG8_UNormRG8_UIntRG16_UIntRG32_UIntRG16_FloatRG32_FloatRGB8_UNormBGRA8_UNormBGRA8_SRGBRGB8_UIntRGB16_UIntRGB32_UIntRGB16_FloatRGB32_FloatRGBA8_UNormRGBA8_UIntRGBA16_UIntRGBA32_UIntRGBA16_FloatRGBA32_FloatSRGBSRGBADepth_32Float_Stencil_8UIntDepth_32FloatDepth_24UNorm_Stencil_8UIntDepth_16UNorm_Stencil_8UIntDepth_16UNormDepth
- Enum Documentation
- Enum PipelineStage
- Enum Documentation
PipelineStageNoneTopOfPipeDrawIndirectVertexInputVertexShaderTessellationControlShaderTessellationEvaluationShaderGeometryShaderFragmentShaderEarlyFragmentTestsLateFragmentTestsColorAttachmentOutputComputeShaderTransferBottomOfPipeHostAllGraphicsAllCommandsAccelerationStructureBuildRayTracingShaderMeshShader
- Enum Documentation
- Enum ResourceAccessFlags
- Enum Documentation
ResourceAccessFlagsNoneIndirectCommandReadIndexReadVertexAttributeReadUniformReadInputAttachmentReadShaderReadShaderWriteColorAttachmentReadColorAttachmentWriteDepthStencilAttachmentReadDepthStencilAttachmentWriteTransferReadTransferWriteHostReadHostWriteMemoryReadMemoryWriteAccelerationStructureReadAccelerationStructureWrite
- Enum Documentation