work on basic VR
This commit is contained in:
@@ -30,6 +30,7 @@ enum EImageFormat
|
||||
|
||||
IMAGE_FORMAT_RGBA8_UINT,
|
||||
IMAGE_FORMAT_RGBA8_SINT,
|
||||
IMAGE_FORMAT_RGBA8_SRGB,
|
||||
|
||||
IMAGE_FORMAT_RGBA16_UINT,
|
||||
IMAGE_FORMAT_RGBA16_SINT,
|
||||
@@ -260,6 +261,14 @@ public:
|
||||
virtual void PSSetSampler( uint32_t uRegister, ISampler *pImage ) = 0;
|
||||
};
|
||||
|
||||
struct ImageSector_t
|
||||
{
|
||||
int32_t m_iX;
|
||||
int32_t m_iY;
|
||||
int32_t m_iWidth;
|
||||
int32_t m_iHeight;
|
||||
};
|
||||
|
||||
abstract_class IRenderCommandList
|
||||
{
|
||||
public:
|
||||
@@ -289,6 +298,11 @@ public:
|
||||
virtual void EndRecording() = 0;
|
||||
|
||||
virtual void Barrier( IRenderingObject *pObject, bool bIsRead, bool bIsWrite ) = 0;
|
||||
|
||||
virtual void CopyImageToImage( IImage *pSrc, IImage *pDst ) = 0;
|
||||
virtual void BlitImageToImage( IImage *pSrc, ImageSector_t src, IImage *pDst, ImageSector_t dst ) = 0;
|
||||
virtual void ClearImage( IImage *pImage, float fR, float fG, float fB, float fA ) = 0;
|
||||
virtual void ClearDepth( IImage *pImage, float fVal ) = 0;
|
||||
};
|
||||
|
||||
//-----------------------------------------------------------------------------
|
||||
@@ -296,7 +310,7 @@ public:
|
||||
//
|
||||
// Responsible for the object handling
|
||||
//-----------------------------------------------------------------------------
|
||||
abstract_class IRenderContext: public IAppSystem
|
||||
abstract_class IRenderContext: public IAppSystem2
|
||||
{
|
||||
public:
|
||||
virtual void Frame( float fTime ) = 0;
|
||||
@@ -324,8 +338,6 @@ public:
|
||||
virtual void DestroyCommandList( IRenderCommandList *pCommandList ) = 0;
|
||||
virtual void SubmitCommandList(IRenderCommandList *pList) = 0;
|
||||
|
||||
virtual void SetMainWindowManager( IGameWindowManager *pWindowManager ) = 0;
|
||||
|
||||
virtual void RenderGameWindow( IGameWindow *pWindow ) = 0;
|
||||
virtual void RegisterGameWindow( IGameWindow *pWindow ) = 0;
|
||||
virtual void UnregisterGameWindow( IGameWindow *pWindow ) = 0;
|
||||
@@ -334,6 +346,11 @@ public:
|
||||
virtual void DestroyTextureArray() = 0;
|
||||
|
||||
virtual ISampler *GetDefaultSampler() = 0;
|
||||
|
||||
virtual void *GetVulkanInstance() = 0;
|
||||
virtual void *GetVulkanPhysicalDevice() = 0;
|
||||
virtual void *GetVulkanDevice() = 0;
|
||||
virtual IImage *CreateImageFromVkImage( void *pVkImage, uint32_t x, uint32_t y, uint64_t optimalLayout, EImageFormat eFormat, EMultisampleType eMultisampleType ) = 0;
|
||||
};
|
||||
|
||||
#define RENDER_CONTEXT_INTERFACE_VERSION "RenderContext001"
|
||||
|
||||
Reference in New Issue
Block a user