17# ifdef COMPILING_DLL_SimulatedRealityDirectX
18# define DIMENCOSR_API __declspec(dllexport)
20# define DIMENCOSR_API __declspec(dllimport)
41#pragma warning(suppress: 4251)
103 [[deprecated(
"Use the canWeave(...) functions that accept parameters")]]
114 bool canWeave(
unsigned int width,
unsigned int height);
126 bool canWeave(
unsigned int width,
unsigned int height,
unsigned int xOffset,
unsigned int yOffset);
134 void weave(
unsigned int width,
unsigned int height);
144 void weave(
unsigned int width,
unsigned int height,
unsigned int xOffset,
unsigned int yOffset);
153 [[deprecated(
"Please set the commandlist with setCommandList() and use non-deprecated weave function")]]
154 void weave(ID3D12GraphicsCommandList* commandList,
unsigned int width,
unsigned int height);
165 [[deprecated(
"Please set the commandlist with setCommandList() and use non-deprecated weave function")]]
166 void weave(ID3D12GraphicsCommandList* commandList,
unsigned int width,
unsigned int height,
unsigned int xOffset,
unsigned int yOffset);
182 [[deprecated(
"Use non-deprecated constructors")]]
183 DX12Weaver(
SR::SRContext& context, ID3D12Device* device, ID3D12CommandAllocator* commandAllocator, ID3D12CommandQueue* commandQueue, ID3D12Resource* inputFramebuffer, ID3D12Resource* outputFramebuffer);
196 DX12Weaver(
SR::SRContext& context, ID3D12Device* device, ID3D12CommandAllocator* commandAllocator, ID3D12CommandQueue* commandQueue, ID3D12Resource* inputFramebuffer, ID3D12Resource* outputFramebuffer, HWND window);
211 DX12Weaver(
SR::SRContext& context, ID3D12Device* device, ID3D12CommandAllocator* commandAllocator, ID3D12CommandQueue* commandQueue, ID3D12Resource* inputFramebuffer, ID3D12Resource* outputFramebuffer, HWND window, DXGI_FORMAT inputBufferViewFormat);
232 [[deprecated(
"Use non-deprecated constructors")]]
233 PredictingDX12Weaver(
SR::SRContext& context, ID3D12Device* device, ID3D12CommandAllocator* commandAllocator, ID3D12CommandQueue* commandQueue, ID3D12Resource* inputFramebuffer, ID3D12Resource* outputFramebuffer);
246 PredictingDX12Weaver(
SR::SRContext& context, ID3D12Device* device, ID3D12CommandAllocator* commandAllocator, ID3D12CommandQueue* commandQueue, ID3D12Resource* inputFramebuffer, ID3D12Resource* outputFramebuffer, HWND window);
261 PredictingDX12Weaver(
SR::SRContext& context, ID3D12Device* device, ID3D12CommandAllocator* commandAllocator, ID3D12CommandQueue* commandQueue, ID3D12Resource* inputFramebuffer, ID3D12Resource* outputFramebuffer, HWND window, DXGI_FORMAT inputBufferViewFormat);
Definition: dx12weaver.h:33
void setInputFrameBuffer(ID3D12Resource *frameBuffer, DXGI_FORMAT bufferViewFormat)
Sets the input buffer of the weaver. This overload of the function should be used to specify the full...
bool canWeave(unsigned int width, unsigned int height, unsigned int xOffset, unsigned int yOffset)
Used to determine if software weaving is possible for certain size and visibility to the currently bo...
bool canWeave(unsigned int width, unsigned int height)
Used to determine if software weaving is possible for certain size and visibility to the currently bo...
void weave(ID3D12GraphicsCommandList *commandList, unsigned int width, unsigned int height, unsigned int xOffset, unsigned int yOffset)
Can be called to render a weaved image of inputFramebuffer provided to DX12Weaver::DX12Weaver(....
ID3D12Resource * getFrameBuffer()
Returns the input buffer of the weaver. When weave(...) is called on this object, this buffer should ...
bool canWeave()
Used to determine if software weaving is possible on this device. Always returns false if the input o...
std::unique_ptr< Impl > pimpl
Definition: dx12weaver.h:35
void setInputFrameBuffer(ID3D12Resource *frameBuffer)
Sets the input buffer of the weaver. When weave(...) is called on this object, this buffer should con...
void setCommandList(ID3D12GraphicsCommandList *commandList)
Sets the command list for the weaver to use. Must be set before the weave() function can be called.
void setOutputFrameBuffer(ID3D12Resource *frameBuffer)
Sets the output buffer of the weaver. After weave(...) has been called on this object,...
void setWindowHandle(HWND handle)
Sets the window handle of the application window. If the weaver was created using a deprecated constr...
void weave(unsigned int width, unsigned int height, unsigned int xOffset, unsigned int yOffset)
Can be called to render a weaved image of inputFramebuffer provided to DX12Weaver::DX12Weaver(....
void weave(ID3D12GraphicsCommandList *commandList, unsigned int width, unsigned int height)
Can be called to render a weaved image of inputFramebuffer provided to DX12Weaver::DX12Weaver(....
void weave(unsigned int width, unsigned int height)
Can be called to render a weaved image of inputFramebuffer provided to DX12Weaver::DX12Weaver(....
Definition: dx12weaver.h:169
DX12Weaver(SR::SRContext &context, ID3D12Device *device, ID3D12CommandAllocator *commandAllocator, ID3D12CommandQueue *commandQueue, ID3D12Resource *inputFramebuffer, ID3D12Resource *outputFramebuffer, HWND window, DXGI_FORMAT inputBufferViewFormat)
Constructs a class to be used for weaving an input image of a certain size This constructor should be...
DX12Weaver(SR::SRContext &context, ID3D12Device *device, ID3D12CommandAllocator *commandAllocator, ID3D12CommandQueue *commandQueue, ID3D12Resource *inputFramebuffer, ID3D12Resource *outputFramebuffer, HWND window)
Constructs a class to be used for weaving an input image of a certain size.
DX12Weaver(SR::SRContext &context, ID3D12Device *device, ID3D12CommandAllocator *commandAllocator, ID3D12CommandQueue *commandQueue, ID3D12Resource *inputFramebuffer, ID3D12Resource *outputFramebuffer)
Constructs a class to be used for weaving an input image of a certain size.
~DX12Weaver()
Handles proper destruction of all weaver related classes, buffers and references.
Definition: dx12weaver.h:219
void setLatencyInFrames(uint64_t latencyInFrames)
Set the latency to match the expected duration of the full rendering pipeline in number of frames....
~PredictingDX12Weaver()
Handles proper destruction of all weaver related classes, buffers and references.
PredictingDX12Weaver(SR::SRContext &context, ID3D12Device *device, ID3D12CommandAllocator *commandAllocator, ID3D12CommandQueue *commandQueue, ID3D12Resource *inputFramebuffer, ID3D12Resource *outputFramebuffer)
Constructs a class to be used for weaving an input image of a certain size.
void setLatency(uint64_t latency)
Set the latency to match the expected duration of the full rendering pipeline.
PredictingDX12Weaver(SR::SRContext &context, ID3D12Device *device, ID3D12CommandAllocator *commandAllocator, ID3D12CommandQueue *commandQueue, ID3D12Resource *inputFramebuffer, ID3D12Resource *outputFramebuffer, HWND window)
Constructs a class to be used for weaving an input image of a certain size.
PredictingDX12Weaver(SR::SRContext &context, ID3D12Device *device, ID3D12CommandAllocator *commandAllocator, ID3D12CommandQueue *commandQueue, ID3D12Resource *inputFramebuffer, ID3D12Resource *outputFramebuffer, HWND window, DXGI_FORMAT inputBufferViewFormat)
Constructs a class to be used for weaving an input image of a certain size This constructor should be...
Maintains WorldObject and Sense objects during the application lifetime.
Definition: srcontext.h:80
#define DIMENCOSR_API
Definition: dx12weaver.h:23
Namespace containing all C++ Simulated Reality classes.
Definition: srconfiguration.h:25