No more shared pointers
This commit is contained in:
@@ -38,52 +38,51 @@ public:
|
||||
return queueMapping;
|
||||
}
|
||||
|
||||
PShaderCompiler getShaderCompiler() const
|
||||
PShaderCompiler getShaderCompiler()
|
||||
{
|
||||
return shaderCompiler;
|
||||
}
|
||||
|
||||
virtual PWindow createWindow(const WindowCreateInfo &createInfo) = 0;
|
||||
virtual PViewport createViewport(PWindow owner, const ViewportCreateInfo &createInfo) = 0;
|
||||
virtual OWindow createWindow(const WindowCreateInfo &createInfo) = 0;
|
||||
virtual OViewport createViewport(PWindow owner, const ViewportCreateInfo &createInfo) = 0;
|
||||
|
||||
virtual PRenderPass createRenderPass(PRenderTargetLayout layout, PViewport renderArea) = 0;
|
||||
virtual ORenderPass createRenderPass(ORenderTargetLayout layout, PViewport renderArea) = 0;
|
||||
virtual void beginRenderPass(PRenderPass renderPass) = 0;
|
||||
virtual void endRenderPass() = 0;
|
||||
|
||||
virtual void executeCommands(const Array<PRenderCommand>& commands) = 0;
|
||||
virtual void executeCommands(const Array<PComputeCommand>& commands) = 0;
|
||||
|
||||
virtual PTexture2D createTexture2D(const TextureCreateInfo &createInfo) = 0;
|
||||
virtual PTexture3D createTexture3D(const TextureCreateInfo &createInfo) = 0;
|
||||
virtual PTextureCube createTextureCube(const TextureCreateInfo &createInfo) = 0;
|
||||
virtual PUniformBuffer createUniformBuffer(const UniformBufferCreateInfo &bulkData) = 0;
|
||||
virtual PShaderBuffer createShaderBuffer(const ShaderBufferCreateInfo &bulkData) = 0;
|
||||
virtual PVertexBuffer createVertexBuffer(const VertexBufferCreateInfo &bulkData) = 0;
|
||||
virtual PIndexBuffer createIndexBuffer(const IndexBufferCreateInfo &bulkData) = 0;
|
||||
virtual OTexture2D createTexture2D(const TextureCreateInfo &createInfo) = 0;
|
||||
virtual OTexture3D createTexture3D(const TextureCreateInfo &createInfo) = 0;
|
||||
virtual OTextureCube createTextureCube(const TextureCreateInfo &createInfo) = 0;
|
||||
virtual OUniformBuffer createUniformBuffer(const UniformBufferCreateInfo &bulkData) = 0;
|
||||
virtual OShaderBuffer createShaderBuffer(const ShaderBufferCreateInfo &bulkData) = 0;
|
||||
virtual OVertexBuffer createVertexBuffer(const VertexBufferCreateInfo &bulkData) = 0;
|
||||
virtual OIndexBuffer createIndexBuffer(const IndexBufferCreateInfo &bulkData) = 0;
|
||||
|
||||
virtual PRenderCommand createRenderCommand(const std::string& name = "") = 0;
|
||||
virtual PComputeCommand createComputeCommand(const std::string& name = "") = 0;
|
||||
virtual PVertexDeclaration createVertexDeclaration(const Array<VertexElement>& element) = 0;
|
||||
virtual PVertexShader createVertexShader(const ShaderCreateInfo& createInfo) = 0;
|
||||
virtual PFragmentShader createFragmentShader(const ShaderCreateInfo& createInfo) = 0;
|
||||
virtual PComputeShader createComputeShader(const ShaderCreateInfo& createInfo) = 0;
|
||||
virtual PMeshShader createMeshShader(const ShaderCreateInfo& createInfo) = 0;
|
||||
virtual PTaskShader createTaskShader(const ShaderCreateInfo& createInfo) = 0;
|
||||
virtual PGraphicsPipeline createGraphicsPipeline(const LegacyPipelineCreateInfo& createInfo) = 0;
|
||||
virtual PGraphicsPipeline createGraphicsPipeline(const MeshPipelineCreateInfo& createInfo) = 0;
|
||||
virtual PComputePipeline createComputePipeline(const ComputePipelineCreateInfo& createInfo) = 0;
|
||||
virtual PSamplerState createSamplerState(const SamplerCreateInfo& createInfo) = 0;
|
||||
|
||||
virtual OVertexDeclaration createVertexDeclaration(const Array<VertexElement>& element) = 0;
|
||||
virtual OVertexShader createVertexShader(const ShaderCreateInfo& createInfo) = 0;
|
||||
virtual OFragmentShader createFragmentShader(const ShaderCreateInfo& createInfo) = 0;
|
||||
virtual OComputeShader createComputeShader(const ShaderCreateInfo& createInfo) = 0;
|
||||
virtual OMeshShader createMeshShader(const ShaderCreateInfo& createInfo) = 0;
|
||||
virtual OTaskShader createTaskShader(const ShaderCreateInfo& createInfo) = 0;
|
||||
virtual OGraphicsPipeline createGraphicsPipeline(const LegacyPipelineCreateInfo& createInfo) = 0;
|
||||
virtual OGraphicsPipeline createGraphicsPipeline(const MeshPipelineCreateInfo& createInfo) = 0;
|
||||
virtual OComputePipeline createComputePipeline(const ComputePipelineCreateInfo& createInfo) = 0;
|
||||
virtual OSamplerState createSamplerState(const SamplerCreateInfo& createInfo) = 0;
|
||||
|
||||
virtual PDescriptorLayout createDescriptorLayout(const std::string& name = "") = 0;
|
||||
virtual PPipelineLayout createPipelineLayout(PPipelineLayout baseLayout = nullptr) = 0;
|
||||
virtual ODescriptorLayout createDescriptorLayout(const std::string& name = "") = 0;
|
||||
virtual OPipelineLayout createPipelineLayout(PPipelineLayout baseLayout = nullptr) = 0;
|
||||
|
||||
virtual void copyTexture(Gfx::PTexture srcTexture, Gfx::PTexture dstTexture) = 0;
|
||||
|
||||
PVertexBuffer getNullVertexBuffer();
|
||||
|
||||
protected:
|
||||
PVertexBuffer nullVertexBuffer;
|
||||
QueueFamilyMapping queueMapping;
|
||||
PShaderCompiler shaderCompiler;
|
||||
OShaderCompiler shaderCompiler;
|
||||
friend class Window;
|
||||
};
|
||||
DEFINE_REF(Graphics)
|
||||
|
||||
Reference in New Issue
Block a user