Sleeping Wombat Graphic API  1.010
swGraphicAPI
RenderCommands.h
Go to the documentation of this file.
1 #pragma once
2 
9 #include "swGraphicAPI/Resources/BlendingState.h"
11 #include "swGraphicAPI/Resources/RasterizerState.h"
12 
19 #define MAX_BOUND_RENDER_TARGETS 8
20 #define ENGINE_MAX_TEXTURES 8
21 
22 
26 {};
27 
28 
37 {
38  RenderTargetObject* RenderTargets[ MAX_BOUND_RENDER_TARGETS ];
45 };
46 
47 
53 {
54  uint16 TopLeftX;
55  uint16 TopLeftY;
56  uint16 Width;
57  uint16 Height;
58  float MinDepth;
59  float MaxDepth;
60 };
61 
62 
68 {
69  uint16 Left;
70  uint16 Top;
71  uint16 Right;
72  uint16 Bottom;
73 };
74 
75 
83 {
84  uint8 NumViews;
85  ViewportInfo* Viewports;
86  ScissorRectInfo* Scissors;
87  DirectX::XMFLOAT4 BlendFactor;
88  uint32 StencilMask;
89 };
90 
91 
95 {
96  RenderTargetObject* RenderTarget;
97  DirectX::XMFLOAT4 ClearColor;
98  float DepthValue;
99  uint8 StencilValue;
100  bool ClearDepth;
101  bool ClearStencil;
102  bool ClearRenderTarget;
103 };
104 
110 {
111  BufferObject* VertexBuffer;
112  BufferObject* IndexBufer;
113  ShaderInputLayout* Layout;
114  uint32 BufferOffset;
115  uint32 NumVertices;
116  int32 BaseVertex;
117  PrimitiveTopology Topology;
119 };
120 
125 {
127  uint16 NumInstances;
128 };
129 
130 
137 {
140  TextureObject* Textures[ 8 ];
141  uint8 BindToShader[ 8 ];
142 };
143 
144 
149 {
151  EvaluationShader* TessEvaluationShader;
152  ControlShader* TessControlShader;
153 };
154 
155 
160 {
161  BufferObject* TransformBuffer;
162  BufferObject* MaterialBuffer;
163  BufferObject* BonesTransforms;
164 };
165 
170 {};
171 
172 
177 {};
178 
179 
184 {
185  TextureObject* SourceTexture;
186  TextureObject* DestinationTexture;
187 };
188 
197 {
199  uint8 BufferSlot;
200  uint8 BindToShader;
201 };
202 
203 
208 {
210  uint8* FillData;
211  uint32 Size;
212 };
213 
214 
219 {
220  uint8* FillData;
221  uint32 Size;
222 };
Definition: DepthStencilState.h:45
Klasa przechowująca pixel shader.
Definition: MeshResources.h:429
Copy texture.
Definition: RenderCommands.h:183
Sets basic shaders and textures.
Definition: RenderCommands.h:136
BufferObject * CameraBuffer
Buffer updated once per render target (or even once per frame). Buffer is bound to both pixel and ver...
Definition: RenderCommands.h:43
Obiekt opakowujący bufor.Bufor może być zarówno buforem wierzchołków, indeksów jak i stałych...
Definition: MeshResources.h:516
Set state of rasterizer and render target.
Definition: RenderCommands.h:36
Sets geometry and tesselation shaders.
Definition: RenderCommands.h:148
RenderTargetObject * DepthStencil
Renderer will extract depth stencil from this render target. You can use one of objects from RenderTa...
Definition: RenderCommands.h:39
Set state of rasterizer and render target.
Definition: RenderCommands.h:94
Main draw command.
Definition: RenderCommands.h:109
Klasa przechowująca pixel shader.
Definition: MeshResources.h:450
uint8 BindToShader
Use ShaderType flag.
Definition: RenderCommands.h:200
BufferObject * LightBuffer
Buffer updated once per render target (or even once per frame). Buffer is bound only to pixel shader...
Definition: RenderCommands.h:44
Definition: RenderCommands.h:169
Klasa przechowująca pixel shader.
Definition: MeshResources.h:408
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
Klasa przechowująca pixel shader.
Definition: MeshResources.h:471
Viewport data.
Definition: RenderCommands.h:52
uint32 Size
Size in bytes.
Definition: RenderCommands.h:221
bool ExtendedIndex
Use 4 Index32 instead of Index16.
Definition: RenderCommands.h:118
Binds additional buffers.
Definition: RenderCommands.h:196
Instanced drawing command.
Definition: RenderCommands.h:124
Klasa przechowująca tekstury.Klasa bazowa, która będzie używana przez obiekty silnika. Powinny po niej odziedziczyć obiekty konkretnego API graficznego, żeby zaimplementować najważniejsze funkcjonalności.
Definition: MeshResources.h:206
Definition: RenderCommands.h:176
BlendFactor
Blend factor for blending equation.
Definition: GraphicAPIConstants.h:28
Set state of rasterizer and render target.
Definition: RenderCommands.h:82
DirectX11 buffer implementation.
Definition: DX11Buffer.h:16
Klasa przechowuje layout wierzchołka trafiającego do vertex shadera.
Definition: MeshResources.h:334
Klasa dla render targetów.Klasa umożliwia pobranie jednej z tekstur składowych i udostępnienie dla sh...
Definition: MeshResources.h:301
BufferObject * PerInstanceBuffer
Per instance transformation.
Definition: RenderCommands.h:126
ScissorRect data.
Definition: RenderCommands.h:67
uint8 BindToShader[8]
Use ShaderType flag.
Definition: RenderCommands.h:141
RenderTargetObject * RenderTargets[MAX_BOUND_RENDER_TARGETS]
Render targets. If you want to use only one slot, set other to nullptr.
Definition: RenderCommands.h:38
Klasa przechowująca vertex shader.
Definition: MeshResources.h:387
Rasterizer state and depth stencil state.
Definition: RasterizerState.h:67
Definition: BlendingState.h:72
PrimitiveTopology
Topologia wierzchołków.
Definition: GraphicAPIConstants.h:84
uint32 Size
Size in bytes.
Definition: RenderCommands.h:211
Base class for renderer commands.
Definition: RenderCommands.h:25