SRSDK  0.10.39
Loading...
Searching...
No Matches
interlacer.d3d11.hpp
Go to the documentation of this file.
1#ifndef CNSDK_LEIA_CORE_CXX_INTERLACER_D3D11_HPP
2#define CNSDK_LEIA_CORE_CXX_INTERLACER_D3D11_HPP
3
6
12namespace leia {
13
18public:
19 InterlacerD3D11(Core& core, InterlacerInitConfiguration const& config, ID3D11DeviceContext* context)
20 : Interlacer(leia_interlacer_d3d11_initialize(core.GetHandle(), config.GetHandle(), context), true)
21 {
22 }
27
28 void DoPostProcess(int width, int height, bool blendedInterlace, ID3D11RenderTargetView* resultTexture)
29 {
30 leia_interlacer_d3d11_do_post_process(_interlacer, width, height, blendedInterlace, resultTexture);
31 }
32
44 void SetSourceViews(ID3D11ShaderResourceView* texture, int viewIndex = 0, int layer = 0)
45 {
46 leia_interlacer_d3d11_set_source_views(_interlacer, texture, viewIndex, layer);
47 }
48
49 InterlacerD3D11(leia_interlacer* nonOwningInterlacer) : Interlacer(nonOwningInterlacer, false)
50 {
51 }
52};
53
56{
57 if (interlacer && interlacer->GetGraphicsAPI() == LEIA_GRAPHICS_API_D3D11)
58 {
59 return static_cast<InterlacerD3D11*>(interlacer);
60 }
61 return nullptr;
62}
63
64} // namespace leia
65
70#endif // CNSDK_LEIA_CORE_CXX_INTERLACER_D3D11_HPP
C++ wrapper for leia_core.
Definition core.hpp:151
C++ wrapper for D3D11 leia_interlacer.
Definition interlacer.d3d11.hpp:17
InterlacerD3D11 & operator=(InterlacerD3D11 &&)=default
void DoPostProcess(int width, int height, bool blendedInterlace, ID3D11RenderTargetView *resultTexture)
Definition interlacer.d3d11.hpp:28
InterlacerD3D11(Core &core, InterlacerInitConfiguration const &config, ID3D11DeviceContext *context)
Definition interlacer.d3d11.hpp:19
InterlacerD3D11(leia_interlacer *nonOwningInterlacer)
Definition interlacer.d3d11.hpp:49
InterlacerD3D11(InterlacerD3D11 &&)=default
void SetSourceViews(ID3D11ShaderResourceView *texture, int viewIndex=0, int layer=0)
Set Direct3D 11 view texture.
Definition interlacer.d3d11.hpp:44
InterlacerD3D11 & operator=(InterlacerD3D11 const &)=delete
InterlacerD3D11(InterlacerD3D11 const &)=delete
C++ wrapper for leia_interlacer.
Definition interlacer.hpp:26
leia_interlacer * _interlacer
Definition interlacer.hpp:367
LEIA_NODISCARD GraphicsAPI GetGraphicsAPI()
Definition interlacer.hpp:344
LEIA_NODISCARD leia_interlacer * GetHandle() const
Definition interlacer.hpp:350
C++ wrapper for leia_interlacer_init_configuration.
Definition interlacer.hpp:604
@ LEIA_GRAPHICS_API_D3D11
Definition types.h:15
#define LEIA_NODISCARD
Definition defines.h:86
Definition types.hpp:10
LEIA_NODISCARD InterlacerD3D11 * AsD3D11(Interlacer *interlacer)
Definition interlacer.d3d11.hpp:55
The main entity used for performing interlacing on Leia devices.
Definition interlacer.h:41