| 1 | #pragma once |
|---|---|
| 2 | |
| 3 | namespace al { |
| 4 | class GraphicsCopyInfo; |
| 5 | class GraphicsComputeInfo; |
| 6 | class GraphicsUpdateInfo; |
| 7 | class GraphicsRenderInfo; |
| 8 | class GraphicsCalcGpuInfo; |
| 9 | class RenderVariables; |
| 10 | |
| 11 | class IUsePartsGraphics { |
| 12 | public: |
| 13 | virtual void finalize() = 0; |
| 14 | virtual void endInit(); |
| 15 | virtual void doCommandBufferCopy(const GraphicsCopyInfo*) const; |
| 16 | virtual void doComputeShader(const GraphicsComputeInfo*) const; |
| 17 | virtual void drawSystem(const GraphicsRenderInfo*) const; |
| 18 | virtual void update(const GraphicsUpdateInfo&) = 0; |
| 19 | virtual void calcGpu(const GraphicsCalcGpuInfo&) = 0; |
| 20 | virtual void drawGBufferAfterSky(const GraphicsRenderInfo&) const; |
| 21 | virtual void drawForward(const GraphicsRenderInfo&, const RenderVariables&) const; |
| 22 | virtual void drawDeferred(const GraphicsRenderInfo&) const; |
| 23 | virtual void drawLdr(const GraphicsRenderInfo&) const; |
| 24 | virtual void drawIndirect(const GraphicsRenderInfo&, const RenderVariables&) const; |
| 25 | virtual void drawCubemap(const GraphicsRenderInfo&) const; |
| 26 | virtual const char* getName() const = 0; |
| 27 | }; |
| 28 | } // namespace al |
| 29 |