Unreal Engine中FGraphicsDevice类的具体实现
时间: 2024-03-05 12:49:49 浏览: 75
FGraphicsDevice是UE4中用于管理图形设备的类,其具体实现位于文件Engine\Source\Runtime\Windows\D3D11RHI\Private\D3D11Util.cpp中。
在D3D11Util.cpp文件中,FGraphicsDevice类定义了以下成员变量:
```c++
class FGraphicsDevice
{
public:
static void Init();
static void Shutdown();
static bool IsInitialized();
static ID3D11Device* GetD3DDevice();
static ID3D11DeviceContext* GetD3DDeviceContext();
static IDXGIAdapter* GetAdapter();
};
```
这些成员函数分别用于初始化图形设备、关闭图形设备、检查图形设备是否已经初始化、获取D3D11设备、获取D3D11设备上下文以及获取DXGI适配器。
在Init()函数中,FGraphicsDevice类会创建一个D3D11设备和设备上下文,并将其存储到静态成员变量中。它还会获取当前系统中的DXGI适配器,并将其存储到静态成员变量中。
在Shutdown()函数中,FGraphicsDevice类会释放D3D11设备和设备上下文,并将静态成员变量置为NULL。
在IsInitialized()函数中,FGraphicsDevice类会检查D3D11设备和设备上下文是否已经被创建,以便在初始化之前进行检查。
在GetD3DDevice()和GetD3DDeviceContext()函数中,FGraphicsDevice类会返回静态成员变量中存储的D3D11设备和设备上下文。
在GetAdapter()函数中,FGraphicsDevice类会返回静态成员变量中存储的DXGI适配器。
总的来说,FGraphicsDevice类是UE4中用于管理图形设备的类,通过静态成员变量来存储创建的D3D11设备、设备上下文和DXGI适配器,并提供相应的接口函数来获取这些对象。
阅读全文