Sleeping Wombat GUI  0.100
swGUI
IRenderer.h
Go to the documentation of this file.
1 #pragma once
2 
10 #include "RenderCommands.h"
11 
12 
19 {
22 };
23 
24 
25 
29 class IRenderer
30 {
31 private:
32 public:
33  IRenderer() = default;
34  virtual ~IRenderer() = default;
35 
36 
37  virtual bool SupportsDefferedContextRendering() = 0;
38  virtual bool IsValid() = 0;
39 
40 
41  virtual void Draw ( const DrawCommand& command ) = 0;
42  virtual void DrawInstanced ( const DrawInstancedCommand& command ) = 0;
43 
44  virtual void SetRenderTarget ( const SetRenderTargetCommand& command ) = 0;
45  virtual void SetRenderTarget ( const SetRenderTargetExCommand& command ) = 0;
46  virtual void ClearRenderTarget ( const ClearRenderTargetCommand& command ) = 0;
47 
48  virtual void UpdateBuffer ( const UpdateBufferCommand& command ) = 0;
49  virtual void BindBuffer ( const BindBufferCommand& command ) = 0;
50  virtual void UpdateAndBindBuffer ( const UpdateBindBuffer& command ) = 0;
51 
52  virtual void SetDefaultBuffers ( const SetDefaultBuffersCommand& command ) = 0;
53 
54  virtual void SetShaderState ( const SetShaderStateCommand& command ) = 0;
55  virtual void SetShaderState ( const SetShaderStateExCommand& command ) = 0;
56  virtual void SetShaderState ( const SetRenderStateCommand& command ) = 0;
57  virtual void SetShaderState ( const SetRenderStateExCommand& command ) = 0;
58 
59  virtual void CopyTexture ( const CopyTextureCommand& command ) = 0;
60 };
61 
62 
Copy texture.
Definition: RenderCommands.h:183
Sets basic shaders and textures.
Definition: RenderCommands.h:136
Set state of rasterizer and render target.
Definition: RenderCommands.h:36
virtual void SetRenderTarget(const SetRenderTargetCommand &command)=0
Sets geometry and tesselation shaders.
Definition: RenderCommands.h:148
Renderowanie natychmiastowe.
Definition: IRenderer.h:21
Set state of rasterizer and render target.
Definition: RenderCommands.h:94
virtual bool SupportsDefferedContextRendering()=0
Informuje czy Renderer nadaje się do renderowania w wielu wątkach do opóźnionego contextu.
Klasa interfejsu renderera.
Definition: IRenderer.h:29
Main draw command.
Definition: RenderCommands.h:109
virtual ~IRenderer()=default
virtual void SetShaderState(const SetShaderStateCommand &command)=0
Renderowanie do kolejki rozkazów.
Definition: IRenderer.h:20
Definition: RenderCommands.h:169
RendererUsage
Sposób użycia renderera.
Definition: IRenderer.h:18
Binds buffer to pipeline and updates with given data.
Definition: RenderCommands.h:218
Plik zawiera deklaracje formatów wierzchołków oraz klas zawierających assety shadery itp...
Updates buffer with given data.
Definition: RenderCommands.h:207
Sets default buffers.
Definition: RenderCommands.h:159
virtual void UpdateBuffer(const UpdateBufferCommand &command)=0
Binds additional buffers.
Definition: RenderCommands.h:196
Instanced drawing command.
Definition: RenderCommands.h:124
virtual void Draw(const DrawCommand &command)=0
virtual void UpdateAndBindBuffer(const UpdateBindBuffer &command)=0
Definition: RenderCommands.h:176
Set state of rasterizer and render target.
Definition: RenderCommands.h:82
virtual void CopyTexture(const CopyTextureCommand &command)=0
IRenderer()=default
virtual void BindBuffer(const BindBufferCommand &command)=0
virtual void DrawInstanced(const DrawInstancedCommand &command)=0
virtual void SetDefaultBuffers(const SetDefaultBuffersCommand &command)=0
virtual bool IsValid()=0
virtual void ClearRenderTarget(const ClearRenderTargetCommand &command)=0