62 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
			
		
		
	
	
			62 lines
		
	
	
	
		
			1.4 KiB
		
	
	
	
		
			C++
		
	
	
	
	
	
#pragma once
 | 
						|
 | 
						|
#include <d3d11.h>
 | 
						|
#include <renderer/shared_context.hpp>
 | 
						|
#include <wrl.h>
 | 
						|
 | 
						|
namespace lt {
 | 
						|
 | 
						|
class dxSharedContext: public SharedContext
 | 
						|
{
 | 
						|
public:
 | 
						|
	[[nodiscard]] auto get_device() -> Microsoft::WRL::ComPtr<ID3D11Device>
 | 
						|
	{
 | 
						|
		return m_device;
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto get_device_context() -> Microsoft::WRL::ComPtr<ID3D11DeviceContext>
 | 
						|
	{
 | 
						|
		return m_deviceContext;
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto get_swap_chain() -> Microsoft::WRL::ComPtr<IDXGISwapChain>
 | 
						|
	{
 | 
						|
		return m_swap_chain;
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto get_render_target_view() -> Microsoft::WRL::ComPtr<ID3D11RenderTargetView>
 | 
						|
	{
 | 
						|
		return m_render_target_view;
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto GetDeviceRef() -> Microsoft::WRL::ComPtr<ID3D11Device>
 | 
						|
	{
 | 
						|
		return m_device;
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto GetDeviceContextRef() -> Microsoft::WRL::ComPtr<ID3D11DeviceContext>
 | 
						|
	{
 | 
						|
		return m_deviceContext;
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto GetSwapChainRef() -> Microsoft::WRL::ComPtr<IDXGISwapChain>
 | 
						|
	{
 | 
						|
		return m_swap_chain;
 | 
						|
	}
 | 
						|
 | 
						|
	[[nodiscard]] auto GetRenderTargetViewRef() -> Microsoft::WRL::ComPtr<ID3D11RenderTargetView>
 | 
						|
	{
 | 
						|
		return m_render_target_view;
 | 
						|
	}
 | 
						|
 | 
						|
private:
 | 
						|
	Microsoft::WRL::ComPtr<ID3D11Device> m_device = nullptr;
 | 
						|
 | 
						|
	Microsoft::WRL::ComPtr<ID3D11DeviceContext> m_deviceContext = nullptr;
 | 
						|
 | 
						|
	Microsoft::WRL::ComPtr<IDXGISwapChain> m_swap_chain = nullptr;
 | 
						|
 | 
						|
	Microsoft::WRL::ComPtr<ID3D11RenderTargetView> m_render_target_view = nullptr;
 | 
						|
};
 | 
						|
 | 
						|
} // namespace lt
 |