forked from microsoft/Xbox-ATG-Samples
-
Notifications
You must be signed in to change notification settings - Fork 0
/
GPURenderScreen.h
34 lines (27 loc) · 1.26 KB
/
GPURenderScreen.h
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
//--------------------------------------------------------------------------------------
// GPURenderScreen.h
//
// Advanced Technology Group (ATG)
// Copyright (C) Microsoft Corporation. All rights reserved.
//--------------------------------------------------------------------------------------
#pragma once
#include "PanelScreen.h"
#include "NavigationHint.h"
#include "FrontPanel/FrontPanelRenderTarget.h"
class GPURenderScreen : public PanelScreen
{
public:
GPURenderScreen(FrontPanelManager *owner);
void RenderFrontPanel() override;
void CreateDeviceDependentResources(DX::DeviceResources *deviceResources, IXboxFrontPanelControl *frontPanelControl) override;
void CreateWindowSizeDependentResources(DX::DeviceResources *deviceResources) override;
void GPURender(DX::DeviceResources *deviceResources) override;
private:
// Front Panel Render Target
// Helper class to convert a GPU resource to grayscale and then render to the Front Panel
std::unique_ptr<ATG::FrontPanelRenderTarget> m_frontPanelRenderTarget;
// Shader resource view for the whole screen
// This is the input to the FrontPanelRender target
Microsoft::WRL::ComPtr<ID3D11ShaderResourceView> m_mainRenderTargetSRV;
BasicNavigationHint m_nav;
};