6#include <Common/primitive_type.h>
7#include <Math/TVector2.h>
8#include <Math/TVector3.h>
9#include <Utility/TSpan.h>
14namespace ph::editor {
class GHIThreadUpdateContext; }
50 std::string shaderSource) = 0;
65 std::size_t numVertices,
74 std::size_t numIndices,
83 TSpanView<VertexStorageHandle> vertexStorages,
92 TSpanView<std::byte> pixelData,
Definition GHIThreadUpdateContext.h:11
Definition ghi_infos.h:124
Manages the creation and deletion of graphics-related resource objects. All create<XXX>() and delete<...
Definition GraphicsObjectManager.h:26
virtual void endFrameUpdate(const GHIThreadUpdateContext &ctx)=0
Called by GHI thread when a frame ends.
virtual ShaderProgramHandle createShaderProgram(std::string name, const ShaderSetInfo &shaders)=0
virtual ~GraphicsObjectManager()
virtual void onGHIUnload()=0
Called by GHI thread before GHI is unloaded.
virtual MeshHandle createMesh(TSpanView< VertexStorageHandle > vertexStorages, const MeshVertexLayoutInfo &layout, IndexStorageHandle indexStorage)=0
virtual void removeIndexStorage(IndexStorageHandle handle)=0
virtual void removeShader(ShaderHandle handle)=0
virtual void removeTexture(TextureHandle handle)=0
virtual void removeFramebuffer(FramebufferHandle handle)=0
virtual IndexStorageHandle createIndexStorage(std::size_t numIndices, EStorageElement indexType, EStorageUsage usage)=0
virtual void removeVertexStorage(VertexStorageHandle handle)=0
virtual ShaderHandle createShader(std::string name, EShadingStage shadingStage, std::string shaderSource)=0
virtual void removeMesh(MeshHandle handle)=0
virtual void beginFrameUpdate(const GHIThreadUpdateContext &ctx)=0
Called by GHI thread when a frame begins.
virtual void removeShaderProgram(ShaderProgramHandle handle)=0
virtual VertexStorageHandle createVertexStorage(std::size_t numVertices, const VertexGroupFormatInfo &format, EStorageUsage usage)=0
virtual void uploadPixelData(TextureHandle handle, TSpanView< std::byte > pixelData, EPixelFormat pixelFormat, EPixelComponent pixelComponent)=0
virtual TextureHandle createTexture(const TextureDesc &desc)=0
virtual void onGHILoad()=0
Called by GHI thread after GHI is loaded.
virtual FramebufferHandle createFramebuffer(const FramebufferDesc &desc)=0
Definition ghi_infos.h:46
Definition ghi_infos.h:101
Definition PlatformDisplay.h:13
EPixelFormat
Definition ghi_enums.h:31
EStorageElement
Definition ghi_enums.h:70
EShadingStage
Definition ghi_enums.h:104
EStorageUsage
Definition ghi_enums.h:86
EPixelComponent
Definition ghi_enums.h:42
Definition ph_editor.h:10