Blender V5.0
GHOST_XrGraphicsBindingD3D Class Reference

#include <GHOST_XrGraphicsBindingD3D.hh>

Inherits GHOST_IXrGraphicsBinding.

Inherited by GHOST_XrGraphicsBindingOpenGLD3D.

Public Member Functions

void submitToSwapchainBegin () override
void submitToSwapchainEnd () override
Direct3D binding
 GHOST_XrGraphicsBindingD3D ()
 ~GHOST_XrGraphicsBindingD3D () override
bool checkVersionRequirements (GHOST_Context &ghost_ctx, XrInstance instance, XrSystemId system_id, std::string *r_requirement_info) const override
void initFromGhostContext (GHOST_Context &ghost_ctx, XrInstance instance, XrSystemId system_id) override
std::optional< int64_tchooseSwapchainFormat (const std::vector< int64_t > &runtime_formats, GHOST_TXrSwapchainFormat &r_format, bool &r_is_srgb_format) const override
std::vector< XrSwapchainImageBaseHeader * > createSwapchainImages (uint32_t image_count) override
bool needsUpsideDownDrawing (GHOST_Context &ghost_ctx) const override
Public Member Functions inherited from GHOST_IXrGraphicsBinding
virtual ~GHOST_IXrGraphicsBinding ()=default
virtual void submitToSwapchainImage (XrSwapchainImageBaseHeader &swapchain_image, const GHOST_XrDrawViewInfo &draw_info)=0

Protected Attributes

GHOST_ContextD3Dghost_d3d_ctx_ = nullptr
std::list< std::vector< XrSwapchainImageD3D11KHR > > image_cache_

Additional Inherited Members

Public Attributes inherited from GHOST_IXrGraphicsBinding
union { 
oxr_binding
Protected Member Functions inherited from GHOST_IXrGraphicsBinding
 GHOST_IXrGraphicsBinding ()=default

Detailed Description

Base class for bridging to an OpenXR platform that only supports Direct3D.

OpenGL/Vulkan have their own specific implementations.

Definition at line 26 of file GHOST_XrGraphicsBindingD3D.hh.

Constructor & Destructor Documentation

◆ GHOST_XrGraphicsBindingD3D()

◆ ~GHOST_XrGraphicsBindingD3D()

GHOST_XrGraphicsBindingD3D::~GHOST_XrGraphicsBindingD3D ( )
override

Member Function Documentation

◆ checkVersionRequirements()

bool GHOST_XrGraphicsBindingD3D::checkVersionRequirements ( GHOST_Context & ghost_ctx,
XrInstance instance,
XrSystemId system_id,
std::string * r_requirement_info ) const
overridevirtual

Check the version requirements to use OpenXR with the Vulkan backend.

Implements GHOST_IXrGraphicsBinding.

Definition at line 80 of file GHOST_XrGraphicsBindingD3D.cc.

References ghost_d3d_ctx_.

◆ chooseSwapchainFormat()

std::optional< int64_t > GHOST_XrGraphicsBindingD3D::chooseSwapchainFormat ( const std::vector< int64_t > & runtime_formats,
GHOST_TXrSwapchainFormat & r_format,
bool & r_is_srgb_format ) const
overridevirtual

◆ createSwapchainImages()

std::vector< XrSwapchainImageBaseHeader * > GHOST_XrGraphicsBindingD3D::createSwapchainImages ( uint32_t image_count)
overridevirtual

Implements GHOST_IXrGraphicsBinding.

Definition at line 179 of file GHOST_XrGraphicsBindingD3D.cc.

References image_cache_.

◆ initFromGhostContext()

void GHOST_XrGraphicsBindingD3D::initFromGhostContext ( GHOST_Context & ghost_ctx,
XrInstance instance,
XrSystemId system_id )
overridevirtual

◆ needsUpsideDownDrawing()

bool GHOST_XrGraphicsBindingD3D::needsUpsideDownDrawing ( GHOST_Context & ghost_ctx) const
overridevirtual

Implements GHOST_IXrGraphicsBinding.

Definition at line 198 of file GHOST_XrGraphicsBindingD3D.cc.

References ghost_d3d_ctx_.

◆ submitToSwapchainBegin()

void GHOST_XrGraphicsBindingD3D::submitToSwapchainBegin ( )
inlineoverridevirtual

Implements GHOST_IXrGraphicsBinding.

Definition at line 47 of file GHOST_XrGraphicsBindingD3D.hh.

◆ submitToSwapchainEnd()

void GHOST_XrGraphicsBindingD3D::submitToSwapchainEnd ( )
inlineoverridevirtual

Implements GHOST_IXrGraphicsBinding.

Definition at line 48 of file GHOST_XrGraphicsBindingD3D.hh.

Member Data Documentation

◆ ghost_d3d_ctx_

◆ image_cache_

std::list<std::vector<XrSwapchainImageD3D11KHR> > GHOST_XrGraphicsBindingD3D::image_cache_
protected

Definition at line 56 of file GHOST_XrGraphicsBindingD3D.hh.

Referenced by createSwapchainImages().


The documentation for this class was generated from the following files: