15 #ifndef vtkWin32OpenGLDXRenderWindow_h
16 #define vtkWin32OpenGLDXRenderWindow_h
18 #include "vtkRenderingOpenGL2Module.h"
24 struct ID3D11DeviceContext;
25 struct ID3D11Texture2D;
27 VTK_ABI_NAMESPACE_BEGIN
47 void SetD3DDeviceContext(ID3D11DeviceContext* context);
48 void SetD3DDeviceContext(
void* context);
70 void RegisterSharedTexture(
unsigned int colorId,
unsigned int depthId = 0);
71 void UnregisterSharedTexture();
77 void RegisterSharedRenderFramebuffer();
82 void RegisterSharedDisplayFramebuffer();
95 vtkSetMacro(SharedTextureSamples,
int);
96 vtkGetMacro(SharedTextureSamples,
int);
106 void BlitToTexture(ID3D11Texture2D*
color, ID3D11Texture2D* depth =
nullptr);
107 void BlitToTexture(
void*
color,
void* depth =
nullptr);
114 ID3D11Device* GetDevice();
121 ID3D11Texture2D* GetD3DSharedTexture();
122 ID3D11Texture2D* GetD3DSharedDepthTexture();
130 void SetAdapterId(LUID uid);
141 void SetColorTextureFormat(UINT format);
156 bool CreateTexture(UINT format, UINT bindFlags, ID3D11Texture2D** output);
157 void UpdateTextures();
160 std::unique_ptr<vtkInternals> Impl;
163 int SharedTextureSamples = 0;
165 VTK_ABI_NAMESPACE_END
static vtkWin32OpenGLRenderWindow * New()
void Initialize() override
Initialize the rendering window.
VTK render window providing OpenGL-DirectX interop.
a simple class to control print indentation
void SetSize(int width, int height) override
Set the size (width and height) of the rendering window in screen coordinates (in pixels)...
void PrintSelf(ostream &os, vtkIndent indent) override
Methods invoked by print to print information about the object including superclasses.