Modelli di progetto di gioco DirectX
I modelli DirectX e UWP (Universal Windows Platform) consentono di creare rapidamente un progetto come punto di partenza per un gioco.
Prerequisiti
Per creare il progetto è necessario:
- Scaricare Microsoft Visual Studio 2015. Visual Studio 2015 include strumenti per la programmazione grafica, quali ad esempio strumenti di debug. Per una panoramica delle funzionalità e degli strumenti di gioco e grafica DirectX, vedere Strumenti Visual Studio per lo sviluppo di giochi DirectX.
Scelta di un modello
Visual Studio 2015 include tre modelli DirectX e UWP:
- App DirectX 11 (Windows universale): il modello App DirectX 11 (Windows universale) crea un progetto UWP, che esegue il rendering direttamente in una finestra dell'app utilizzando DirectX 11.
- App DirectX 12 (Windows universale): il modello App DirectX 12 (Windows universale) crea un progetto UWP, che esegue il rendering direttamente in una finestra dell'app utilizzando DirectX 12.
- App DirectX 11 and XAML (Windows universale): il modello App DirectX 11 and XAML (Windows universale) crea un progetto UWP, che esegue il rendering all'interno di un controllo XAML utilizzando DirectX 11. Questo modello utilizza uno SwapChainPanel, in modo da poter utilizzare i controlli dell'interfaccia utente XAML. Ciò può semplificare l'aggiunta di elementi dell'interfaccia utente, ma l'uso del modello XAML potrebbe comportare prestazioni inferiori.
Il modello scelto dipende dalle prestazioni e dalle tecnologie che si desidera utilizzare.
Struttura del modello
I modelli Windows universale DirectX contengono i seguenti file:
- pch.h e pch.cpp - Supporto precompilato dell'intestazione.
- Package.appxmanifest - La proprietà del pacchetto di distribuzione per l'app.
- *.pfx - Certificati per l'applicazione.
- Dipendenze esterne - Collegamenti a file esterni utilizzati dal progetto.
- *Main.h e *Main.cpp - Metodi per la gestione degli asset dell'applicazione, l'aggiornamento dello stato dell'applicazione e il rendering del frame.
- App.h e App.cpp - Punto di ingresso principale per l'applicazione. Connette l'app con la shell di Windows e gestisce gli eventi del ciclo di vita dell'applicazione. Questi file vengono visualizzati solo nei modelli App DirectX 11 (Windows universale) e App DirectX 12 (Windows universale).
- App.xaml, App.xaml.cpp e App.xaml.h - Punto di ingresso principale per l'applicazione. Connette l'app con la shell di Windows e gestisce gli eventi del ciclo di vita dell'applicazione. Questi file vengono visualizzati solo nel modello App DirectX 11 and XAML (Windows universale).
- DirectXPage.xaml, DirectXPage.xaml.cpp e DirectXPage.xaml.h - Pagina che ospita uno SwapChainPanel DirectX. Questi file vengono visualizzati solo nel modello App DirectX 11 and XAML (Windows universale).
- Contenuto
- Sample3DSceneRenderer.h e Sample3DSceneRenderer.cpp - Renderer di esempio che crea un'istanza di una pipeline di rendering di base.
- SampleFpsTextRenderer.h e SampleFpsTextRenderer.cpp - Esegue il rendering del valore FPS corrente nell'angolo inferiore destro dello schermo usando Direct2D e DirectWrite. Questi file vengono visualizzati solo nei modelli App DirectX 11 (Windows universale) e App DirectX 11 and XAML (Windows universale).
- SamplePixelShader.hlsl - Semplice shader di pixel di esempio.
- SampleVertexShader.hlsl - Semplice shader di vertici di esempio.
- ShaderStructures.h - Strutture utilizzate per inviare la data allo shader di vertici di esempio.
- Comune
- StepTimer.h - Classe helper per l'animazione e la tempistica di simulazione.
- DirectXHelper.h - Funzioni helper varie.
- DeviceResources.h e Device Resources.cpp - Fornisce un'interfaccia per un'applicazione che possiede DeviceResources, in modo che possa essere notificata della perdita o della creazione del dispositivo.
- d3dx12.h - Contiene la libreria di utilità D3DX12. Questo file viene visualizzato solo nell'App DirectX 12 (Windows universale).
- Assets - Immagini di logo e schermata iniziale utilizzate dall'applicazione.
Passaggi successivi
Ora che si ha a disposizione un punto di partenza, aggiungerlo per creare le proprie conoscenze di sviluppo di giochi e le competenze di sviluppo di giochi di Microsoft Store.
Se si sta eseguendo il trasferimento di un gioco esistente, vedere gli argomenti seguenti.
- Trasferimento da OpenGL ES 2.0 a Direct3D 11.1
- Trasferimento da DirectX 9 a UWP (Universal Windows Platform)
Se si sta creando un nuovo gioco DirectX, vedere gli argomenti seguenti.