C++ OpenGL ES Viewer in C# (2 / 8 stap)

Stap 2: Get hoek


Voordat u kunt gaan op je zult moeten installeren Microsofts tak van de hoek-project (https://github.com/MSOpenTech/angle) waarmee u toegang hebt tot OpenGL ES op alle Windows-platforms via een proces van intelligent verpakken van DirectX. De manier die ik aanbevelen een doet dit is toe te voegen als een Git project in Visual Studio. Dit kan je gemakkelijk sync in eventuele nieuwe updates en wijzigingen die u aanbrengt in uw eigen kantoor gemakkelijk duwen waar kun je dan een pull-aanvraag. U kan ook gewoon downloaden van het zip archief en ga vanaf daar. Ik denk dat ze het installatieproces zeer document zelf maar in wezen gaat de installatie dat je moet open het project voor elk platform en vervolgens compileren voor elke configuratie en architectuur (Debug, Release, x 86, x64(on Win Store), ARM). Voor deze tutorial zal u hoeft alleen de binaries van Windows 8.1 en Windows Phone 8.1, niet het bureaublad of op Windows 10 ones. Nadat u hen allen die u zult moeten uitvoeren van het install script in de bronmap hebben samengesteld. Dit zal uw omgevingsvariabelen instellen zodat de VS weet waar te vinden van de hoek binaries en headers.

Nu zullen we enkele macro's maken die zullen bepalen waar de hoek is geïnstalleerd. Begin door te gaan naar de "beheerder", je kunt er komen met behulp van het zoekvak in de rechterbovenhoek. Dus nu met de rechtermuisknop op het Windows-project en selecteer "Toevoegen nieuwe eigenschap blad..." Noem het "Hoek". Nu openen door erop te dubbelklikken in elke configuratie. Tot slot ga naar gebruiker macro's en voeg "AngleBinPath" en "AngleIncPath". De "Bin" één moet verwijzen naar "$(AngleRootPath) \winrt\8.1\windows\src\$ (configuratie) _ $(Platform) \" en de "Inc" een op "$(AngleRootPath) \include\". Zorg ervoor om de Macro voor de build-omgeving. Hetzelfde voor de Windows Phone-project, maar ditmaal gebruik gewoon "$(AngleRootPath) \winrt\8.1\windowsphone\src\$ (configuratie) _ $(Platform) \" in plaats van "$(AngleRootPath) \winrt\8.1\windows\src\$ (configuratie) _ $(Platform) \". De relatief pad blijft hetzelfde.

Nu hebben we de macro's moeten we de include mappen toevoegen aan het project, evenals de bibliotheken die de linker moet koppelen aan. Dus doe het volgende in het eigenschappenvenster van zowel de Win en WP projecten. Aan de linkerkant zal u een "Linker" groep zien en daarop een 'Input' pagina. Open het en prepend "$(AngleBinPath) lib\libGLESv2.lib;$ (AngleBinPath) lib\libEGL.lib;" het veld "Extra afhankelijkheden". Ook gaat u naar "C/C++" en vervolgens "generaal". Hier moet je prepend "$(AngleIncPath);" naar de "Extra omvatten Directories" veld. Dit is één eigenschappenpagina, u hoeft alleen te doen dit op een configuratie en het zal toegepast in de gehele. Vergeet niet om precies hetzelfde doen met de eigenschappenpagina Windows Phone.

Vervolgens moeten we de dll-bestanden toevoegen aan de C# projecten. Dit werkt helaas manier die ik vinden kon om ze gekopieerd naar de map van de runtime en zonder hen er krijg je een heleboel fouten. Dus voor de overwinning én de WP C# toevoegen projecten libEGL.dll en libGLESv2.dll als bestaande bestanden. Laat ze geconfigureerd als "Build Action" "Inhoud" en "Copy to Output Directory" "Kopieer niet". Het maakt niet uit welke dll's u kiest nu omdat wij hun paden later bij automatisch veranderen zal wijs de juiste bestanden (we nodig een andere naam voor elke configuratie). Dus zodra u hen, open de map waarin uw project is. We willen nu het Windows .csproj bestand niet vinden en openen met Kladblok. Vergeet niet om alles gewoon opslaan alvorens dit te doen. Nu moet u zoeken naar de locatie waar de opname van de DLL's is aangegeven.

Vervangen:

 <Content Include="libGLESv2.dll" /><br><Content Include="libEGL.dll" /> 

Met:

 <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" /> 

De reden dat we moeten dit ingewikkeld voorwaarde gebaseerde verklaring is omdat het platform bekend dat C# als x86 is bekend dat C++ als "Win32". Gelukkig de rest van de platforms dezelfde naam hebben...

Na dit te doen, precies hetzelfde doen voor de Windows Phone-project (maar de "windows" na 8.1 moet nu worden "windowsphone" en ga dan terug naar Visual Studio. VS moeten vragen als u wilt dat bestanden worden geladen, gewoon zeggen alle herladen. En uw dll-bestanden moeten nu automatisch de juiste versies tijdens het compileren. U kunt het verwijderen van de DLL's die aanvankelijk zijn gekopieerd naar de projectmappen van uw Explorer gebruikt zoals ze nu zijn ongebruikt.

Vervolgens kunt u de verwijzingen naar de runtime-onderdelen gewoon toevoegen in uw C# projecten. Zorg ervoor dat het gebruik van de WP een voor het WP-project en de overwinning een voor het Win-project.

Voordat je verder gaat zou ik adviseren u controleren en zien of je nog kunt compileren en implementeren van de toepassing. Herinner me enkel om te kiezen van een architectuur zoals x86 of ARM, aangezien "Om het even welke CPU" fouten met de inheemse bibliotheken zal geven. Als alles boete werkt moet u een lege toepassing starten.

Gerelateerde Artikelen

Beginners Guide to OpenGL: Maak uw eigen CAD-software

Beginners Guide to OpenGL: Maak uw eigen CAD-software

Mijn Autodesk Maya student licentie verlopen onlangs. Dus ik deed wat iedereen zou doen, bouwen mijn eigen 3D CAD software (Let op Autodesk).Dus ik begon te schrijven van mijn toepassing in C++ met behulp van OpenGL, SDL en in ongeveer een week, dit
Zonsverduistering Viewer

Zonsverduistering Viewer

Meeste zonsverduistering kijkers zijn zo gemaakt dat u niet hoeft te staren naar de zon. Terwijl goed bedoelingen goed zijn, vind ik dat saai. Zo hier gaat u. Volg alle waarschuwingen en veilig.Stap 1: Waarom dit doen?Ik vaak een hekel aan de meeste
Het gebruik van Pepakura Viewer

Het gebruik van Pepakura Viewer

Deze tutorial beschrijft Pepakura Viewer.In geval u op zoek bent voor Pepakura designer tutorial, hoofd hier:Bijgewerkt: 2013/01/11... 5 uur werken tot nu toe :)Stap 1: Video op Youtube (HD 720p)In geval liever u video lezing. Op mijn kanaal zo goed
Verwijderen de knop verwijderen op een digitale foto-viewer om er veilig voor oma

Verwijderen de knop verwijderen op een digitale foto-viewer om er veilig voor oma

geïnspireerd door de zelfgemaakte digitale fotolijst hier, ik ging op zoek naar de onderdelen voor het bouwen van mijn eigen. Beschamend, vond ik een goedkoop genoeg afgewerkt product dat ik kocht in plaats van het opbouwen van mijn eigen. Echter, ik
Zonsverduistering Viewer uit de lezing van glazen en karton

Zonsverduistering Viewer uit de lezing van glazen en karton

Zonsverduisteringen zijn zeldzame astronomische gebeurtenissen spannend zijn om te kijken, maar vereist enige vorm van apparatuur voor het veilig bekijken. Zelfs als de meeste van de zon is verduisterd, straalt het nog voldoende licht, met name ultra
Een VR Viewer voor tabletten met uitstekende optiek

Een VR Viewer voor tabletten met uitstekende optiek

Dit Instructable toont u hoe te maken van een VR-viewer zoals Googles karton maar geoptimaliseerd voor tabletten. Afgezien van de tablet zijn de kosten zeer laag. Het maakt gebruik van twee paar Leesbrillen van een dollaropslag (Dollar boom), een kun
Goedkope aangepaste VR Viewer van telefooncel

Goedkope aangepaste VR Viewer van telefooncel

Ik kocht een goedkope Google karton viewer van ebay, maar spoedig na het gebruik ervan heb ik besloten om mijn eigen te bouwen. Het was vervelend hoe ik moest blijven bewegen de kijker gewoon om te zien het hele scherm. Ik besefte dat dit was omdat d
Oneindige werelden Viewer!

Oneindige werelden Viewer!

Uw eigen kloon leger is nog nooit zo echt geweest. Als u ooit bij de kapper tussen twee spiegels en voelde zat hebt alsof u in de schemerzone vast zaten, maak je klaar om het gevoel weer helemaal dat tintelen van oneindigheid. En opnieuw en opnieuw e
Maak je eigen VR-ervaring met DODOcase Virtual Reality Viewer

Maak je eigen VR-ervaring met DODOcase Virtual Reality Viewer

The Google karton en DODOcase virtuele werkelijkheid Viewer zijn netjes, goedkope manieren om immersieve Virtual Reality ervaring met hoofd bijhouden van de navigatie. Ik wilde enkele grote voorbeelden van VR Apps vinden en vooral voor het maken van
Sun Viewer: Observeren de zon veilig met een verrekijker

Sun Viewer: Observeren de zon veilig met een verrekijker

Met verrekijkers naar project een beeld van de zon is een oude truc, maar het is een goeie! Echter, de meeste oudere boeken bellen voor een installatie die gebruikmaakt van een fotografische statief en is moeilijk te zetten en gericht houden (met nam
Zelfgemaakte nachtzicht infrarood Goggle toepassingsgebied DIY CCTV View Finder Camera leidde Module

Zelfgemaakte nachtzicht infrarood Goggle toepassingsgebied DIY CCTV View Finder Camera leidde Module

Night vision goggles werden uitgevonden voor gebruik door het leger. De technologie die het mogelijk maakt van nachtzicht heet een infrarood image intensifier buis. De buizen Pipetteer fotonen in elektronen door een lading passeren een foto kathode e
Delphi tutorial - Picture Viewer

Delphi tutorial - Picture Viewer

Dus, dit kan ook worden opgeroepen een instructable, hoe Maak eenvoudige (en nog complexer) foto-viewer met Delphi programmeer gereedschap (of met Lazarus, gratis pascal programming tool).Om dit te doen is het duidelijk dat één moeten hebben van Delp
DYI polariserende Viewer

DYI polariserende Viewer

Inleiding: It's about time die iemand geboden instructies met oude lenzen van een paar 3D bril. Zodra u deze viewer maakt, zult u kunnen experimenteren met gepolariseerd licht. De meer kijkers die u aanbrengt, leuke hoe meer wetenschap u kunt hebben.
Maak uw eigen 3D-viewer (A glazen prisma), Cross kant van het oog door SIDE(CES) stereogrammen, afbeeldingen en video's bekijken in 3D

Maak uw eigen 3D-viewer (A glazen prisma), Cross kant van het oog door SIDE(CES) stereogrammen, afbeeldingen en video's bekijken in 3D

A doen het zelf glazen prisma, gevuld met water of glycerine olie, bekijken van 3D Kant door kant (CES) foto's, dat wil zeggen (CES) stereogrammen en (CES)Videosclearly en eenvoudig zonder dat u hoeft te leren de methode cross oog.Dit project toont u