12# ifdef COMPILING_DLL_SimulatedRealityDirectX
13# define DIMENCOSR_API __declspec(dllexport)
15# define DIMENCOSR_API __declspec(dllimport)
36#pragma warning(suppress: 4251)
119 bool canWeave(
unsigned int width,
unsigned int height);
130 bool canWeave(
unsigned int width,
unsigned int height,
unsigned int xOffset,
unsigned int yOffset);
138 void weave(
unsigned int width,
unsigned int height);
148 void weave(
unsigned int width,
unsigned int height,
unsigned int xOffset,
unsigned int yOffset);
171 [[deprecated(
"For best performance use the PredictingDX9Weaver interface")]]
172 DX9Weaver(
SR::SRContext& context, IDirect3DDevice9* device,
unsigned int width,
unsigned int height, HWND window,
bool inputBufferIsSRGB =
false,
bool outputBufferIsSRGB =
false);
190 PredictingDX9Weaver(
SR::SRContext& context, IDirect3DDevice9* device,
unsigned int width,
unsigned int height, HWND window,
bool inputBufferIsSRGB =
false,
bool outputBufferIsSRGB =
false);
enum DIMENCOSR_API WeaverACTMode
Definition: WeaverTypes.h:29
Definition: dx9weaver.h:28
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 setCrosstalkDynamicFactor(float factor)
Sets the anti-crosstalk dynamic factor.
float getCrosstalkDynamicFactor() const
Gets the anti-crosstalk dynamic factor.
float getCrosstalkStaticFactor() const
Gets the anti-crosstalk factor.
std::unique_ptr< Impl > pimpl
Definition: dx9weaver.h:30
WeaverACTMode getACTMode() const
Gets the anti-crosstalk mode.
void invalidateDeviceObjects()
Free all resources that were created in the default memory pool. This method should be called before ...
void setACTMode(WeaverACTMode mode)
Sets the anti-crosstalk mode.
void restoreDeviceObjects()
Allocate all resources that are created in the default memory pool. This method should be called afte...
void setWindowHandle(HWND handle)
Sets the window handle of the application window.
void setShaderSRGBConversion(bool read, bool write)
Sets whether to apply shader sRGB<->Linear color space conversions to the input framebuffer during we...
float getContrast() const
Gets the current weaving contrast.
void weave(unsigned int width, unsigned int height, unsigned int xOffset, unsigned int yOffset)
Can be called to render a weaved image of a certain size to the currently bound framebuffer A framebu...
IDirect3DSurface9 * getFrameBuffer()
Returns the buffer that will be used to create a weaved image. This buffer expects a side-by-side ima...
void setInputFrameBuffer(IDirect3DTexture9 *frameBuffer)
Sets the buffer that will be used to create a weaved image. This will release the internally created ...
void setContrast(float contrast)
Sets the weaving contrast.
void setCrosstalkStaticFactor(float factor)
Sets the anti-crosstalk factor.
void weave(unsigned int width, unsigned int height)
Can be called to render a weaved image of a certain size to the currently bound framebuffer A framebu...
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...
Definition: dx9weaver.h:161
DX9Weaver(SR::SRContext &context, IDirect3DDevice9 *device, unsigned int width, unsigned int height, HWND window, bool inputBufferIsSRGB=false, bool outputBufferIsSRGB=false)
Constructs a class to be used for weaving an input image of a certain size.
~DX9Weaver()
Handles proper destruction of all weaver related classes and buffers.
Definition: dx9weaver.h:180
uint64_t getLatency()
Get the latency that is used by the weaver. If setLatency has been called, the value set by that func...
~PredictingDX9Weaver()
Handles proper destruction of all weaver related classes and buffers.
void setLatencyInFrames(uint64_t latencyInFrames)
Set the latency to match the expected duration of the full rendering pipeline in number of frames....
void setLatency(uint64_t latency)
Set the latency to match the expected duration of the full rendering pipeline.
PredictingDX9Weaver(SR::SRContext &context, IDirect3DDevice9 *device, unsigned int width, unsigned int height, HWND window, bool inputBufferIsSRGB=false, bool outputBufferIsSRGB=false)
Constructs a class to be used for weaving an input image of a certain size.
Maintains WorldObject and Sense objects during the application lifetime.
Definition: srcontext.h:75
#define DIMENCOSR_API
Definition: dx9weaver.h:18
Namespace containing all C++ Simulated Reality classes.
Definition: srconfiguration.h:20