Sleeping Wombat Graphic API  1.010
swGraphicAPI
SwapChain.h
1 #pragma once
2 
4 
5 
6 typedef void* WindowHandler;
7 
8 
10 {
11  WindowHandler WindowHandle;
12  unsigned short Width;
13  unsigned short Height;
14  ResourceFormat Format;
15  uint8 SamplesCount;
16  uint8 SamplesQuality;
17  bool AllowFullscreen;
18  uint8 NumBuffers;
19 
20 
22  : SamplesCount( 1 )
23  , SamplesQuality( 0 )
24  , AllowFullscreen( true )
25  , Format( ResourceFormat::RESOURCE_FORMAT_R8G8B8A8_UNORM )
26  , WindowHandle( nullptr )
27  , NumBuffers( 1 )
28  {}
29 };
30 
31 
32 
33 class SwapChain : public ResourceObject
34 {
35  RTTR_ENABLE()
36 protected:
37 
38  ResourcePtr< RenderTargetObject > m_renderTarget;
39 
40 protected:
41  SwapChain( RenderTargetObject* windowRT )
43  , m_renderTarget( windowRT )
44  {
45  assert( windowRT );
46  }
47 
48 public:
49  virtual ~SwapChain()
50  {}
51 
52 
53  virtual void Present ( int syncInterval ) = 0;
54  virtual void Resize ( uint16 newWidth, uint16 newHeight ) = 0;
55 
56 
57  ResourcePtr< RenderTargetObject > GetRenderTarget () { return m_renderTarget; }
58 
59  // Inherited via ResourceObject
60  virtual std::string GetResourceName () const override { return "SwapChain: " + m_renderTarget->GetResourceName(); }
61 };
62 
ResourceFormat
Specyfikuje format tekstury bądź innego zasobu.
Definition: GraphicAPIConstants.h:153
ResourceObject(int id)
Definition: ResourceObject.h:44
#define WRONG_ID
Definition: MeshResources.h:29
Plik zawiera deklaracje formatów wierzchołków oraz klas zawierających assety shadery itp...
Definition: SwapChain.h:9
virtual std::string GetResourceName() const override
Zwraca nazwę zasobu. To może być nazwa pliku, na podstawie którego stworzono zasób, ale zasadniczo interpretacja jest dowolna.
Definition: SwapChain.h:60
Klasa dla render targetów.Klasa umożliwia pobranie jednej z tekstur składowych i udostępnienie dla sh...
Definition: MeshResources.h:301
Klasa ułatwiająca zarządzanie odwołaniami do assetów.Obiekty assetów (np. MaterialObject, TextureObject, VertexShader, PixelShader itp.) wymagają jakiegoś systemu zapewniającego współdzielenie między innymi obiektami.
Definition: ResourceObject.h:30
Definition: SwapChain.h:33
virtual std::string GetResourceName() const override
Definition: MeshResources.cpp:463