Étape 2: Get ANGLE
Avant de vous pouvez consacrée vous devrez installer branche de Microsoft du projet ANGLE (https://github.com/MSOpenTech/angle) qui vous permettra d’accéder à OpenGL ES sur toutes les plateformes de Windows grâce à un processus d’emballage intelligemment DirectX. La façon dont je recommande on fait c’est en l’ajoutant comme projet Git dans Visual Studio. Cela vous permettra facilement synchroniser à nouveau mises à jour et facilement pousser toute modification que vous apportez à votre propre succursale où vous pouvez alors faire une demande de tirer. Vous pouvez aussi simplement télécharger l’archive zip et partir de là. Je crois qu’ils documentent le processus d’installation très eux-mêmes, mais pour l’essentiel l’installation implique que vous devez ouvrir le projet pour chaque plateforme et puis le compiler pour chaque configuration et architecture (Debug, Release, x 86, x64(on Win Store), ARM). Pour ce tutoriel, vous devrez seulement les binaires Windows 8.1 et 8.1 de Windows Phone, pas le bureau ou les fenêtres 10 ceux. Après que vous avez compilé tous les que vous devrez exécuter le script d’installation dans le répertoire source. Cela mettra en place vos variables d’environnement pour que VS sait où trouver les binaires d’ANGLE et les en-têtes.
Maintenant, nous aurons besoin créer des Macros qui vont définir où l’ANGLE est installé. Commencez par aller dans le « gestionnaire de propriété », vous pouvez y arriver en utilisant la boîte de recherche dans le coin supérieur droit. Alors maintenant faites un clic droit sur le projet de Windows et sélectionnez « Ajouter nouvelle propriété feuille... » Appelez-le « ANGLE ». Maintenant l’ouvrir en double-cliquant dessus dans n’importe quelle configuration. Enfin, allez à utilisateur Macros et ajouter « AngleBinPath » et « AngleIncPath ». Le « Bin » on doit pointer vers « $(AngleRootPath) \winrt\8.1\windows\src\$ (Configuration) _ $(plate-forme) \ » et le « Inc"un à « $(AngleRootPath) \include\ ». Assurez-vous d’activer la Macro pour l’environnement de génération. Juste est-la même chose pour le projet Windows Phone, mais cette fois utilisez "$(AngleRootPath) \winrt\8.1\windowsphone\src\$ (Configuration) _ $(plate-forme) \" au lieu de "$(AngleRootPath) \winrt\8.1\windows\src\$ (Configuration) _ $(plate-forme) \". Le chemin d’accès include reste le même.
Maintenant que nous avons les macros à qu'il faut ajouter les répertoires include pour le projet ainsi que les bibliothèques que l’éditeur de liens doit lier. Alors s’il vous plaît faites ce qui suit sur la feuille de propriétés de la victoire et le WP projets. Sur la gauche vous verrez un groupe de « Linker » et il « Intrant » page. Ouvrez-le et ajoutez « $(AngleBinPath) lib\libGLESv2.lib;$ (AngleBinPath) lib\libEGL.lib; » dans le champ « Additional Dependencies ». Aussi aller à « C/C++ » et « Général » de l’époque. Ici vous devez préfixer "$(AngleIncPath);" au champ « Additional Include Directories ». Comme il s’agit d’une page de propriétés, vous devez seulement faire cela sur une configuration et il sera appliqué dans l’ensemble. N’oubliez pas de faire exactement la même chose avec la page de propriétés de Windows Phone.
Ensuite, nous devons ajouter les fichiers DLL pour les projets c#. Ce travail est malheureusement moyen que j’ai pu trouver pour les faire copier dans le répertoire d’exécution, et sans eux il vous obtenez une foule d’erreurs. Donc pour la victoire et la WP c# projets ajoutent libEGL.dll et libGLESv2.dll sous forme de fichiers existants. Laissez-les configuré comme "Build Action" "Contenu" et « Copie de répertoire de sortie » « ne copiez pas ». Il n’importe pas qui dll vous choisissez maintenant parce que nous allons changer automatiquement leurs chemins plus tard pour pointe vers les bons fichiers (il faut un différent pour chaque configuration). Donc, une fois que vous les avez, ouvrez le répertoire correspondant à votre projet. Nous voulons maintenant trouver le fichier .csproj de Windows et ouvrez-le avec le bloc-notes. N’oubliez pas de tout sauver juste avant de le faire. Il faut maintenant trouver l’emplacement où l’inclusion des dll est déclarée.
Remplacer :
<Content Include="libGLESv2.dll" /><br><Content Include="libEGL.dll" />
Avec :
<Content Condition="'$(Platform)' == 'x86'" Include="$(AngleRootPath)\winrt\8.1\windows\src\$(Configuration)_Win32\libGLESv2.dll" /><br><Content Condition="'$(Platform)' == 'x86'" Include="$(AngleRootPath)\winrt\8.1\windows\src\$(Configuration)_Win32\libEGL.dll" /> <Content Condition="'$(Platform)' != 'x86'" Include="$(AngleRootPath)\winrt\8.1\windows\src\$(Configuration)_$(Platform)\libGLESv2.dll" /> <Content Condition="'$(Platform)' != 'x86'" Include="$(AngleRootPath)\winrt\8.1\windows\src\$(Configuration)_$(Platform)\libEGL.dll" />
La raison pour laquelle que nous avons besoin de ce complexe Condition selon déclaration est parce que la plate-forme connue pour c# comme x86 est connue pour C++ comme "Win32". Heureusement, le reste des plates-formes ont les mêmes noms...
Après avoir fait cela, faire exactement la même chose pour le projet Windows Phone (mais les "fenêtres" après que 8.1 devrait maintenant être « windowsphone », puis revenez à Visual Studio. VS devraient demander si vous souhaitez les fichiers à être rechargé, il suffit de dire recharger tous. Et votre dll doit maintenant automatiquement pointer vers les versions correctes au moment de la compilation. Vous pouvez supprimer les dll qui ont été copiés au départ à vos dossiers de projet à l’aide de l’Explorateur car ils sont maintenant inutilisée.
Ensuite, vous pouvez simplement ajouter des références aux composants runtime dans vos projets Visual c#. Assurez-vous d’utiliser le WP, un pour le projet de WP et la victoire, un pour le projet Win.
Avant d’aller plus loin, je recommande vous vérifiez et voir si vous pouvez compiler et déployer l’application. N’oubliez pas de choisir une architecture comme x86 ou bras car "Any CPU" donnera des erreurs avec les bibliothèques natives. Si tout fonctionne bien, vous devriez voir une application vide démarre.