Plasma Engine  2.0
Loading...
Searching...
No Matches
BufferDX11.h
1
2#pragma once
3
4#include <RendererFoundation/Resources/Buffer.h>
5#include <dxgi.h>
6
7struct ID3D11Buffer;
8
9class PL_RENDERERDX11_DLL plGALBufferDX11 : public plGALBuffer
10{
11public:
12 ID3D11Buffer* GetDXBuffer() const;
13
14 DXGI_FORMAT GetIndexFormat() const;
15
16protected:
17 friend class plGALDeviceDX11;
18 friend class plMemoryUtils;
19
21
22 virtual ~plGALBufferDX11();
23
24 virtual plResult InitPlatform(plGALDevice* pDevice, plArrayPtr<const plUInt8> pInitialData) override;
25 virtual plResult DeInitPlatform(plGALDevice* pDevice) override;
26
27 virtual void SetDebugNamePlatform(const char* szName) const override;
28
29 ID3D11Buffer* m_pDXBuffer = nullptr;
30
31 DXGI_FORMAT m_IndexFormat = DXGI_FORMAT_UNKNOWN; // Only applicable for index buffers
32};
33
34#include <RendererDX11/Resources/Implementation/BufferDX11_inl.h>
This class encapsulates an array and it's size. It is recommended to use this class instead of plain ...
Definition ArrayPtr.h:37
Definition BufferDX11.h:10
Definition Buffer.h:8
The DX11 device implementation of the graphics abstraction layer.
Definition DeviceDX11.h:32
The plRenderDevice class is the primary interface for interactions with rendering APIs It contains a ...
Definition Device.h:19
This class provides functions to work on raw memory.
Definition MemoryUtils.h:26
Definition Descriptors.h:169
Default enum for returning failure or success, instead of using a bool.
Definition Types.h:54