Open 3D Engine AtomTressFX Gem API Reference 23.10.0
O3DE is an open-source, fully-featured, high-fidelity, modular 3D engine for building games and simulations, available to every industry.
EI_Device Class Reference

Public Member Functions

EI_CommandContextGetCurrentCommandContext ()
 
std::unique_ptr< EI_ResourceCreateBufferResource (const int structSize, const int structCount, const unsigned int flags, const char *name)
 
std::unique_ptr< EI_ResourceCreateUint32Resource (const int width, const int height, const int arraySize, const char *name, uint32_t ClearValue=0)
 
std::unique_ptr< EI_ResourceCreateRenderTargetResource (const int width, const int height, const size_t channels, const size_t channelSize, const char *name, AMD::float4 *ClearValues=nullptr)
 
std::unique_ptr< EI_ResourceCreateDepthResource (const int width, const int height, const char *name)
 
std::unique_ptr< EI_ResourceCreateResourceFromFile (const char *szFilename, bool useSRGB=false)
 
std::unique_ptr< EI_ResourceCreateSampler (EI_Filter MinFilter, EI_Filter MaxFilter, EI_Filter MipFilter, EI_AddressMode AddressMode)
 
std::unique_ptr< EI_BindLayoutCreateLayout (const EI_LayoutDescription &description)
 
std::unique_ptr< EI_BindSetCreateBindSet (EI_BindLayout *layout, EI_BindSetDescription &bindSet)
 
std::unique_ptr< EI_RenderTargetSetCreateRenderTargetSet (const EI_ResourceFormat *pResourceFormats, const uint32_t numResources, const EI_AttachmentParams *AttachmentParams, float *clearValues)
 
std::unique_ptr< EI_RenderTargetSetCreateRenderTargetSet (const EI_Resource **pResourcesArray, const uint32_t numResources, const EI_AttachmentParams *AttachmentParams, float *clearValues)
 
std::unique_ptr< EI_GLTFTexturesAndBuffers > CreateGLTFTexturesAndBuffers (GLTFCommon *pGLTFCommon)
 
std::unique_ptr< EI_GltfPbrPass > CreateGLTFPbrPass (EI_GLTFTexturesAndBuffers *pGLTFTexturesAndBuffers, EI_RenderTargetSet *renderTargetSet)
 
std::unique_ptr< EI_GltfDepthPass > CreateGLTFDepthPass (EI_GLTFTexturesAndBuffers *pGLTFTexturesAndBuffers, EI_RenderTargetSet *renderTargetSet)
 
void BeginRenderPass (EI_CommandContext &commandContext, const EI_RenderTargetSet *pRenderPassSet, const wchar_t *pPassName, uint32_t width=0, uint32_t height=0)
 
void EndRenderPass (EI_CommandContext &commandContext)
 
void SetViewportAndScissor (EI_CommandContext &commandContext, uint32_t topX, uint32_t topY, uint32_t width, uint32_t height)
 
std::unique_ptr< EI_PSOCreateComputeShaderPSO (const char *shaderName, const char *entryPoint, EI_BindLayout **layouts, int numLayouts)
 
std::unique_ptr< EI_PSOCreateGraphicsPSO (const char *vertexShaderName, const char *vertexEntryPoint, const char *fragmentShaderName, const char *fragmentEntryPoint, EI_PSOParams &psoParams)
 
EI_CommandContextGetComputeCommandContext ()
 
void WaitForCompute ()
 
void SignalComputeStart ()
 
void WaitForLastFrameGraphics ()
 
void SubmitComputeCommandList ()
 
void OnCreate (HWND hWnd, uint32_t numBackBuffers, bool enableValidation, const char *appName)
 
void OnResize (uint32_t width, uint32_t height)
 
void FlushGPU ()
 
void OnDestroy ()
 
void OnBeginFrame (bool bDoAsync)
 
void OnEndFrame ()
 
void BeginNewCommandBuffer ()
 
void BeginNewComputeCommandBuffer ()
 
void EndAndSubmitCommandBuffer ()
 
void BeginBackbufferRenderPass ()
 
void EndRenderPass ()
 
void RenderUI ()
 
void SetVSync (bool vSync)
 
CAULDRON_DX12::Device * GetCauldronDevice ()
 
CAULDRON_DX12::UploadHeap * GetUploadHeap ()
 
CAULDRON_DX12::StaticBufferPool * GetVidMemBufferPool ()
 
CAULDRON_DX12::DynamicBufferRing * GetConstantBufferRing ()
 
EI_ResourceGetDepthBufferResource ()
 
EI_ResourceFormat GetDepthBufferFormat ()
 
EI_ResourceGetColorBufferResource ()
 
EI_ResourceFormat GetColorBufferFormat ()
 
EI_ResourceGetShadowBufferResource ()
 
EI_ResourceFormat GetShadowBufferFormat ()
 
EI_ResourceGetDefaultWhiteTexture ()
 
EI_BindSetGetSamplerBindSet ()
 
void GetTimeStamp (char *name)
 
int GetNumTimeStamps ()
 
const char * GetTimeStampName (const int i)
 
int GetTimeStampValue (const int i)
 
void DrawFullScreenQuad (EI_CommandContext &commandContext, EI_PSO &pso, EI_BindSet **bindSets, uint32_t numBindSets)
 
float GetAverageGpuTime () const
 
ID3D12Device * GetDX12Device ()
 
CAULDRON_DX12::ResourceViewHeaps & GetResourceViewHeaps ()
 
void AllocateCPUVisibleView (CAULDRON_DX12::ResourceView *pResourceView)
 
EI_CommandContextGetCurrentCommandContext ()
 
std::unique_ptr< EI_ResourceCreateBufferResource (const int structSize, const int structCount, const unsigned int flags, const char *name)
 
std::unique_ptr< EI_ResourceCreateUint32Resource (const int width, const int height, const size_t arraySize, const char *name, uint32_t ClearValue=0)
 
std::unique_ptr< EI_ResourceCreateRenderTargetResource (const int width, const int height, const size_t channels, const size_t channelSize, const char *name, AMD::float4 *ClearValues=nullptr)
 
std::unique_ptr< EI_ResourceCreateDepthResource (const int width, const int height, const char *name)
 
std::unique_ptr< EI_ResourceCreateResourceFromFile (const char *szFilename, bool useSRGB=false)
 
std::unique_ptr< EI_ResourceCreateSampler (EI_Filter MinFilter, EI_Filter MaxFilter, EI_Filter MipFilter, EI_AddressMode AddressMode)
 
std::unique_ptr< EI_BindLayoutCreateLayout (const EI_LayoutDescription &description)
 
std::unique_ptr< EI_BindSetCreateBindSet (EI_BindLayout *layout, EI_BindSetDescription &bindSet)
 
std::unique_ptr< EI_RenderTargetSetCreateRenderTargetSet (const EI_ResourceFormat *pResourceFormats, const uint32_t numResources, const EI_AttachmentParams *AttachmentParams, float *clearValues)
 
std::unique_ptr< EI_RenderTargetSetCreateRenderTargetSet (const EI_Resource **pResourcesArray, const uint32_t numResources, const EI_AttachmentParams *AttachmentParams, float *clearValues)
 
std::unique_ptr< EI_GLTFTexturesAndBuffers > CreateGLTFTexturesAndBuffers (GLTFCommon *pGLTFCommon)
 
std::unique_ptr< EI_GltfPbrPass > CreateGLTFPbrPass (EI_GLTFTexturesAndBuffers *pGLTFTexturesAndBuffers, EI_RenderTargetSet *renderTargetSet)
 
std::unique_ptr< EI_GltfDepthPass > CreateGLTFDepthPass (EI_GLTFTexturesAndBuffers *pGLTFTexturesAndBuffers, EI_RenderTargetSet *renderTargetSet)
 
void BeginRenderPass (EI_CommandContext &commandContext, const EI_RenderTargetSet *pRenderPassSet, const wchar_t *pPassName, uint32_t width=0, uint32_t height=0)
 
void EndRenderPass (EI_CommandContext &commandContext)
 
void SetViewportAndScissor (EI_CommandContext &commandContext, uint32_t topX, uint32_t topY, uint32_t width, uint32_t height)
 
std::unique_ptr< EI_PSOCreateComputeShaderPSO (const char *shaderName, const char *entryPoint, EI_BindLayout **layouts, int numLayouts)
 
std::unique_ptr< EI_PSOCreateGraphicsPSO (const char *vertexShaderName, const char *vertexEntryPoint, const char *fragmentShaderName, const char *fragmentEntryPoint, EI_PSOParams &psoParams)
 
EI_CommandContextGetComputeCommandContext ()
 
void WaitForCompute ()
 
void SignalComputeStart ()
 
void WaitForLastFrameGraphics ()
 
void SubmitComputeCommandList ()
 
void OnCreate (HWND hWnd, uint32_t numBackBuffers, bool enableValidation, const char *appName)
 
void OnResize (uint32_t width, uint32_t height)
 
void SetVSync (bool vSync)
 
void FlushGPU ()
 
void OnDestroy ()
 
void OnBeginFrame (bool bDoAsync)
 
void OnEndFrame ()
 
void BeginNewCommandBuffer ()
 
void BeginNewComputeCommandBuffer ()
 
void BeginBackbufferRenderPass ()
 
void EndRenderPass ()
 
void RenderUI ()
 
CAULDRON_VK::Device * GetCauldronDevice ()
 
VkRenderPass GetSwapChainRenderPass ()
 
CAULDRON_VK::UploadHeap * GetUploadHeap ()
 
CAULDRON_VK::StaticBufferPool * GetVidMemBufferPool ()
 
CAULDRON_VK::DynamicBufferRing * GetConstantBufferRing ()
 
EI_ResourceGetDepthBufferResource ()
 
EI_ResourceFormat GetDepthBufferFormat ()
 
EI_ResourceGetColorBufferResource ()
 
EI_ResourceFormat GetColorBufferFormat ()
 
EI_ResourceGetShadowBufferResource ()
 
EI_ResourceFormat GetShadowBufferFormat ()
 
EI_ResourceGetDefaultWhiteTexture ()
 
EI_BindSetGetSamplerBindSet ()
 
void GetTimeStamp (char *name)
 
int GetNumTimeStamps ()
 
const char * GetTimeStampName (const int i)
 
int GetTimeStampValue (const int i)
 
void DrawFullScreenQuad (EI_CommandContext &commandContext, EI_PSO &pso, EI_BindSet **bindSets, uint32_t numBindSets)
 
float GetAverageGpuTime () const
 
VkDevice GetVulkanDevice ()
 
CAULDRON_VK::ResourceViewHeaps * GetResourceViewHeaps ()
 
void EndAndSubmitCommandBuffer ()
 

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