gitextract_llhyw4pl/ ├── .config/ │ └── dotnet-tools.json_ ├── .gitattributes ├── .github/ │ ├── FUNDING.yml │ └── workflows/ │ ├── dotnet.yml │ └── sponsors.yml ├── .gitignore ├── .gitmodules ├── BuildNuget.bat ├── CHANGELOG.md ├── CODESTYLE.md ├── CONTRIBUTING.md ├── Clean.bat ├── Documentation/ │ ├── articles/ │ │ ├── README.md │ │ ├── content/ │ │ │ ├── adding_ttf_fonts.md │ │ │ ├── content.md │ │ │ ├── custom_effects.md │ │ │ ├── localization.md │ │ │ ├── toc.yml │ │ │ ├── using_mgcb_editor.md │ │ │ └── why_content_pipeline.md │ │ ├── getting_started/ │ │ │ ├── 0_getting_started.md │ │ │ ├── 1_setting_up_your_development_environment_macos.md │ │ │ ├── 1_setting_up_your_development_environment_ubuntu.md │ │ │ ├── 1_setting_up_your_development_environment_windows.md │ │ │ ├── 2_creating_a_new_project_netcore.md │ │ │ ├── 2_creating_a_new_project_vs.md │ │ │ ├── 2_creating_a_new_project_vsm.md │ │ │ ├── 3_understanding_the_code.md │ │ │ ├── 4_adding_content.md │ │ │ ├── 5_adding_basic_code.md │ │ │ └── toc.yml │ │ ├── help_and_support.md │ │ ├── migrate_37.md │ │ ├── migrate_38.md │ │ ├── migrate_381.md │ │ ├── migrate_3_10.md │ │ ├── migrate_3_11.md │ │ ├── migrate_3_12.md │ │ ├── migrate_3_13.md │ │ ├── migrate_3_14.md │ │ ├── migrate_4_0.md │ │ ├── migrate_4_1.md │ │ ├── migrate_xna.md │ │ ├── packaging_games.md │ │ ├── platforms.md │ │ ├── samples.md │ │ ├── toc.yml │ │ ├── tools/ │ │ │ ├── knifxc.md │ │ │ ├── mgcb.md │ │ │ ├── mgcb_editor.md │ │ │ ├── toc.yml │ │ │ └── tools.md │ │ ├── tutorials.md │ │ └── whats_new.md │ ├── docfx.json │ ├── index.md │ ├── metadata.json │ ├── theme/ │ │ ├── material/ │ │ │ ├── partials/ │ │ │ │ └── head.tmpl.partial │ │ │ └── styles/ │ │ │ └── main.css │ │ └── monogame/ │ │ ├── partials/ │ │ │ ├── head.tmpl.partial │ │ │ └── navbar.tmpl.partial │ │ └── styles/ │ │ └── monogame.css │ └── toc.yml ├── ISSUE_TEMPLATE.md ├── Installers/ │ ├── Windows/ │ │ ├── KniSdkSetup.nsi │ │ └── SponsorPage.ini │ └── default.build ├── KNI.sln ├── Kni.Platform.Android.GL.Xamarin.sln ├── Kni.Platform.Android.GL.sln ├── Kni.Platform.Blazor.GL.sln ├── Kni.Platform.Cardboard.GL.sln ├── Kni.Platform.Oculus.GL.sln ├── Kni.Platform.Ref.sln ├── Kni.Platform.SDL2.GL.sln ├── Kni.Platform.UAP.DX11.sln ├── Kni.Platform.WinForms.DX11.sln ├── Kni.Platform.iOS.GL.sln ├── LICENSE.txt ├── MonoGame.Tools.Linux.sln ├── NuGetPackages/ │ ├── Content.Pipeline.Builder.Windows.nuspec │ ├── Content.Pipeline.Builder.nuspec │ ├── MonoGame.Framework.WindowsUniversal.nuspec │ ├── MonoGame.Templates.nuspec1 │ ├── RegisterLocalNuget.bat │ └── build/ │ └── Builder/ │ └── nkast.Xna.Framework.Content.Pipeline.Builder.targets ├── Platforms/ │ ├── AssemblyInfo.cs │ ├── Audio/ │ │ ├── Android/ │ │ │ ├── ConcreteAudioFactory.cs │ │ │ ├── ConcreteAudioServiceDroid.cs │ │ │ └── ConcreteMicrophoneDroid.cs │ │ ├── Blazor/ │ │ │ ├── AudioLoader.cs │ │ │ ├── ConcreteAudioFactory.cs │ │ │ ├── ConcreteAudioService.cs │ │ │ ├── ConcreteDynamicSoundEffectInstance.cs │ │ │ ├── ConcreteMicrophone.cs │ │ │ ├── ConcreteSoundEffect.cs │ │ │ └── ConcreteSoundEffectInstance.cs │ │ ├── OpenAL/ │ │ │ ├── AudioLoader.cs │ │ │ ├── ConcreteAudioFactory.cs │ │ │ ├── ConcreteAudioService.cs │ │ │ ├── ConcreteDynamicSoundEffectInstance.cs │ │ │ ├── ConcreteMicrophone.cs │ │ │ ├── ConcreteSoundEffect.cs │ │ │ ├── ConcreteSoundEffectInstance.cs │ │ │ └── OpenAL.cs │ │ ├── Ref/ │ │ │ ├── ConcreteAudioFactory.cs │ │ │ ├── ConcreteAudioService.cs │ │ │ ├── ConcreteDynamicSoundEffectInstance.cs │ │ │ ├── ConcreteMicrophone.cs │ │ │ ├── ConcreteSoundEffect.cs │ │ │ └── ConcreteSoundEffectInstance.cs │ │ └── XAudio/ │ │ ├── ConcreteAudioFactory.cs │ │ ├── ConcreteAudioService.cs │ │ ├── ConcreteDynamicSoundEffectInstance.cs │ │ ├── ConcreteMicrophone.cs │ │ ├── ConcreteSoundEffect.cs │ │ └── ConcreteSoundEffectInstance.cs │ ├── Content/ │ │ ├── .Android/ │ │ │ ├── ConcreteTitleContainer.cs │ │ │ └── ConcreteTitleContainerFactory.cs │ │ ├── .Blazor/ │ │ │ ├── ConcreteTitleContainer.cs │ │ │ └── ConcreteTitleContainerFactory.cs │ │ ├── .Ref/ │ │ │ ├── ConcreteTitleContainer.cs │ │ │ └── ConcreteTitleContainerFactory.cs │ │ ├── .SDL2/ │ │ │ ├── ConcreteTitleContainer.cs │ │ │ └── ConcreteTitleContainerFactory.cs │ │ ├── .UAP/ │ │ │ ├── ConcreteTitleContainer.cs │ │ │ └── ConcreteTitleContainerFactory.cs │ │ ├── .WindowsDX11/ │ │ │ ├── ConcreteTitleContainer.cs │ │ │ └── ConcreteTitleContainerFactory.cs │ │ ├── .iOS/ │ │ │ ├── ConcreteTitleContainer.cs │ │ │ └── ConcreteTitleContainerFactory.cs │ │ └── .macOS/ │ │ ├── ConcreteTitleContainer.cs │ │ └── ConcreteTitleContainerFactory.cs │ ├── Devices/ │ │ ├── .Android/ │ │ │ ├── ConcreteDevicesFactory.cs │ │ │ ├── ConcreteHaptics.cs │ │ │ └── Sensors/ │ │ │ ├── ConcreteAccelerometer.cs │ │ │ ├── ConcreteCompass.cs │ │ │ ├── ConcreteSensorService.cs │ │ │ └── SensorListener.cs │ │ ├── .Blazor/ │ │ │ ├── ConcreteDevicesFactory.cs │ │ │ ├── ConcreteHaptics.cs │ │ │ └── Sensors/ │ │ │ ├── ConcreteAccelerometer.cs │ │ │ ├── ConcreteCompass.cs │ │ │ └── ConcreteSensorService.cs │ │ ├── .Ref/ │ │ │ ├── ConcreteDevicesFactory.cs │ │ │ ├── ConcreteHaptics.cs │ │ │ └── Sensors/ │ │ │ ├── ConcreteAccelerometer.cs │ │ │ ├── ConcreteCompass.cs │ │ │ └── ConcreteSensorService.cs │ │ ├── .SDL2/ │ │ │ ├── ConcreteDevicesFactory.cs │ │ │ ├── ConcreteHaptics.cs │ │ │ └── Sensors/ │ │ │ ├── ConcreteAccelerometer.cs │ │ │ ├── ConcreteCompass.cs │ │ │ └── ConcreteSensorService.cs │ │ ├── .UAP/ │ │ │ ├── ConcreteDevicesFactory.cs │ │ │ ├── ConcreteHaptics.cs │ │ │ └── Sensors/ │ │ │ ├── ConcreteAccelerometer.cs │ │ │ ├── ConcreteCompass.cs │ │ │ └── ConcreteSensorService.cs │ │ ├── .WindowsDX/ │ │ │ ├── ConcreteDevicesFactory.cs │ │ │ ├── ConcreteHaptics.cs │ │ │ └── Sensors/ │ │ │ ├── ConcreteAccelerometer.cs │ │ │ ├── ConcreteCompass.cs │ │ │ └── ConcreteSensorService.cs │ │ └── .iOS/ │ │ ├── ConcreteDevicesFactory.cs │ │ ├── ConcreteHaptics.cs │ │ └── Sensors/ │ │ ├── ConcreteAccelerometer.cs │ │ ├── ConcreteCompass.cs │ │ └── ConcreteSensorService.cs │ ├── Directory.Build.props │ ├── Game/ │ │ ├── .Android/ │ │ │ ├── AndroidCompatibility.cs │ │ │ ├── AndroidGameActivity.cs │ │ │ ├── AndroidGameWindow.cs │ │ │ ├── AndroidSurfaceView.cs │ │ │ ├── ConcreteGame.cs │ │ │ ├── ConcreteGameFactory.cs │ │ │ ├── ConcreteGraphicsDeviceManager.cs │ │ │ ├── ISurfaceView.cs │ │ │ ├── OrientationListener.cs │ │ │ ├── RunnableObject.cs │ │ │ ├── ScreenReceiver.cs │ │ │ └── TouchEventListener.cs │ │ ├── .Blazor/ │ │ │ ├── BlazorGameWindow.cs │ │ │ ├── ConcreteGame.cs │ │ │ ├── ConcreteGameFactory.cs │ │ │ └── ConcreteGraphicsDeviceManager.cs │ │ ├── .CardboardLegacy/ │ │ │ ├── AndroidCompatibility.cs │ │ │ ├── AndroidGameActivity.cs │ │ │ ├── AndroidGameWindow.cs │ │ │ ├── AndroidSurfaceView.cs │ │ │ ├── ConcreteGame.cs │ │ │ ├── ConcreteGameFactory.cs │ │ │ └── ConcreteGraphicsDeviceManager.cs │ │ ├── .Oculus/ │ │ │ └── AndroidCompatibility.cs │ │ ├── .Ref/ │ │ │ ├── ConcreteGame.cs │ │ │ ├── ConcreteGameFactory.cs │ │ │ └── ConcreteGraphicsDeviceManager.cs │ │ ├── .SDL2/ │ │ │ ├── ConcreteGame.cs │ │ │ ├── ConcreteGameFactory.cs │ │ │ ├── ConcreteGraphicsDeviceManager.cs │ │ │ ├── SDL2.cs │ │ │ └── SDLGameWindow.cs │ │ ├── .UAP/ │ │ │ ├── ConcreteGame.cs │ │ │ ├── ConcreteGameFactory.cs │ │ │ ├── ConcreteGraphicsDeviceManager.cs │ │ │ ├── GameFrameworkViewSource.cs │ │ │ ├── InputEvents.cs │ │ │ ├── UAPFrameworkView.cs │ │ │ ├── UAPGameWindow.cs │ │ │ └── XamlGame.cs │ │ ├── .WindowsDX11/ │ │ │ ├── ConcreteGame.cs │ │ │ ├── ConcreteGameFactory.cs │ │ │ ├── ConcreteGraphicsDeviceManager.cs │ │ │ ├── KeysHelper.cs │ │ │ ├── TimerHelper.cs │ │ │ ├── WinFormsGameForm.cs │ │ │ └── WinFormsGameWindow.cs │ │ └── .iOS/ │ │ ├── ConcreteGame.cs │ │ ├── ConcreteGameFactory.cs │ │ ├── ConcreteGraphicsDeviceManager.cs │ │ ├── IPlatformBackButton.tvOS.cs │ │ ├── OrientationConverter.cs │ │ ├── iOSGameView.cs │ │ ├── iOSGameViewController.cs │ │ ├── iOSGameView_Touch.cs │ │ └── iOSGameWindow.cs │ ├── Graphics/ │ │ ├── .BlazorGL/ │ │ │ ├── ConcreteGraphicsAdapter.cs │ │ │ ├── ConcreteGraphicsAdaptersProvider.cs │ │ │ ├── ConcreteGraphicsCapabilities.cs │ │ │ ├── ConcreteGraphicsContext.cs │ │ │ ├── ConcreteGraphicsDebug.cs │ │ │ ├── ConcreteGraphicsDevice.cs │ │ │ ├── ConcreteGraphicsFactory.cs │ │ │ ├── ConcreteOcclusionQuery.cs │ │ │ ├── ConcreteRenderTarget2D.cs │ │ │ ├── ConcreteRenderTarget3D.cs │ │ │ ├── ConcreteRenderTargetCube.cs │ │ │ ├── ConcreteSamplerStateCollection.cs │ │ │ ├── ConcreteTexture.cs │ │ │ ├── ConcreteTexture2D.Stream.cs │ │ │ ├── ConcreteTexture2D.cs │ │ │ ├── ConcreteTexture3D.cs │ │ │ ├── ConcreteTextureCollection.cs │ │ │ ├── ConcreteTextureCube.cs │ │ │ ├── GLExtensions.cs │ │ │ ├── IRenderTargetStrategyGL.cs │ │ │ ├── Shader/ │ │ │ │ ├── ConcreteConstantBuffer.cs │ │ │ │ ├── ConcreteConstantBufferCollection.cs │ │ │ │ ├── ConcretePixelShader.cs │ │ │ │ ├── ConcreteShader.cs │ │ │ │ ├── ConcreteVertexShader.cs │ │ │ │ └── ShaderProgram.cs │ │ │ ├── States/ │ │ │ │ ├── ConcreteBlendState.cs │ │ │ │ ├── ConcreteDepthStencilState.cs │ │ │ │ ├── ConcreteRasterizerState.cs │ │ │ │ └── ConcreteSamplerState.cs │ │ │ └── Vertices/ │ │ │ ├── ConcreteDynamicIndexBuffer.cs │ │ │ ├── ConcreteDynamicVertexBuffer.cs │ │ │ ├── ConcreteIndexBuffer.cs │ │ │ ├── ConcreteVertexBuffer.cs │ │ │ └── VertexDeclarationAttributeInfo.cs │ │ ├── .Common/ │ │ │ └── SpriteBatcher.cs │ │ ├── .DX11/ │ │ │ ├── ConcreteGraphicsAdapter.cs │ │ │ ├── ConcreteGraphicsAdaptersProvider.cs │ │ │ ├── ConcreteGraphicsCapabilities.cs │ │ │ ├── ConcreteGraphicsContext.cs │ │ │ ├── ConcreteGraphicsDebug.cs │ │ │ ├── ConcreteGraphicsDevice.cs │ │ │ ├── ConcreteGraphicsFactory.cs │ │ │ ├── ConcreteOcclusionQuery.cs │ │ │ ├── ConcreteRenderTarget2D.cs │ │ │ ├── ConcreteRenderTarget3D.cs │ │ │ ├── ConcreteRenderTargetCube.cs │ │ │ ├── ConcreteRenderTargetSwapChain.cs │ │ │ ├── ConcreteSamplerStateCollection.cs │ │ │ ├── ConcreteTexture.cs │ │ │ ├── ConcreteTexture2D.Stream.cs │ │ │ ├── ConcreteTexture2D.cs │ │ │ ├── ConcreteTexture3D.cs │ │ │ ├── ConcreteTextureCollection.cs │ │ │ ├── ConcreteTextureCube.cs │ │ │ ├── GraphicsSharpDXExtensions.cs │ │ │ ├── IRenderTargetStrategyDX11.cs │ │ │ ├── Shader/ │ │ │ │ ├── ConcreteConstantBuffer.cs │ │ │ │ ├── ConcreteConstantBufferCollection.cs │ │ │ │ ├── ConcretePixelShader.cs │ │ │ │ ├── ConcreteShader.cs │ │ │ │ └── ConcreteVertexShader.cs │ │ │ ├── SharpDXExtensions.cs │ │ │ ├── SpriteBatcher.cs │ │ │ ├── States/ │ │ │ │ ├── ConcreteBlendState.cs │ │ │ │ ├── ConcreteDepthStencilState.cs │ │ │ │ ├── ConcreteRasterizerState.cs │ │ │ │ └── ConcreteSamplerState.cs │ │ │ └── Vertices/ │ │ │ ├── ConcreteDynamicIndexBuffer.cs │ │ │ ├── ConcreteDynamicVertexBuffer.cs │ │ │ ├── ConcreteIndexBuffer.cs │ │ │ ├── ConcreteVertexBuffer.cs │ │ │ ├── InputLayoutCache.cs │ │ │ └── VertexInputLayoutKey.cs │ │ ├── .GL/ │ │ │ ├── ConcreteGraphicsCapabilities.cs │ │ │ ├── ConcreteGraphicsContext.cs │ │ │ ├── ConcreteGraphicsDebug.cs │ │ │ ├── ConcreteGraphicsDevice.cs │ │ │ ├── ConcreteGraphicsFactory.cs │ │ │ ├── ConcreteOcclusionQuery.cs │ │ │ ├── ConcreteRenderTarget2D.cs │ │ │ ├── ConcreteRenderTarget3D.cs │ │ │ ├── ConcreteRenderTargetCube.cs │ │ │ ├── ConcreteRenderTargetSwapChain.cs │ │ │ ├── ConcreteSamplerStateCollection.cs │ │ │ ├── ConcreteTexture.cs │ │ │ ├── ConcreteTexture2D.Stream.cs │ │ │ ├── ConcreteTexture2D.cs │ │ │ ├── ConcreteTexture3D.cs │ │ │ ├── ConcreteTextureCollection.cs │ │ │ ├── ConcreteTextureCube.cs │ │ │ ├── GLExtensions.cs │ │ │ ├── GLVersion.cs │ │ │ ├── IRenderTargetStrategyGL.cs │ │ │ ├── OpenGL.Common.cs │ │ │ ├── OpenGL.cs │ │ │ ├── Shader/ │ │ │ │ ├── ConcreteConstantBuffer.cs │ │ │ │ ├── ConcreteConstantBufferCollection.cs │ │ │ │ ├── ConcretePixelShader.cs │ │ │ │ ├── ConcreteShader.cs │ │ │ │ ├── ConcreteVertexShader.cs │ │ │ │ └── ShaderProgram.cs │ │ │ ├── States/ │ │ │ │ ├── ConcreteBlendState.cs │ │ │ │ ├── ConcreteDepthStencilState.cs │ │ │ │ ├── ConcreteRasterizerState.cs │ │ │ │ └── ConcreteSamplerState.cs │ │ │ └── Vertices/ │ │ │ ├── ConcreteDynamicIndexBuffer.cs │ │ │ ├── ConcreteDynamicVertexBuffer.cs │ │ │ ├── ConcreteIndexBuffer.cs │ │ │ ├── ConcreteVertexBuffer.cs │ │ │ └── VertexDeclarationAttributeInfo.cs │ │ ├── .GL.Android/ │ │ │ ├── ConcreteGraphicsAdapter.cs │ │ │ ├── ConcreteGraphicsAdaptersProvider.cs │ │ │ ├── ConcreteGraphicsContext.Android.cs │ │ │ ├── ConcreteGraphicsDevice.Android.cs │ │ │ ├── OpenGL.Android.cs │ │ │ ├── SurfaceConfig.cs │ │ │ └── Vertices/ │ │ │ ├── ConcreteIndexBuffer.cs │ │ │ └── ConcreteVertexBuffer.cs │ │ ├── .GL.SDL/ │ │ │ ├── ConcreteGraphicsAdapter.cs │ │ │ ├── ConcreteGraphicsAdaptersProvider.cs │ │ │ ├── ConcreteGraphicsContext.SDL.cs │ │ │ ├── ConcreteGraphicsDevice.SDL.cs │ │ │ ├── OpenGL.SDL.cs │ │ │ └── Vertices/ │ │ │ ├── ConcreteIndexBuffer.cs │ │ │ └── ConcreteVertexBuffer.cs │ │ ├── .GL.iOS/ │ │ │ ├── ConcreteGraphicsAdapter.cs │ │ │ ├── ConcreteGraphicsAdaptersProvider.cs │ │ │ ├── ConcreteGraphicsContext.iOS.cs │ │ │ ├── ConcreteGraphicsDevice.iOS.cs │ │ │ ├── OpenGL.iOS.cs │ │ │ └── Vertices/ │ │ │ ├── ConcreteIndexBuffer.cs │ │ │ └── ConcreteVertexBuffer.cs │ │ ├── .Ref/ │ │ │ ├── ConcreteGraphicsAdapter.cs │ │ │ ├── ConcreteGraphicsAdaptersProvider.cs │ │ │ ├── ConcreteGraphicsCapabilities.cs │ │ │ ├── ConcreteGraphicsContext.cs │ │ │ ├── ConcreteGraphicsDebug.cs │ │ │ ├── ConcreteGraphicsDevice.cs │ │ │ ├── ConcreteGraphicsFactory.cs │ │ │ ├── ConcreteOcclusionQuery.cs │ │ │ ├── ConcreteRenderTarget2D.cs │ │ │ ├── ConcreteRenderTarget3D.cs │ │ │ ├── ConcreteRenderTargetCube.cs │ │ │ ├── ConcreteSamplerStateCollection.cs │ │ │ ├── ConcreteTexture.cs │ │ │ ├── ConcreteTexture2D.Stream.cs │ │ │ ├── ConcreteTexture2D.cs │ │ │ ├── ConcreteTexture3D.cs │ │ │ ├── ConcreteTextureCollection.cs │ │ │ ├── ConcreteTextureCube.cs │ │ │ ├── Shader/ │ │ │ │ ├── ConcreteConstantBuffer.cs │ │ │ │ ├── ConcreteConstantBufferCollection.cs │ │ │ │ ├── ConcretePixelShader.cs │ │ │ │ ├── ConcreteShader.cs │ │ │ │ └── ConcreteVertexShader.cs │ │ │ ├── States/ │ │ │ │ ├── ConcreteBlendState.cs │ │ │ │ ├── ConcreteDepthStencilState.cs │ │ │ │ ├── ConcreteRasterizerState.cs │ │ │ │ └── ConcreteSamplerState.cs │ │ │ └── Vertices/ │ │ │ ├── ConcreteDynamicIndexBuffer.cs │ │ │ ├── ConcreteDynamicVertexBuffer.cs │ │ │ ├── ConcreteIndexBuffer.cs │ │ │ └── ConcreteVertexBuffer.cs │ │ ├── Effect/ │ │ │ ├── Resources/ │ │ │ │ ├── AlphaTestEffect.dx11.fxo │ │ │ │ ├── AlphaTestEffect.gles.fxo │ │ │ │ ├── AlphaTestEffect.ogl.fxo │ │ │ │ ├── BasicEffect.dx11.fxo │ │ │ │ ├── BasicEffect.gles.fxo │ │ │ │ ├── BasicEffect.ogl.fxo │ │ │ │ ├── DualTextureEffect.dx11.fxo │ │ │ │ ├── DualTextureEffect.gles.fxo │ │ │ │ ├── DualTextureEffect.ogl.fxo │ │ │ │ ├── EnvironmentMapEffect.dx11.fxo │ │ │ │ ├── EnvironmentMapEffect.gles.fxo │ │ │ │ ├── EnvironmentMapEffect.ogl.fxo │ │ │ │ ├── SkinnedEffect.dx11.fxo │ │ │ │ ├── SkinnedEffect.gles.fxo │ │ │ │ ├── SkinnedEffect.ogl.fxo │ │ │ │ ├── SpriteEffect.dx11.fxo │ │ │ │ ├── SpriteEffect.gles.fxo │ │ │ │ └── SpriteEffect.ogl.fxo │ │ │ └── Shaders/ │ │ │ ├── AlphaTestEffect.fx │ │ │ ├── BasicEffect.fx │ │ │ ├── BuildShaders.bat │ │ │ ├── Common.fxh │ │ │ ├── DualTextureEffect.fx │ │ │ ├── EnvironmentMapEffect.fx │ │ │ ├── Lighting.fxh │ │ │ ├── Macros.fxh │ │ │ ├── Microsoft_Permissive_License.rtf │ │ │ ├── SkinnedEffect.fx │ │ │ ├── SpriteEffect.fx │ │ │ └── Structures.fxh │ │ ├── RenderTargetSwapChain.OpenGL.cs │ │ └── SwapChainRenderTarget.DirectX.cs │ ├── ILLink.Descriptors.xml │ ├── Input/ │ │ ├── .Android/ │ │ │ ├── ConcreteGamePad.cs │ │ │ ├── ConcreteGamePadDevice.cs │ │ │ ├── ConcreteInputFactory.cs │ │ │ ├── ConcreteJoystick.cs │ │ │ ├── ConcreteKeyboard.cs │ │ │ ├── ConcreteKeyboardInput.cs │ │ │ ├── ConcreteMessageBox.cs │ │ │ ├── ConcreteMouse.cs │ │ │ ├── ConcreteMouseCursor.cs │ │ │ └── Touch/ │ │ │ └── ConcreteTouchPanel.cs │ │ ├── .Blazor/ │ │ │ ├── ConcreteGamePad.cs │ │ │ ├── ConcreteGamePadDevice.cs │ │ │ ├── ConcreteInputFactory.cs │ │ │ ├── ConcreteJoystick.cs │ │ │ ├── ConcreteKeyboard.cs │ │ │ ├── ConcreteKeyboardInput.cs │ │ │ ├── ConcreteMessageBox.cs │ │ │ ├── ConcreteMouse.cs │ │ │ ├── ConcreteMouseCursor.cs │ │ │ ├── Touch/ │ │ │ │ └── ConcreteTouchPanel.cs │ │ │ └── XR/ │ │ │ └── ConcreteTouchController.cs │ │ ├── .LibOVR/ │ │ │ └── XR/ │ │ │ └── ConcreteTouchControllerStrategy.cs │ │ ├── .OpenXR/ │ │ │ └── XR/ │ │ │ └── ConcreteTouchControllerStrategy.cs │ │ ├── .Ref/ │ │ │ ├── ConcreteGamePad.cs │ │ │ ├── ConcreteGamePadDevice.cs │ │ │ ├── ConcreteInputFactory.cs │ │ │ ├── ConcreteJoystick.cs │ │ │ ├── ConcreteKeyboard.cs │ │ │ ├── ConcreteKeyboardInput.cs │ │ │ ├── ConcreteMessageBox.cs │ │ │ ├── ConcreteMouse.cs │ │ │ ├── ConcreteMouseCursor.cs │ │ │ └── Touch/ │ │ │ └── ConcreteTouchPanel.cs │ │ ├── .SDL2/ │ │ │ ├── ConcreteGamePad.cs │ │ │ ├── ConcreteGamePadDevice.cs │ │ │ ├── ConcreteInputFactory.cs │ │ │ ├── ConcreteJoystick.cs │ │ │ ├── ConcreteKeyboard.cs │ │ │ ├── ConcreteKeyboardInput.cs │ │ │ ├── ConcreteMessageBox.cs │ │ │ ├── ConcreteMouse.cs │ │ │ ├── ConcreteMouseCursor.cs │ │ │ ├── KeyboardUtil.cs │ │ │ └── Touch/ │ │ │ └── ConcreteTouchPanel.cs │ │ ├── .UAP/ │ │ │ ├── ConcreteGamePad.cs │ │ │ ├── ConcreteGamePadDevice.cs │ │ │ ├── ConcreteInputFactory.cs │ │ │ ├── ConcreteJoystick.cs │ │ │ ├── ConcreteKeyboard.cs │ │ │ ├── ConcreteKeyboardInput.cs │ │ │ ├── ConcreteMessageBox.cs │ │ │ ├── ConcreteMouse.cs │ │ │ ├── ConcreteMouseCursor.cs │ │ │ └── Touch/ │ │ │ └── ConcreteTouchPanel.cs │ │ ├── .WindowsDX/ │ │ │ ├── ConcreteGamePad.cs │ │ │ ├── ConcreteGamePadDevice.cs │ │ │ ├── ConcreteInputFactory.cs │ │ │ ├── ConcreteJoystick.cs │ │ │ ├── ConcreteKeyboard.cs │ │ │ ├── ConcreteKeyboardInput.cs │ │ │ ├── ConcreteMessageBox.cs │ │ │ ├── ConcreteMouse.cs │ │ │ ├── ConcreteMouseCursor.cs │ │ │ └── Touch/ │ │ │ └── ConcreteTouchPanel.cs │ │ └── .iOS/ │ │ ├── ConcreteGamePad.cs │ │ ├── ConcreteGamePad.tvOS.cs │ │ ├── ConcreteGamePadDevice.cs │ │ ├── ConcreteInputFactory.cs │ │ ├── ConcreteJoystick.cs │ │ ├── ConcreteKeyboard.cs │ │ ├── ConcreteKeyboardInput.cs │ │ ├── ConcreteMessageBox.cs │ │ ├── ConcreteMouse.cs │ │ ├── ConcreteMouseCursor.cs │ │ └── Touch/ │ │ └── ConcreteTouchPanel.cs │ ├── Kni.Platform.Android.GL.Xamarin.csproj │ ├── Kni.Platform.Android.GL.csproj │ ├── Kni.Platform.Blazor.GL.csproj │ ├── Kni.Platform.Cardboard.GL.csproj │ ├── Kni.Platform.Oculus.GL.csproj │ ├── Kni.Platform.Ref.csproj │ ├── Kni.Platform.SDL2.GL.csproj │ ├── Kni.Platform.SDL2.GL.dll.config │ ├── Kni.Platform.UAP.DX11.csproj │ ├── Kni.Platform.WinForms.DX11.OculusOVR.csproj │ ├── Kni.Platform.WinForms.DX11.csproj │ ├── Kni.Platform.iOS.GL.csproj │ ├── Media/ │ │ ├── Android/ │ │ │ ├── ConcreteAlbum.cs │ │ │ ├── ConcreteMediaFactory.cs │ │ │ ├── ConcreteMediaLibrary.cs │ │ │ ├── ConcreteMediaPlayer.cs │ │ │ ├── ConcreteSong.cs │ │ │ ├── ConcreteVideo.cs │ │ │ └── ConcreteVideoPlayer.cs │ │ ├── Blazor/ │ │ │ ├── ConcreteAlbum.cs │ │ │ ├── ConcreteMediaFactory.cs │ │ │ ├── ConcreteMediaLibrary.cs │ │ │ ├── ConcreteMediaPlayer.cs │ │ │ ├── ConcreteSong.cs │ │ │ ├── ConcreteVideo.cs │ │ │ └── ConcreteVideoPlayer.cs │ │ ├── DesktopGL/ │ │ │ ├── ConcreteAlbum.cs │ │ │ ├── ConcreteMediaFactory.cs │ │ │ ├── ConcreteMediaLibrary.cs │ │ │ ├── ConcreteMediaPlayer.cs │ │ │ ├── ConcreteSong.cs │ │ │ ├── ConcreteVideo.cs │ │ │ └── ConcreteVideoPlayer.cs │ │ ├── MacOS/ │ │ │ ├── ConcreteMediaFactory.cs │ │ │ ├── ConcreteVideo.cs │ │ │ └── ConcreteVideoPlayer.cs │ │ ├── Ref/ │ │ │ ├── ConcreteAlbum.cs │ │ │ ├── ConcreteMediaFactory.cs │ │ │ ├── ConcreteMediaLibrary.cs │ │ │ ├── ConcreteMediaPlayer.cs │ │ │ ├── ConcreteSong.cs │ │ │ ├── ConcreteVideo.cs │ │ │ └── ConcreteVideoPlayer.cs │ │ ├── WME/ │ │ │ ├── ConcreteAlbum.cs │ │ │ ├── ConcreteMediaFactory.cs │ │ │ ├── ConcreteMediaLibrary.cs │ │ │ ├── ConcreteMediaPlayer.cs │ │ │ ├── ConcreteSong.cs │ │ │ ├── ConcreteVideo.cs │ │ │ ├── ConcreteVideoPlayer.cs │ │ │ └── MusicProperties.cs │ │ ├── WMS/ │ │ │ ├── ConcreteAlbum.cs │ │ │ ├── ConcreteMediaFactory.cs │ │ │ ├── ConcreteMediaLibrary.cs │ │ │ ├── ConcreteMediaPlayer.cs │ │ │ ├── ConcreteSong.cs │ │ │ ├── ConcreteVideo.cs │ │ │ ├── ConcreteVideoPlayer.cs │ │ │ └── VideoSampleGrabber.cs │ │ └── iOS/ │ │ ├── ConcreteAlbum.cs │ │ ├── ConcreteMediaFactory.cs │ │ ├── ConcreteMediaLibrary.cs │ │ ├── ConcreteMediaPlayer.cs │ │ ├── ConcreteSong.cs │ │ ├── ConcreteVideo.cs │ │ └── ConcreteVideoPlayer.cs │ ├── MonoGame.Framework.DesktopGL.csproj │ ├── Properties/ │ │ ├── AssemblyInfo.Android.cs │ │ ├── AssemblyInfo.Blazor.cs │ │ ├── AssemblyInfo.DesktopGL.cs │ │ ├── AssemblyInfo.Ref.cs │ │ ├── AssemblyInfo.UWP.cs │ │ ├── AssemblyInfo.Windows.cs │ │ ├── AssemblyInfo.cs │ │ └── AssemblyInfo.iOS.cs │ ├── Resources/ │ │ └── Resource.designer.cs │ ├── Storage/ │ │ ├── .Android/ │ │ │ ├── ConcreteStorageContainer.cs │ │ │ ├── ConcreteStorageDevice.cs │ │ │ ├── ConcreteStorageFactory.cs │ │ │ └── ConcreteStorageService.cs │ │ ├── .Blazor/ │ │ │ ├── ConcreteStorageContainer.cs │ │ │ ├── ConcreteStorageDevice.cs │ │ │ ├── ConcreteStorageFactory.cs │ │ │ └── ConcreteStorageService.cs │ │ ├── .Ref/ │ │ │ ├── ConcreteStorageContainer.cs │ │ │ ├── ConcreteStorageDevice.cs │ │ │ ├── ConcreteStorageFactory.cs │ │ │ └── ConcreteStorageService.cs │ │ ├── .SDL2/ │ │ │ ├── ConcreteStorageContainer.cs │ │ │ ├── ConcreteStorageDevice.cs │ │ │ ├── ConcreteStorageFactory.cs │ │ │ └── ConcreteStorageService.cs │ │ ├── .UAP/ │ │ │ ├── ConcreteStorageContainer.cs │ │ │ ├── ConcreteStorageDevice.cs │ │ │ ├── ConcreteStorageFactory.cs │ │ │ └── ConcreteStorageService.cs │ │ ├── .WindowsDX/ │ │ │ ├── ConcreteStorageContainer.cs │ │ │ ├── ConcreteStorageDevice.cs │ │ │ ├── ConcreteStorageFactory.cs │ │ │ └── ConcreteStorageService.cs │ │ └── .iOS/ │ │ ├── ConcreteStorageContainer.cs │ │ ├── ConcreteStorageDevice.cs │ │ ├── ConcreteStorageFactory.cs │ │ └── ConcreteStorageService.cs │ ├── Utilities/ │ │ ├── .Android/ │ │ │ └── FuncLoader.cs │ │ ├── .SDL2/ │ │ │ └── FuncLoader.cs │ │ ├── .iOS/ │ │ │ └── FuncLoader.cs │ │ ├── AssemblyHelper.cs │ │ ├── CurrentPlatform.cs │ │ ├── InteropHelpers.cs │ │ ├── MemCopyHelper.cs │ │ └── Png/ │ │ ├── PngCommon.cs │ │ ├── PngReader.cs │ │ ├── PngWriter.cs │ │ └── ZLibStream.cs │ ├── XR/ │ │ ├── .Android/ │ │ │ ├── ConcreteXRDevice.cs │ │ │ └── ConcreteXRFactory.cs │ │ ├── .BlazorGL/ │ │ │ ├── ConcreteXRDevice.cs │ │ │ └── ConcreteXRFactory.cs │ │ ├── .CardboardLegacy/ │ │ │ ├── CardboardHeadsetState.cs │ │ │ ├── ConcreteXRDevice.cs │ │ │ ├── ConcreteXRFactory.cs │ │ │ └── GoogleCardboard/ │ │ │ ├── Additions/ │ │ │ │ └── AboutAdditions.txt │ │ │ ├── GoogleCardboard.csproj │ │ │ ├── Jars/ │ │ │ │ └── cardboard.jar │ │ │ └── Transforms/ │ │ │ ├── EnumFields.xml │ │ │ ├── EnumMethods.xml │ │ │ └── Metadata.xml │ │ ├── .LibOVR/ │ │ │ ├── ConcreteOvrSwapChainData.cs │ │ │ ├── ConcreteXRDevice.cs │ │ │ └── ConcreteXRFactory.cs │ │ ├── .Oculus/ │ │ │ ├── ConcreteOxrSwapChainData.cs │ │ │ ├── ConcreteXRDevice.cs │ │ │ └── ConcreteXRFactory.cs │ │ ├── .Ref/ │ │ │ ├── ConcreteXRDevice.cs │ │ │ └── ConcreteXRFactory.cs │ │ ├── .SDL2/ │ │ │ ├── ConcreteXRDevice.cs │ │ │ └── ConcreteXRFactory.cs │ │ ├── .UAP/ │ │ │ ├── ConcreteXRDevice.cs │ │ │ └── ConcreteXRFactory.cs │ │ ├── .WindowsDX/ │ │ │ ├── ConcreteXRDevice.cs │ │ │ └── ConcreteXRFactory.cs │ │ └── .iOS/ │ │ ├── ConcreteXRDevice.cs │ │ └── ConcreteXRFactory.cs │ └── build/ │ ├── .Android/ │ │ └── nkast.Kni.Platform.Android.GL.targets │ ├── .SDL2/ │ │ ├── MonoGame.Framework.DesktopGL.targets │ │ └── nkast.Kni.Platform.SDL2.GL.targets │ ├── .UAP/ │ │ └── nkast.Kni.Platform.UAP.DX11.targets │ ├── .WindowsDX/ │ │ └── nkast.Kni.Platform.WinForms.DX11.targets │ └── .iOS/ │ └── nkast.Kni.Platform.iOS.GL.targets ├── README.md ├── REQUIREMENTS.md ├── Templates/ │ ├── Directory.Build.props │ ├── MonoGame.Templates.CSharp/ │ │ ├── MonoGame.Templates.CSharp.csproj │ │ └── content/ │ │ ├── MonoGame.Application.Android.CSharp/ │ │ │ ├── .config/ │ │ │ │ └── dotnet-tools.json │ │ │ ├── .template.config/ │ │ │ │ └── template.json │ │ │ ├── Activity1.cs │ │ │ ├── AndroidManifest.xml │ │ │ ├── Content/ │ │ │ │ └── Content.mgcb │ │ │ ├── Game1.cs │ │ │ ├── MGNamespace.csproj │ │ │ └── Resources/ │ │ │ └── Values/ │ │ │ └── Strings.xml │ │ ├── MonoGame.Application.DesktopGL.CSharp/ │ │ │ ├── .config/ │ │ │ │ └── dotnet-tools.json │ │ │ ├── .template.config/ │ │ │ │ └── template.json │ │ │ ├── Content/ │ │ │ │ └── Content.mgcb │ │ │ ├── Game1.cs │ │ │ ├── MGNamespace.csproj │ │ │ ├── Program.cs │ │ │ └── app.manifest │ │ ├── MonoGame.Application.UWP.CoreApp.CSharp/ │ │ │ ├── .config/ │ │ │ │ └── dotnet-tools.json │ │ │ ├── .template.config/ │ │ │ │ └── template.json │ │ │ ├── Content/ │ │ │ │ └── Content.mgcb │ │ │ ├── Game1.cs │ │ │ ├── MGNamespace.csproj │ │ │ ├── Package.appxmanifest │ │ │ ├── Program.cs │ │ │ └── Properties/ │ │ │ ├── AssemblyInfo.cs │ │ │ └── Default.rd.xml │ │ ├── MonoGame.Application.UWP.XAML.CSharp/ │ │ │ ├── .config/ │ │ │ │ └── dotnet-tools.json │ │ │ ├── .template.config/ │ │ │ │ └── template.json │ │ │ ├── App.xaml │ │ │ ├── App.xaml.cs │ │ │ ├── Content/ │ │ │ │ └── Content.mgcb │ │ │ ├── Game1.cs │ │ │ ├── GamePage.xaml │ │ │ ├── GamePage.xaml.cs │ │ │ ├── MGNamespace.csproj │ │ │ ├── Package.appxmanifest │ │ │ └── Properties/ │ │ │ ├── AssemblyInfo.cs │ │ │ └── Default.rd.xml │ │ ├── MonoGame.Application.WindowsDX.CSharp/ │ │ │ ├── .config/ │ │ │ │ └── dotnet-tools.json │ │ │ ├── .template.config/ │ │ │ │ └── template.json │ │ │ ├── Content/ │ │ │ │ └── Content.mgcb │ │ │ ├── Game1.cs │ │ │ ├── MGNamespace.csproj │ │ │ ├── Program.cs │ │ │ └── app.manifest │ │ ├── MonoGame.Application.iOS.CSharp/ │ │ │ ├── .config/ │ │ │ │ └── dotnet-tools.json │ │ │ ├── .template.config/ │ │ │ │ └── template.json │ │ │ ├── Content/ │ │ │ │ └── Content.mgcb │ │ │ ├── Entitlements.plist │ │ │ ├── Game1.cs │ │ │ ├── Info.plist │ │ │ ├── LaunchScreen.storyboard │ │ │ ├── MGNamespace.csproj │ │ │ └── Program.cs │ │ ├── MonoGame.Library.CSharp/ │ │ │ ├── .config/ │ │ │ │ └── dotnet-tools.json │ │ │ ├── .template.config/ │ │ │ │ └── template.json │ │ │ ├── Content/ │ │ │ │ └── Content.mgcb │ │ │ ├── Game1.cs │ │ │ └── MGNamespace.csproj │ │ ├── MonoGame.Library.Pipeline.Extension.CSharp/ │ │ │ ├── .template.config/ │ │ │ │ └── template.json │ │ │ ├── Importer1.cs │ │ │ ├── MGNamespace.csproj │ │ │ └── Processor1.cs │ │ └── MonoGame.Library.Shared.CSharp/ │ │ ├── .template.config/ │ │ │ └── template.json │ │ ├── Content/ │ │ │ └── Content.mgcb │ │ ├── Game1.cs │ │ ├── MGNamespace.projitems │ │ └── MGNamespace.shproj │ ├── MonoGame.Templates.VSExtension/ │ │ ├── MonoGame.Templates.VSExtension.csproj │ │ ├── MonoGameTemplatesVSExtensionPackage.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ ├── Templates.pkgdef │ │ └── source.extension.vsixmanifest │ ├── VisualStudio2022/ │ │ ├── ItemTemplates/ │ │ │ ├── DrawableGameComponent/ │ │ │ │ ├── DrawableGameComponent.cs │ │ │ │ └── DrawableGameComponent.vstemplate │ │ │ └── GameComponent/ │ │ │ ├── GameComponent.cs │ │ │ └── GameComponent.vstemplate │ │ ├── ProjectTemplates/ │ │ │ ├── Android.NetCore/ │ │ │ │ ├── Activity.cs │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── Application.csproj │ │ │ │ ├── Assets/ │ │ │ │ │ └── AboutAssets.txt │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.mgcb │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── Game.cs │ │ │ │ ├── Game.vstemplate │ │ │ │ └── Resources/ │ │ │ │ ├── AboutResources.txt │ │ │ │ ├── Resource.Designer.cs │ │ │ │ └── Values/ │ │ │ │ ├── Strings.xml │ │ │ │ └── Styles.xml │ │ │ ├── BlazorGL.NetCore/ │ │ │ │ ├── App.razor │ │ │ │ ├── Application.csproj │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.mgcb │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── Game.cs │ │ │ │ ├── Game.vstemplate │ │ │ │ ├── MainLayout.razor │ │ │ │ ├── MainLayout.razor.css │ │ │ │ ├── Pages/ │ │ │ │ │ ├── Index.razor │ │ │ │ │ └── Index.razor.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── _Imports.razor │ │ │ │ └── wwwroot/ │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.txt │ │ │ │ ├── css/ │ │ │ │ │ └── app.css │ │ │ │ ├── index.html │ │ │ │ └── js/ │ │ │ │ ├── decode.js │ │ │ │ ├── micProcessor.js │ │ │ │ └── streamProcessor.js │ │ │ ├── ContentPipelineExtension.NetFramework/ │ │ │ │ ├── ContentImporter.cs │ │ │ │ ├── ContentPipelineExtension.csproj │ │ │ │ ├── ContentPipelineExtension.vstemplate │ │ │ │ ├── ContentProcessor.cs │ │ │ │ └── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ ├── ContentPipelineExtension.NetStandard/ │ │ │ │ ├── ContentImporter.cs │ │ │ │ ├── ContentPipelineExtension.csproj │ │ │ │ ├── ContentPipelineExtension.vstemplate │ │ │ │ ├── ContentProcessor.cs │ │ │ │ └── Directory.Build.props │ │ │ ├── DesktopGL.NetCore/ │ │ │ │ ├── Application.csproj │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.mgcb │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── Game.cs │ │ │ │ ├── Game.vstemplate │ │ │ │ ├── Program.cs │ │ │ │ └── app.manifest │ │ │ ├── DesktopGL.NetFramework/ │ │ │ │ ├── Application.csproj │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.mgcb │ │ │ │ ├── Game.cs │ │ │ │ ├── Game.vstemplate │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ └── app.manifest │ │ │ ├── Multiplatform.NetCore/ │ │ │ │ ├── Android/ │ │ │ │ │ ├── Activity.cs │ │ │ │ │ ├── AndroidManifest.xml │ │ │ │ │ ├── Application.csproj │ │ │ │ │ ├── Assets/ │ │ │ │ │ │ └── AboutAssets.txt │ │ │ │ │ ├── Directory.Build.props │ │ │ │ │ ├── Game.vstemplate │ │ │ │ │ └── Resources/ │ │ │ │ │ ├── AboutResources.txt │ │ │ │ │ ├── Resource.Designer.cs │ │ │ │ │ └── Values/ │ │ │ │ │ ├── Strings.xml │ │ │ │ │ └── Styles.xml │ │ │ │ ├── BlazorGL/ │ │ │ │ │ ├── App.razor │ │ │ │ │ ├── Application.csproj │ │ │ │ │ ├── Content/ │ │ │ │ │ │ └── Content.mgcb │ │ │ │ │ ├── Directory.Build.props │ │ │ │ │ ├── Game.vstemplate │ │ │ │ │ ├── MainLayout.razor │ │ │ │ │ ├── MainLayout.razor.css │ │ │ │ │ ├── Pages/ │ │ │ │ │ │ ├── Index.razor │ │ │ │ │ │ └── Index.razor.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── launchSettings.json │ │ │ │ │ ├── _Imports.razor │ │ │ │ │ └── wwwroot/ │ │ │ │ │ ├── Content/ │ │ │ │ │ │ └── Content.txt │ │ │ │ │ ├── css/ │ │ │ │ │ │ └── app.css │ │ │ │ │ ├── index.html │ │ │ │ │ └── js/ │ │ │ │ │ ├── decode.js │ │ │ │ │ ├── micProcessor.js │ │ │ │ │ └── streamProcessor.js │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.mgcb │ │ │ │ ├── DesktopGL/ │ │ │ │ │ ├── Application.csproj │ │ │ │ │ ├── Directory.Build.props │ │ │ │ │ ├── Game.vstemplate │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── app.manifest │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── GameMultiplatform.vstemplate │ │ │ │ ├── Shared/ │ │ │ │ │ ├── Game.cs │ │ │ │ │ ├── Shared.vstemplate │ │ │ │ │ ├── SharedProject.projitems │ │ │ │ │ └── SharedProject.shproj │ │ │ │ └── WindowsDX/ │ │ │ │ ├── Application.csproj │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── Game.vstemplate │ │ │ │ ├── Program.cs │ │ │ │ └── app.manifest │ │ │ ├── Multiplatform.NetFramework/ │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.mgcb │ │ │ │ ├── DesktopGL/ │ │ │ │ │ ├── Application.csproj │ │ │ │ │ ├── Game.vstemplate │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ │ └── app.manifest │ │ │ │ ├── GameMultiplatform.vstemplate │ │ │ │ ├── Shared/ │ │ │ │ │ ├── Game.cs │ │ │ │ │ ├── Shared.vstemplate │ │ │ │ │ ├── SharedProject.projitems │ │ │ │ │ └── SharedProject.shproj │ │ │ │ ├── UWPCore/ │ │ │ │ │ ├── Application.csproj │ │ │ │ │ ├── Game.vstemplate │ │ │ │ │ ├── Package.appxmanifest │ │ │ │ │ ├── Program.cs │ │ │ │ │ └── Properties/ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ └── Default.rd.xml │ │ │ │ ├── UWPXaml/ │ │ │ │ │ ├── App.xaml │ │ │ │ │ ├── App.xaml.cs │ │ │ │ │ ├── Application.csproj │ │ │ │ │ ├── Game.vstemplate │ │ │ │ │ ├── MainPage.xaml │ │ │ │ │ ├── MainPage.xaml.cs │ │ │ │ │ ├── Package.appxmanifest │ │ │ │ │ └── Properties/ │ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ │ └── Default.rd.xml │ │ │ │ └── WindowsDX/ │ │ │ │ ├── Application.csproj │ │ │ │ ├── Game.vstemplate │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ └── app.manifest │ │ │ ├── Oculus.NetCore/ │ │ │ │ ├── Activity.cs │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── Application.csproj │ │ │ │ ├── Assets/ │ │ │ │ │ └── AboutAssets.txt │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.mgcb │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── Game.cs │ │ │ │ ├── Game.vstemplate │ │ │ │ └── Resources/ │ │ │ │ ├── AboutResources.txt │ │ │ │ ├── Resource.Designer.cs │ │ │ │ └── Values/ │ │ │ │ ├── Strings.xml │ │ │ │ └── Styles.xml │ │ │ ├── UWPCore.UAP/ │ │ │ │ ├── Application.csproj │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.mgcb │ │ │ │ ├── Game.cs │ │ │ │ ├── Game.vstemplate │ │ │ │ ├── Package.appxmanifest │ │ │ │ ├── Program.cs │ │ │ │ └── Properties/ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ └── Default.rd.xml │ │ │ ├── UWPXaml.UAP/ │ │ │ │ ├── App.xaml │ │ │ │ ├── App.xaml.cs │ │ │ │ ├── Application.csproj │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.mgcb │ │ │ │ ├── Game.cs │ │ │ │ ├── Game.vstemplate │ │ │ │ ├── MainPage.xaml │ │ │ │ ├── MainPage.xaml.cs │ │ │ │ ├── Package.appxmanifest │ │ │ │ └── Properties/ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ └── Default.rd.xml │ │ │ ├── WindowsDX.NetCore/ │ │ │ │ ├── Application.csproj │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.mgcb │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── Game.cs │ │ │ │ ├── Game.vstemplate │ │ │ │ ├── Program.cs │ │ │ │ └── app.manifest │ │ │ ├── WindowsDX.NetFramework/ │ │ │ │ ├── Application.csproj │ │ │ │ ├── Content/ │ │ │ │ │ └── Content.mgcb │ │ │ │ ├── Game.cs │ │ │ │ ├── Game.vstemplate │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ └── app.manifest │ │ │ └── iOS.NetCore/ │ │ │ ├── Application.csproj │ │ │ ├── Content/ │ │ │ │ └── Content.mgcb │ │ │ ├── Directory.Build.props │ │ │ ├── Entitlements.plist │ │ │ ├── Game.cs │ │ │ ├── Game.vstemplate │ │ │ ├── Info.plist │ │ │ └── Program.cs │ │ └── default.build │ ├── default.build │ └── dotnetTemplates/ │ ├── Install.bat │ ├── README.md │ ├── Uninstall.bat │ ├── content/ │ │ ├── Android.NetCore.CSharp/ │ │ │ ├── $projectname$.csproj │ │ │ ├── $projectname$.sln │ │ │ ├── $projectname$Activity.cs │ │ │ ├── $projectname$Game.cs │ │ │ ├── .template.config/ │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ ├── AndroidManifest.xml │ │ │ ├── Assets/ │ │ │ │ └── AboutAssets.txt │ │ │ ├── Content/ │ │ │ │ └── $projectname$Content.mgcb │ │ │ ├── Directory.Build.props │ │ │ └── Resources/ │ │ │ ├── AboutResources.txt │ │ │ ├── Resource.Designer.cs │ │ │ └── Values/ │ │ │ ├── Strings.xml │ │ │ └── Styles.xml │ │ ├── BlazorGL.NetCore.CSharp/ │ │ │ ├── $projectname$.csproj │ │ │ ├── $projectname$.sln │ │ │ ├── $projectname$Game.cs │ │ │ ├── .template.config/ │ │ │ │ ├── Game.vstemplate │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ ├── App.razor │ │ │ ├── Content/ │ │ │ │ └── $projectname$Content.mgcb │ │ │ ├── Directory.Build.props │ │ │ ├── MainLayout.razor │ │ │ ├── MainLayout.razor.css │ │ │ ├── Pages/ │ │ │ │ ├── Index.razor │ │ │ │ └── Index.razor.cs │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── launchSettings.json │ │ │ ├── _Imports.razor │ │ │ └── wwwroot/ │ │ │ ├── Content/ │ │ │ │ └── .gitignore │ │ │ ├── css/ │ │ │ │ └── app.css │ │ │ ├── index.html │ │ │ └── js/ │ │ │ ├── decode.js │ │ │ ├── micProcessor.js │ │ │ └── streamProcessor.js │ │ ├── ContentPipelineExtension.NetStandard.CSharp/ │ │ │ ├── $projectname$.csproj │ │ │ ├── .template.config/ │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ ├── ContentImporter1.cs │ │ │ ├── ContentProcessor1.cs │ │ │ └── Directory.Build.props │ │ ├── DrawableGameComponent.CSharp/ │ │ │ ├── .template.config/ │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ └── DrawableGameComponent1.cs │ │ ├── GameComponent.CSharp/ │ │ │ ├── .template.config/ │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ └── GameComponent1.cs │ │ ├── Multiplatform.NetCore.CSharp/ │ │ │ ├── $projectname$.Android.GL/ │ │ │ │ ├── $projectname$.Android.GL.csproj │ │ │ │ ├── $projectname$Activity.cs │ │ │ │ ├── AndroidManifest.xml │ │ │ │ ├── Assets/ │ │ │ │ │ └── AboutAssets.txt │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── Platform$projectname$Game.cs │ │ │ │ └── Resources/ │ │ │ │ ├── AboutResources.txt │ │ │ │ ├── Resource.Designer.cs │ │ │ │ └── Values/ │ │ │ │ ├── Strings.xml │ │ │ │ └── Styles.xml │ │ │ ├── $projectname$.Blazor.GL/ │ │ │ │ ├── $projectname$.Blazor.GL.csproj │ │ │ │ ├── App.razor │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── MainLayout.razor │ │ │ │ ├── MainLayout.razor.css │ │ │ │ ├── Pages/ │ │ │ │ │ ├── Index.razor │ │ │ │ │ └── Index.razor.cs │ │ │ │ ├── Platform$projectname$Game.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── launchSettings.json │ │ │ │ ├── _Imports.razor │ │ │ │ └── wwwroot/ │ │ │ │ ├── Content/ │ │ │ │ │ └── .gitignore │ │ │ │ ├── css/ │ │ │ │ │ └── app.css │ │ │ │ ├── index.html │ │ │ │ └── js/ │ │ │ │ ├── decode.js │ │ │ │ ├── micProcessor.js │ │ │ │ └── streamProcessor.js │ │ │ ├── $projectname$.SDL2.GL/ │ │ │ │ ├── $projectname$.SDL2.GL.csproj │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── Platform$projectname$Game.cs │ │ │ │ ├── Program.cs │ │ │ │ └── app.manifest │ │ │ ├── $projectname$.Shared/ │ │ │ │ ├── $projectname$.Shared.projitems │ │ │ │ ├── $projectname$.Shared.shproj │ │ │ │ └── $projectname$Game.cs │ │ │ ├── $projectname$.WinForms.DX11/ │ │ │ │ ├── $projectname$.WinForms.DX11.csproj │ │ │ │ ├── Directory.Build.props │ │ │ │ ├── Platform$projectname$Game.cs │ │ │ │ ├── Program.cs │ │ │ │ └── app.manifest │ │ │ ├── $projectname$.sln │ │ │ ├── $projectname$Content/ │ │ │ │ └── $projectname$Content.mgcb │ │ │ ├── .template.config/ │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ └── Directory.Build.props │ │ ├── Multiplatform.NetFramework.CSharp/ │ │ │ ├── $projectname$.SDL2.GL/ │ │ │ │ ├── $projectname$.SDL2.GL.csproj │ │ │ │ ├── Platform$projectname$Game.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ └── app.manifest │ │ │ ├── $projectname$.Shared/ │ │ │ │ ├── $projectname$.Shared.projitems │ │ │ │ ├── $projectname$.Shared.shproj │ │ │ │ └── $projectname$Game.cs │ │ │ ├── $projectname$.UWPCore/ │ │ │ │ ├── $projectname$.UWPCore.csproj │ │ │ │ ├── Package.appxmanifest │ │ │ │ ├── Platform$projectname$Game.cs │ │ │ │ ├── Program.cs │ │ │ │ └── Properties/ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ └── Default.rd.xml │ │ │ ├── $projectname$.UWPXaml/ │ │ │ │ ├── $projectname$.UWPXaml.csproj │ │ │ │ ├── App.xaml │ │ │ │ ├── App.xaml.cs │ │ │ │ ├── MainPage.xaml │ │ │ │ ├── MainPage.xaml.cs │ │ │ │ ├── Package.appxmanifest │ │ │ │ ├── Platform$projectname$Game.cs │ │ │ │ └── Properties/ │ │ │ │ ├── AssemblyInfo.cs │ │ │ │ └── Default.rd.xml │ │ │ ├── $projectname$.WinForms.DX11/ │ │ │ │ ├── $projectname$.WinForms.DX11.csproj │ │ │ │ ├── Platform$projectname$Game.cs │ │ │ │ ├── Program.cs │ │ │ │ ├── Properties/ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ └── app.manifest │ │ │ ├── $projectname$.sln │ │ │ ├── $projectname$Content/ │ │ │ │ └── $projectname$Content.mgcb │ │ │ └── .template.config/ │ │ │ ├── ide.host.json │ │ │ └── template.json │ │ ├── Oculus.NetCore.CSharp/ │ │ │ ├── $projectname$.csproj │ │ │ ├── $projectname$.sln │ │ │ ├── $projectname$Activity.cs │ │ │ ├── $projectname$Game.cs │ │ │ ├── .template.config/ │ │ │ │ ├── Game.vstemplate │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ ├── AndroidManifest.xml │ │ │ ├── Assets/ │ │ │ │ └── AboutAssets.txt │ │ │ ├── Content/ │ │ │ │ └── $projectname$Content.mgcb │ │ │ ├── Directory.Build.props │ │ │ └── Resources/ │ │ │ ├── AboutResources.txt │ │ │ ├── Resource.Designer.cs │ │ │ └── Values/ │ │ │ ├── Strings.xml │ │ │ └── Styles.xml │ │ ├── SDL2.GL.NetCore.CSharp/ │ │ │ ├── $projectname$.csproj │ │ │ ├── $projectname$.sln │ │ │ ├── $projectname$Game.cs │ │ │ ├── .template.config/ │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ ├── Content/ │ │ │ │ └── $projectname$Content.mgcb │ │ │ ├── Directory.Build.props │ │ │ ├── Program.cs │ │ │ └── app.manifest │ │ ├── SDL2.GL.NetFramework.CSharp/ │ │ │ ├── $projectname$.csproj │ │ │ ├── $projectname$.sln │ │ │ ├── $projectname$Game.cs │ │ │ ├── .template.config/ │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ ├── Content/ │ │ │ │ └── $projectname$Content.mgcb │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ └── app.manifest │ │ ├── UWPCore.UAP.CSharp/ │ │ │ ├── $projectname$.csproj │ │ │ ├── $projectname$.sln │ │ │ ├── $projectname$Game.cs │ │ │ ├── .template.config/ │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ ├── Content/ │ │ │ │ └── $projectname$Content.mgcb │ │ │ ├── Package.appxmanifest │ │ │ ├── Program.cs │ │ │ └── Properties/ │ │ │ ├── AssemblyInfo.cs │ │ │ └── Default.rd.xml │ │ ├── UWPXaml.UAP.CSharp/ │ │ │ ├── $projectname$.csproj │ │ │ ├── $projectname$.sln │ │ │ ├── $projectname$Game.cs │ │ │ ├── .template.config/ │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ ├── App.xaml │ │ │ ├── App.xaml.cs │ │ │ ├── Content/ │ │ │ │ └── $projectname$Content.mgcb │ │ │ ├── MainPage.xaml │ │ │ ├── MainPage.xaml.cs │ │ │ ├── Package.appxmanifest │ │ │ └── Properties/ │ │ │ ├── AssemblyInfo.cs │ │ │ └── Default.rd.xml │ │ ├── WinForms.DX11.NetCore.CSharp/ │ │ │ ├── $projectname$.csproj │ │ │ ├── $projectname$.sln │ │ │ ├── $projectname$Game.cs │ │ │ ├── .template.config/ │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ ├── Content/ │ │ │ │ └── $projectname$Content.mgcb │ │ │ ├── Directory.Build.props │ │ │ ├── Program.cs │ │ │ └── app.manifest │ │ ├── WinForms.DX11.NetFramework.CSharp/ │ │ │ ├── $projectname$.csproj │ │ │ ├── $projectname$.sln │ │ │ ├── $projectname$Game.cs │ │ │ ├── .template.config/ │ │ │ │ ├── ide.host.json │ │ │ │ └── template.json │ │ │ ├── Content/ │ │ │ │ └── $projectname$Content.mgcb │ │ │ ├── Program.cs │ │ │ ├── Properties/ │ │ │ │ └── AssemblyInfo.cs │ │ │ └── app.manifest │ │ └── iOS.NetCore.CSharp/ │ │ ├── $projectname$.csproj │ │ ├── $projectname$.sln │ │ ├── $projectname$Game.cs │ │ ├── .template.config/ │ │ │ ├── ide.host.json │ │ │ └── template.json │ │ ├── Content/ │ │ │ └── $projectname$Content.mgcb │ │ ├── Directory.Build.props │ │ ├── Entitlements.plist │ │ ├── Info.plist │ │ └── Program.cs │ ├── installPackage.bat │ ├── nkast.Kni.Templates.csproj │ ├── pack.bat │ └── uninstallPackage.bat ├── Tests/ │ ├── Assets/ │ │ ├── Audio/ │ │ │ ├── Tests.xap │ │ │ ├── Win/ │ │ │ │ ├── Tests.xgs │ │ │ │ ├── Tests.xsb │ │ │ │ └── Tests.xwb │ │ │ ├── rock_loop_stereo.ogg │ │ │ ├── rock_loop_stereo.wma │ │ │ ├── tone_mono_44khz_16bit.xnb │ │ │ ├── tone_mono_44khz_8bit.xnb │ │ │ ├── tone_mono_44khz_float.xnb │ │ │ ├── tone_mono_44khz_imaadpcm.xnb │ │ │ ├── tone_mono_44khz_msadpcm.xnb │ │ │ ├── tone_stereo_44khz_16bit.xnb │ │ │ ├── tone_stereo_44khz_8bit.xnb │ │ │ ├── tone_stereo_44khz_float.xnb │ │ │ ├── tone_stereo_44khz_imaadpcm.xnb │ │ │ └── tone_stereo_44khz_msadpcm.xnb │ │ ├── Effects/ │ │ │ ├── Bevels.fx │ │ │ ├── BlackOut.fx │ │ │ ├── ColorFlip.fx │ │ │ ├── ComputeShader.fx │ │ │ ├── CustomSpriteBatchEffect.fx │ │ │ ├── CustomSpriteBatchEffectComparisonSampler.fx │ │ │ ├── DeferredBasicEffect.fx │ │ │ ├── DefinesTest.fx │ │ │ ├── DirectX/ │ │ │ │ ├── Bevels.xnb │ │ │ │ ├── BlackOut.xnb │ │ │ │ ├── ColorFlip.xnb │ │ │ │ ├── CustomSpriteBatchEffect.xnb │ │ │ │ ├── CustomSpriteBatchEffectComparisonSampler.xnb │ │ │ │ ├── Grayscale.xnb │ │ │ │ ├── HighContrast.xnb │ │ │ │ ├── Instancing.xnb │ │ │ │ ├── Invert.xnb │ │ │ │ ├── NewSyntax_s0s1t0t1.xnb │ │ │ │ ├── NewSyntax_t0t1.xnb │ │ │ │ ├── NoEffect.xnb │ │ │ │ ├── OldSyntax_s0s1t0t1.xnb │ │ │ │ ├── OldSyntax_t0t1.xnb │ │ │ │ ├── OldSyntax_t1t0.xnb │ │ │ │ ├── ParserTest.xnb │ │ │ │ ├── RainbowH.xnb │ │ │ │ ├── TextureArrayEffect.xnb │ │ │ │ └── VertexTextureEffect.xnb │ │ │ ├── DirectX.mgcb │ │ │ ├── Grayscale.fx │ │ │ ├── HighContrast.fx │ │ │ ├── Instancing.fx │ │ │ ├── Invert.fx │ │ │ ├── NewSyntax_s0s1t0t1.fx │ │ │ ├── NewSyntax_t0t1.fx │ │ │ ├── NoEffect.fx │ │ │ ├── OldSyntax_s0s1.fx │ │ │ ├── OldSyntax_s0s1t0t1.fx │ │ │ ├── OldSyntax_t0t1.fx │ │ │ ├── OldSyntax_t1t0.fx │ │ │ ├── OldSyntax_x.fx │ │ │ ├── OpenGL/ │ │ │ │ ├── Bevels.xnb │ │ │ │ ├── BlackOut.xnb │ │ │ │ ├── ColorFlip.xnb │ │ │ │ ├── CustomSpriteBatchEffect.xnb │ │ │ │ ├── Grayscale.xnb │ │ │ │ ├── HighContrast.xnb │ │ │ │ ├── Invert.xnb │ │ │ │ ├── NewSyntax_s0s1t0t1.xnb │ │ │ │ ├── NewSyntax_t0t1.xnb │ │ │ │ ├── NoEffect.xnb │ │ │ │ ├── OldSyntax_s0s1t0t1.xnb │ │ │ │ ├── OldSyntax_t0t1.xnb │ │ │ │ ├── OldSyntax_t1t0.xnb │ │ │ │ └── RainbowH.xnb │ │ │ ├── OpenGL.mgcb │ │ │ ├── OptimizedMatrix.fx │ │ │ ├── OptimizedMatrixArray.fx │ │ │ ├── ParserTest.fx │ │ │ ├── PreprocessorInclude.fxh │ │ │ ├── PreprocessorTest.fx │ │ │ ├── README.txt │ │ │ ├── RainbowH.fx │ │ │ ├── TextureArrayEffect.fx │ │ │ ├── VertexTextureEffect.fx │ │ │ ├── XNA/ │ │ │ │ ├── Bevels.xnb │ │ │ │ ├── BlackOut.xnb │ │ │ │ ├── ColorFlip.xnb │ │ │ │ ├── CustomSpriteBatchEffect.xnb │ │ │ │ ├── Grayscale.xnb │ │ │ │ ├── HighContrast.xnb │ │ │ │ ├── Instancing.xnb │ │ │ │ ├── Invert.xnb │ │ │ │ ├── NoEffect.xnb │ │ │ │ ├── OldSyntax_s0s1.xnb │ │ │ │ ├── OldSyntax_s0s1t0t1.xnb │ │ │ │ ├── OldSyntax_t0t1.xnb │ │ │ │ ├── OldSyntax_x.xnb │ │ │ │ └── RainbowH.xnb │ │ │ ├── XNA.csproj │ │ │ └── XNA.sln │ │ ├── Fonts/ │ │ │ ├── DataFont.xnb │ │ │ ├── Default.xnb │ │ │ ├── JingJing.spritefont │ │ │ ├── JingJing.xnb │ │ │ ├── Lindsey.spritefont │ │ │ ├── Lindsey.xnb │ │ │ ├── Localized.spritefont │ │ │ ├── Motorwerk.spritefont │ │ │ ├── Motorwerk.xnb │ │ │ ├── QuartzMS.spritefont │ │ │ ├── QuartzMS.xnb │ │ │ ├── SegoeKeycaps.spritefont │ │ │ ├── SegoeKeycaps.xnb │ │ │ └── Strings.resx │ │ ├── Models/ │ │ │ ├── BlenderDefaultCube.xnb │ │ │ ├── Box.blend │ │ │ ├── Dude/ │ │ │ │ ├── dude.fbx │ │ │ │ ├── dude_2011.fbx │ │ │ │ ├── head.tga │ │ │ │ ├── jacket.tga │ │ │ │ ├── pants.tga │ │ │ │ └── upBodyC.tga │ │ │ ├── NonSkeletonAnimated.fbx │ │ │ ├── Spaceship.xnb │ │ │ └── enemy_0.xnb │ │ ├── Projects/ │ │ │ ├── BuildSimpleProject.csproj │ │ │ └── Content/ │ │ │ ├── Content.mgcb │ │ │ └── ContentFont.spritefont │ │ ├── Textures/ │ │ │ ├── GlassPane.xnb │ │ │ ├── LogoOnly_64px-R8G8B8.dds │ │ │ ├── LogoOnly_64px-X8R8G8B8.dds │ │ │ ├── LogoOnly_64px-mipmaps.dds │ │ │ ├── LogoOnly_64px.dds │ │ │ ├── LogoOnly_64px.tga │ │ │ ├── LogoOnly_64px.tif │ │ │ ├── Logo_65x64_16bit.xnb │ │ │ ├── MonoGameIcon.xnb │ │ │ ├── SampleCube64DXT1Mips.dds │ │ │ ├── SampleCube64DXT1Mips.xnb │ │ │ ├── Sunset.dds │ │ │ ├── Surge.xnb │ │ │ ├── fun-background.xnb │ │ │ ├── lines-128.xnb │ │ │ ├── lines-32.xnb │ │ │ ├── lines-64.xnb │ │ │ ├── lines-diag-128.xnb │ │ │ ├── lines-diag-32.xnb │ │ │ ├── lines-diag-64.xnb │ │ │ ├── random_16px_dxt.xnb │ │ │ ├── random_16px_dxt_alpha.xnb │ │ │ ├── red_668_dxt.xnb │ │ │ ├── rgbf.tif │ │ │ ├── sample_1280x853.hdr │ │ │ ├── white-1.xnb │ │ │ ├── white-128.xnb │ │ │ ├── white-32.xnb │ │ │ └── white-64.xnb │ │ ├── Xml/ │ │ │ ├── 01_TheBasics.xml │ │ │ ├── 02_Inheritance.xml │ │ │ ├── 03_IncludingPrivateMembers.xml │ │ │ ├── 04_ExcludingPublicMembers.xml │ │ │ ├── 04_ExcludingPublicMembersOutput.xml │ │ │ ├── 05_RenamingXmlElements.xml │ │ │ ├── 06_NullReferences.xml │ │ │ ├── 07_OptionalElements.xml │ │ │ ├── 08_AllowNull.xml │ │ │ ├── 09_Collections.xml │ │ │ ├── 10_CollectionItemName.xml │ │ │ ├── 11_Dictionaries.xml │ │ │ ├── 12_MathTypes.xml │ │ │ ├── 13_PolymorphicTypes.xml │ │ │ ├── 14_Namespaces.xml │ │ │ ├── 15_FlattenContent.xml │ │ │ ├── 16_SharedResources.xml │ │ │ ├── 17_ExternalReferences.xml │ │ │ ├── 18_PrimitiveTypes.xml │ │ │ ├── 19_FontDescription.xml │ │ │ ├── 20_SystemTypes.xml │ │ │ ├── 21_CustomFormatting.xml │ │ │ ├── 22_GetterOnlyProperties.xml │ │ │ ├── 23_GetterOnlyPolymorphicArrayProperties.xml │ │ │ ├── 24_GenericTypes.xml │ │ │ ├── 25_StructArrayNoElements.xml │ │ │ ├── 26_ChildCollections.xml │ │ │ ├── 27_Colors.xml │ │ │ └── 28_XnaCurve.xml │ │ └── tests.xsl │ ├── Components/ │ │ ├── Colored3DCubeComponent.cs │ │ ├── DrawFrameNumberComponent.cs │ │ ├── FlexibleGameComponent.cs │ │ ├── ImplicitDrawOrderComponent.cs │ │ ├── InitializeOrderComponent.cs │ │ ├── Simple3DCubeComponent.cs │ │ ├── SpaceshipModelDrawComponent.cs │ │ ├── TexturedQuadComponent.cs │ │ ├── VisualTestDrawableGameComponent.cs │ │ └── VisualTestGameComponent.cs │ ├── ContentPipeline/ │ │ ├── AssetTestClasses.cs │ │ ├── AudioContentTests.cs │ │ ├── BitmapContentTests.cs │ │ ├── BuilderTargetsTest.cs │ │ ├── ContentCompilerTest.cs │ │ ├── EffectProcessorTests.cs │ │ ├── FbxImporterTests.cs │ │ ├── FontDescriptionProcessorTests.cs │ │ ├── FontDescriptionTests.cs │ │ ├── FontTextureProcessorTests.cs │ │ ├── IntermediateDeserializerTest.cs │ │ ├── IntermediateSerializerTest.cs │ │ ├── MeshBuilderTests.cs │ │ ├── MeshHelperTest.cs │ │ ├── ModelProcessorTests.cs │ │ ├── Mp3ImporterTests.cs │ │ ├── OggImporterTests.cs │ │ ├── OpenAssetImporterTests.cs │ │ ├── TestCompiler.cs │ │ ├── TestImporterContext.cs │ │ ├── TextureContentTests.cs │ │ ├── TextureImporterTests.cs │ │ ├── TextureProcessorTests.cs │ │ ├── WavImporterTests.cs │ │ └── WmaImporterTests.cs │ ├── Directory.Build.props │ ├── Framework/ │ │ ├── BoundingTest.cs │ │ ├── ColorTest.cs │ │ ├── CurveKeyCollectionTest.cs │ │ ├── CurveKeyTest.cs │ │ ├── CurveTest.cs │ │ ├── EnumConformingTest.cs │ │ ├── FrameworkDispatcherTest.cs │ │ ├── MathHelperTest.cs │ │ ├── MatrixTest.cs │ │ ├── PackedVectorTest.cs │ │ ├── PlaneTest.cs │ │ ├── PointTest.cs │ │ ├── QuaternionTest.cs │ │ ├── RayTest.cs │ │ ├── RectangleTest.cs │ │ ├── TitleContainerTest.cs │ │ ├── UtilitiesTest.cs │ │ ├── Vector2Test.cs │ │ ├── Vector3Test.cs │ │ ├── Vector4Test.cs │ │ └── VertexTests.cs │ ├── Framework.Audio/ │ │ ├── DynamicSoundEffectInstanceTest.cs │ │ ├── SoundEffectInstanceTest.cs │ │ ├── SoundEffectTest.cs │ │ ├── XAudio/ │ │ │ └── SoundEffectInstanceXAudioTest.cs │ │ └── XactTest.cs │ ├── Framework.Game/ │ │ ├── GameComponentTest.cs │ │ ├── GameTest+Methods.cs │ │ ├── GameTest+Properties.cs │ │ └── GameTest.cs │ ├── Framework.Graphics/ │ │ ├── BlendStateTest.cs │ │ ├── DepthStencilStateTest.cs │ │ ├── EffectTest.cs │ │ ├── GraphicsAdapterTest.cs │ │ ├── GraphicsDeviceManagerTest.cs │ │ ├── GraphicsDeviceTest.cs │ │ ├── IndexBufferTest.cs │ │ ├── MiscellaneousTests.cs │ │ ├── ModelTest.cs │ │ ├── OcclusionQueryTest.cs │ │ ├── ProfileReachTest.cs │ │ ├── RasterizerStateTest.cs │ │ ├── RenderTarget2DTest.cs │ │ ├── RenderTargetCubeTest.cs │ │ ├── SamplerStateTest.cs │ │ ├── ScissorRectangleTest.cs │ │ ├── ShaderTest.cs │ │ ├── SpriteBatchTest.cs │ │ ├── SpriteFontTest.cs │ │ ├── Texture2DNonVisualTest.cs │ │ ├── Texture2DTest.cs │ │ ├── Texture3DNonVisualTest.cs │ │ ├── Texture3DTest.cs │ │ ├── TextureCubeTest.cs │ │ ├── VertexBufferTest.cs │ │ ├── ViewportTest.cs │ │ └── VisualMiscellaneousTests.cs │ ├── Framework.Input/ │ │ ├── GamePadTest.cs │ │ ├── GestureRecognizerTest.cs │ │ ├── JoystickTest.cs │ │ ├── KeyboardTest.cs │ │ ├── MouseTest.cs │ │ ├── TouchCollectionTest.cs │ │ ├── TouchLocationTest.cs │ │ └── TouchPanelTest.cs │ ├── Interactive/ │ │ ├── Linux/ │ │ │ └── MouseGetStateAndIsMouseVisibleTester/ │ │ │ └── MouseGetStateAndIsMouseVisibleTester.csproj │ │ ├── MacOS/ │ │ │ ├── BlockingRun/ │ │ │ │ ├── BlockingRun.csproj │ │ │ │ ├── BlockingRunGame.cs │ │ │ │ ├── Content/ │ │ │ │ │ └── SimpleFont.xnb │ │ │ │ ├── Info.plist │ │ │ │ └── Main.cs │ │ │ ├── GamePadTest/ │ │ │ │ ├── Content/ │ │ │ │ │ ├── UiCursor.xnb │ │ │ │ │ └── fntStandard.xnb │ │ │ │ ├── Game1.cs │ │ │ │ ├── GamePadTest.csproj │ │ │ │ ├── Info.plist │ │ │ │ └── Program.cs │ │ │ ├── MouseGetStateAndIsMouseVisibleTester/ │ │ │ │ ├── MouseGetStateAndIsMouseVisibleTester/ │ │ │ │ │ ├── Content/ │ │ │ │ │ │ ├── UiCursor.xnb │ │ │ │ │ │ └── fntStandard.xnb │ │ │ │ │ ├── Enums.cs │ │ │ │ │ ├── Game1.cs │ │ │ │ │ ├── Info.plist │ │ │ │ │ ├── InputManager.cs │ │ │ │ │ ├── MainMenu.xib │ │ │ │ │ ├── MouseGetStateAndIsMouseVisibleTester.csproj │ │ │ │ │ ├── Object.cs │ │ │ │ │ ├── Program.cs │ │ │ │ │ ├── Properties/ │ │ │ │ │ │ └── AssemblyInfo.cs │ │ │ │ │ └── TextManager.cs │ │ │ │ └── MouseGetStateAndIsMouseVisibleTester.sln │ │ │ ├── PrimitivesTest/ │ │ │ │ ├── App.config │ │ │ │ ├── Game1.cs │ │ │ │ ├── Info.plist │ │ │ │ ├── PrimitivesTest.csproj │ │ │ │ └── Program.cs │ │ │ ├── SoundTest/ │ │ │ │ ├── Content/ │ │ │ │ │ ├── DepositingIntoVat_Loop.xnb │ │ │ │ │ ├── Explosion.xnb │ │ │ │ │ ├── ExplosionSound.xnb │ │ │ │ │ └── FillingHoneyPot_Loop.xnb │ │ │ │ ├── Game1.cs │ │ │ │ ├── Info.plist │ │ │ │ ├── MainMenu.xib │ │ │ │ ├── Program.cs │ │ │ │ └── SoundTest_MacOS.csproj │ │ │ ├── SoundTest2/ │ │ │ │ └── SoundTest2_MacOs/ │ │ │ │ ├── Content/ │ │ │ │ │ ├── DepositingIntoVat_Loop.xnb │ │ │ │ │ ├── Explosion.xnb │ │ │ │ │ ├── ExplosionSound.xnb │ │ │ │ │ └── FillingHoneyPot_Loop.xnb │ │ │ │ ├── Game1.cs │ │ │ │ ├── Info.plist │ │ │ │ ├── MainMenu.xib │ │ │ │ ├── Program.cs │ │ │ │ └── SoundTest2_MacOs.csproj │ │ │ ├── TestDataSetAndGet/ │ │ │ │ ├── Content/ │ │ │ │ │ ├── Block.xnb │ │ │ │ │ ├── Person.xnb │ │ │ │ │ └── Warrior3Active.xnb │ │ │ │ ├── Game1.cs │ │ │ │ ├── Info.plist │ │ │ │ ├── Program.cs │ │ │ │ └── TestDataSetAndGet.csproj │ │ │ └── TextureScaleColorTest/ │ │ │ ├── Content/ │ │ │ │ ├── FontCalibri14.xnb │ │ │ │ └── blank.xnb │ │ │ ├── Game1.cs │ │ │ ├── Info.plist │ │ │ ├── MainMenu.xib │ │ │ ├── Program.cs │ │ │ └── TextureScaleColorTest.csproj │ │ ├── MonoGame.InteractiveTests.Linux.sln │ │ ├── MonoGame.InteractiveTests.MacOS.sln │ │ ├── MonoGame.InteractiveTests.Windows.sln │ │ ├── Windows/ │ │ │ ├── Issue1355/ │ │ │ │ ├── Issue1355/ │ │ │ │ │ ├── Game.cs │ │ │ │ │ ├── Issue1355.csproj │ │ │ │ │ └── Issue1355_MonoGame.csproj │ │ │ │ ├── Issue1355.sln │ │ │ │ └── Issue1355Content/ │ │ │ │ ├── DutchAndHarley.spritefont │ │ │ │ └── Issue1355Content.contentproj │ │ │ ├── SoundTest/ │ │ │ │ └── SoundTest.csproj │ │ │ └── SoundTest2/ │ │ │ └── SoundTest2.csproj │ │ └── iOS/ │ │ ├── AppDelegate.cs │ │ ├── Categories.cs │ │ ├── Guide/ │ │ │ └── GuideTestGame.cs │ │ ├── Info.plist │ │ ├── InteractiveTestAttribute.cs │ │ ├── Main.cs │ │ ├── MonoGame.InteractiveTests.iOS.csproj │ │ ├── RootViewController.cs │ │ ├── TestUI/ │ │ │ ├── Button.cs │ │ │ ├── DrawContext.cs │ │ │ ├── Label.cs │ │ │ ├── PaddingF.cs │ │ │ ├── TestUITestGame.cs │ │ │ ├── Universe.cs │ │ │ ├── UniverseComponent.cs │ │ │ ├── View.cs │ │ │ └── ViewCollection.cs │ │ └── TextureScaleTest/ │ │ ├── Info.plist │ │ ├── Program.cs │ │ └── TextureScaleColorTest.csproj │ ├── Kni.Tests.SDL2.GL.csproj │ ├── Kni.Tests.WinForms.DX11.csproj │ ├── Kni.Tests.XNA.csproj │ ├── Kni.Tests.XNA.sln │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── README.md │ ├── Runner/ │ │ ├── Constants.cs │ │ ├── ContentPipeline/ │ │ │ ├── AssetTestUtility.cs │ │ │ ├── TestContentBuildLogger.cs │ │ │ └── TestProcessorContext.cs │ │ ├── Extensions.cs │ │ ├── FrameInfo.cs │ │ ├── FramePixelData.Desktop.cs │ │ ├── FramePixelData.cs │ │ ├── FramePixelData.iOS.cs │ │ ├── GameBase/ │ │ │ ├── CountCallsGame.cs │ │ │ ├── FixtureBase.cs │ │ │ ├── FrameCompareComponent.cs │ │ │ ├── GraphicsDeviceTestFixtureBase.cs │ │ │ ├── MockGame.cs │ │ │ ├── PixelDeltaFrameComparer.cs │ │ │ ├── TestGameBase.cs │ │ │ ├── UpdateGuard.cs │ │ │ ├── VisualTestFixtureBase.cs │ │ │ └── VisualTestGame.cs │ │ ├── PixelArgb.cs │ │ ├── Program.cs │ │ ├── Utility.cs │ │ └── iOS/ │ │ ├── AppDelegate.cs │ │ ├── Info.plist │ │ └── Main.cs │ └── Utilities/ │ └── ActionDaemon.cs ├── ThirdParty/ │ ├── AssimpNet/ │ │ ├── 4.1.0/ │ │ │ └── lib/ │ │ │ ├── net40/ │ │ │ │ └── AssimpNet.xml │ │ │ └── netstandard1.3/ │ │ │ └── AssimpNet.xml │ │ └── 5.0.0/ │ │ ├── License.txt │ │ └── lib/ │ │ ├── net40/ │ │ │ └── AssimpNet.xml │ │ └── netstandard2.0/ │ │ └── AssimpNet.xml │ ├── GamepadConfig/ │ │ ├── GamepadConfig.exe.config │ │ ├── License.txt │ │ ├── Settings.xml │ │ ├── Tao.Sdl.dll.config │ │ ├── Xbox 360 Gamepad.xml │ │ └── Xbox 360 Wireless Receiver.xml │ ├── Lidgren.Network/ │ │ ├── Documentation/ │ │ │ ├── ChangedFromV2.txt │ │ │ ├── Discovery.html │ │ │ ├── Improvements.txt │ │ │ ├── PacketLayout.txt │ │ │ ├── SimulatingBadNetwork.html │ │ │ ├── TODO.txt │ │ │ └── Tutorial.html │ │ ├── Encryption/ │ │ │ ├── NetAESEncryption.cs │ │ │ ├── NetBlockEncryptionBase.cs │ │ │ ├── NetCryptoProviderBase.cs │ │ │ ├── NetDESEncryption.cs │ │ │ ├── NetEncryption.cs │ │ │ ├── NetRC2Encryption.cs │ │ │ ├── NetTripleDESEncryption.cs │ │ │ ├── NetXorEncryption.cs │ │ │ └── NetXteaEncryption.cs │ │ ├── NamespaceDoc.cs │ │ ├── NetBigInteger.cs │ │ ├── NetBitVector.cs │ │ ├── NetBitWriter.cs │ │ ├── NetBuffer.Peek.cs │ │ ├── NetBuffer.Read.Reflection.cs │ │ ├── NetBuffer.Read.cs │ │ ├── NetBuffer.Write.Reflection.cs │ │ ├── NetBuffer.Write.cs │ │ ├── NetBuffer.cs │ │ ├── NetClient.cs │ │ ├── NetConnection.Handshake.cs │ │ ├── NetConnection.Latency.cs │ │ ├── NetConnection.MTU.cs │ │ ├── NetConnection.cs │ │ ├── NetConnectionStatistics.cs │ │ ├── NetConnectionStatus.cs │ │ ├── NetConstants.cs │ │ ├── NetDeliveryMethod.cs │ │ ├── NetException.cs │ │ ├── NetFragmentationHelper.cs │ │ ├── NetFragmentationInfo.cs │ │ ├── NetIncomingMessage.cs │ │ ├── NetIncomingMessageType.cs │ │ ├── NetMessageType.cs │ │ ├── NetNatIntroduction.cs │ │ ├── NetOutgoingMessage.cs │ │ ├── NetPeer.Discovery.cs │ │ ├── NetPeer.Fragmentation.cs │ │ ├── NetPeer.Internal.cs │ │ ├── NetPeer.LatencySimulation.cs │ │ ├── NetPeer.Logging.cs │ │ ├── NetPeer.MessagePools.cs │ │ ├── NetPeer.Send.cs │ │ ├── NetPeer.cs │ │ ├── NetPeerConfiguration.cs │ │ ├── NetPeerStatistics.cs │ │ ├── NetPeerStatus.cs │ │ ├── NetQueue.cs │ │ ├── NetRandom.Implementations.cs │ │ ├── NetRandom.cs │ │ ├── NetRandomSeed.cs │ │ ├── NetReceiverChannelBase.cs │ │ ├── NetReliableOrderedReceiver.cs │ │ ├── NetReliableSenderChannel.cs │ │ ├── NetReliableSequencedReceiver.cs │ │ ├── NetReliableUnorderedReceiver.cs │ │ ├── NetSRP.cs │ │ ├── NetSendResult.cs │ │ ├── NetSenderChannelBase.cs │ │ ├── NetServer.cs │ │ ├── NetStoredReliableMessage.cs │ │ ├── NetTime.cs │ │ ├── NetTuple.cs │ │ ├── NetUPnP.cs │ │ ├── NetUnreliableSenderChannel.cs │ │ ├── NetUnreliableSequencedReceiver.cs │ │ ├── NetUnreliableUnorderedReceiver.cs │ │ ├── NetUtility.cs │ │ ├── Properties/ │ │ │ └── AssemblyInfo.cs │ │ └── Resources/ │ │ └── Resource.Designer.cs │ ├── SharpFont/ │ │ └── Windows/ │ │ └── x64/ │ │ └── SharpFont.XML │ └── Typography/ │ ├── README.md │ └── netstandard2.0/ │ ├── Typography.GlyphLayout.deps.json │ └── Typography.OpenFont.deps.json ├── Tools/ │ ├── Content.Pipeline.Editor.WinForms/ │ │ ├── App.config │ │ ├── Common/ │ │ │ ├── ActionStack.cs │ │ │ ├── AssemblyAttributes.cs │ │ │ ├── CommandLineParser.cs │ │ │ ├── CompressionMethod.cs │ │ │ ├── ContentFolder.cs │ │ │ ├── ContentItem.Importer.cs │ │ │ ├── ContentItem.Processor.cs │ │ │ ├── ContentItem.cs │ │ │ ├── ContentItemConverter.cs │ │ │ ├── ContentItemPathComparer.cs │ │ │ ├── ContentItemState.cs │ │ │ ├── ContentItemTemplate.cs │ │ │ ├── FileType.cs │ │ │ ├── IController.cs │ │ │ ├── IProjectItem.cs │ │ │ ├── IProjectObserver.cs │ │ │ ├── IView.cs │ │ │ ├── OutputParser.cs │ │ │ ├── Package.cs │ │ │ ├── PackageReferencesCollection.cs │ │ │ ├── PathComparer.cs │ │ │ ├── PathHelper.cs │ │ │ ├── PipelineController.ExcludeAction.cs │ │ │ ├── PipelineController.IncludeAction.cs │ │ │ ├── PipelineController.MoveAction.cs │ │ │ ├── PipelineController.NewAction.cs │ │ │ ├── PipelineController.UpdateContentItemAction.cs │ │ │ ├── PipelineController.UpdateProjectAction.cs │ │ │ ├── PipelineController.cs │ │ │ ├── PipelineProject.cs │ │ │ ├── PipelineProjectParser.cs │ │ │ ├── PipelineSettings.cs │ │ │ ├── PipelineTypes.cs │ │ │ ├── ProjectState.cs │ │ │ ├── Selection.cs │ │ │ ├── StringExtensions.cs │ │ │ └── Util.cs │ │ ├── Content.Pipeline.Editor.net4.csproj │ │ ├── Content.Pipeline.Editor.net8.csproj │ │ ├── Forms/ │ │ │ ├── AboutDialog.Designer.cs │ │ │ ├── AboutDialog.cs │ │ │ ├── AboutDialog.resx │ │ │ ├── BuildIcons.cs │ │ │ ├── ContentIcons.cs │ │ │ ├── Controls/ │ │ │ │ ├── FilterOutputControl.cs │ │ │ │ └── TabControlEx.cs │ │ │ ├── EditorIcons.cs │ │ │ ├── FolderSelectDialog.cs │ │ │ ├── MainView.Designer.cs │ │ │ ├── MainView.cs │ │ │ ├── MainView.resx │ │ │ ├── MultiSelectTreeview.cs │ │ │ ├── NewContentDialog.Designer.cs │ │ │ ├── NewContentDialog.cs │ │ │ ├── NewContentDialog.resx │ │ │ ├── PackageDialog.Designer.cs │ │ │ ├── PackageDialog.cs │ │ │ ├── PackageDialog.resx │ │ │ ├── PackageReferenceDialog.Designer.cs │ │ │ ├── PackageReferenceDialog.cs │ │ │ ├── PackageReferenceDialog.resx │ │ │ ├── PipelineProjectProxy.cs │ │ │ ├── ReferenceDialog.Designer.cs │ │ │ ├── ReferenceDialog.cs │ │ │ ├── ReferenceDialog.resx │ │ │ ├── SortedEnumTypeConverter.cs │ │ │ ├── TextEditDialog.Designer.cs │ │ │ ├── TextEditDialog.cs │ │ │ ├── TextEditDialog.resx │ │ │ ├── TreeViewExtensions.cs │ │ │ └── TreeViewNodeSorter.cs │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ ├── AssemblyInfo.cs │ │ │ ├── Resources.Designer.cs │ │ │ ├── Resources.resx │ │ │ ├── Settings.Designer.cs │ │ │ └── Settings.settings │ │ ├── Templates/ │ │ │ ├── Effect.fx │ │ │ ├── Effect.template │ │ │ ├── LocalizedSpriteFont.spritefont │ │ │ ├── LocalizedSpriteFont.template │ │ │ ├── SpriteEffect.fx │ │ │ ├── SpriteEffect.template │ │ │ ├── SpriteFont.spritefont │ │ │ ├── SpriteFont.template │ │ │ ├── XmlContent.template │ │ │ └── XmlContent.xml │ │ └── app.manifest │ ├── Directory.Build.props │ ├── EffectCompiler/ │ │ ├── BuildLogger.cs │ │ ├── CommandLineParser.cs │ │ ├── EffectCompiler.csproj │ │ ├── ImporterContext.cs │ │ ├── Options.cs │ │ ├── ProcessorContext.cs │ │ ├── Program.cs │ │ └── Properties/ │ │ ├── AssemblyInfo.cs │ │ └── launchSettings.json │ ├── MonoGame.Content.Builder/ │ │ ├── AssertListener.cs │ │ ├── BuildAsyncState.cs │ │ ├── BuildEvent.cs │ │ ├── CommandLineParser.cs │ │ ├── CompressionMethod.cs │ │ ├── ConsoleAsyncLogger.cs │ │ ├── ConsoleLogger.cs │ │ ├── ContentBuilder.cs │ │ ├── Directory.Build.props │ │ ├── ImporterContext.cs │ │ ├── MGCB.csproj │ │ ├── Package.cs │ │ ├── PackageReferencesCollection.cs │ │ ├── PathHelper.cs │ │ ├── PipelineManager.cs │ │ ├── ProcessorContext.cs │ │ ├── Program.cs │ │ ├── Properties/ │ │ │ ├── AssemblyInfo.cs │ │ │ └── launchSettings.json │ │ └── SourceFileCollection.cs │ └── MonoGame.Packaging.Flatpak/ │ ├── BuildFlatpakTask.cs │ ├── MonoGame.Packaging.Flatpak.Common.props │ ├── MonoGame.Packaging.Flatpak.csproj │ ├── MonoGame.Packaging.Flatpak.targets │ └── README.md ├── default.build ├── global.json ├── kniPackage.props └── src/ ├── Xna.Framework/ │ ├── BoundingBox.cs │ ├── BoundingFrustum.cs │ ├── BoundingSphere.cs │ ├── Complex.cs │ ├── ContainmentType.cs │ ├── Curve.cs │ ├── CurveContinuity.cs │ ├── CurveKey.cs │ ├── CurveKeyCollection.cs │ ├── CurveLoopType.cs │ ├── CurveTangent.cs │ ├── FrameworkDispatcher.cs │ ├── ICurveEvaluator.cs │ ├── ILLink.Descriptors.xml │ ├── IntersectsHelper.cs │ ├── MathHelper.cs │ ├── Matrix.cs │ ├── Plane.cs │ ├── PlaneIntersectionType.cs │ ├── PlayerIndex.cs │ ├── Point.cs │ ├── Pose2.cs │ ├── Pose3.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Quaternion.cs │ ├── Ray.cs │ ├── Rectangle.cs │ ├── Vector2.cs │ ├── Vector3.cs │ ├── Vector4.cs │ └── Xna.Framework.csproj ├── Xna.Framework.Audio/ │ ├── Audio/ │ │ ├── AudioChannels.cs │ │ ├── AudioEmitter.cs │ │ ├── AudioFactory.cs │ │ ├── AudioListener.cs │ │ ├── AudioService.InstancePool.cs │ │ ├── AudioService.Microphones.cs │ │ ├── AudioService.cs │ │ ├── AudioServiceStrategy.cs │ │ ├── DynamicSoundEffectInstance.cs │ │ ├── InstancePlayLimitException.cs │ │ ├── Microphone.cs │ │ ├── NoAudioHardwareException.cs │ │ ├── NoMicrophoneConnectedException.cs │ │ ├── SoundEffect.cs │ │ ├── SoundEffectInstance.cs │ │ ├── SoundState.cs │ │ ├── Utilities/ │ │ │ ├── AudioUtil.cs │ │ │ └── MsAdpcmDecoder.cs │ │ └── Xact/ │ │ ├── AudioCategory.cs │ │ ├── AudioEngine.cs │ │ ├── AudioStopOptions.cs │ │ ├── ClipEvent.cs │ │ ├── CrossfadeType.cs │ │ ├── Cue.cs │ │ ├── DspParameter.cs │ │ ├── FilterMode.cs │ │ ├── MaxInstanceBehavior.cs │ │ ├── MiniFormatTag.cs │ │ ├── PlayWaveEvent.cs │ │ ├── ReverbSettings.cs │ │ ├── RpcCurve.cs │ │ ├── RpcParameter.cs │ │ ├── RpcPoint.cs │ │ ├── RpcPointType.cs │ │ ├── RpcVariable.cs │ │ ├── SoundBank.cs │ │ ├── VolumeEvent.cs │ │ ├── WaveBank.cs │ │ ├── XactClip.cs │ │ ├── XactHelpers.cs │ │ └── XactSound.cs │ ├── Content/ │ │ └── SoundEffectReader.cs │ ├── ILLink.Descriptors.xml │ ├── NamespaceDoc.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── Xna.Framework.Audio.csproj ├── Xna.Framework.Content/ │ ├── Content/ │ │ ├── ContentLoadException.cs │ │ ├── ContentManager.cs │ │ ├── ContentReader.cs │ │ ├── ContentReaders/ │ │ │ ├── ArrayReader.cs │ │ │ ├── BooleanReader.cs │ │ │ ├── BoundingBoxReader.cs │ │ │ ├── BoundingFrustumReader.cs │ │ │ ├── BoundingSphereReader.cs │ │ │ ├── ByteReader.cs │ │ │ ├── CharReader.cs │ │ │ ├── ComplexReader.cs │ │ │ ├── CurveReader.cs │ │ │ ├── DateTimeReader.cs │ │ │ ├── DecimalReader.cs │ │ │ ├── DictionaryReader.cs │ │ │ ├── DoubleReader.cs │ │ │ ├── EnumReader.cs │ │ │ ├── ExternalReferenceReader.cs │ │ │ ├── Int16Reader.cs │ │ │ ├── Int32Reader.cs │ │ │ ├── Int64Reader.cs │ │ │ ├── ListReader.cs │ │ │ ├── MatrixReader.cs │ │ │ ├── MultiArrayReader.cs │ │ │ ├── NullableReader.cs │ │ │ ├── PlaneReader.cs │ │ │ ├── PointReader.cs │ │ │ ├── QuaternionReader.cs │ │ │ ├── RayReader.cs │ │ │ ├── RectangleReader.cs │ │ │ ├── ReflectiveReader.cs │ │ │ ├── SByteReader.cs │ │ │ ├── SingleReader.cs │ │ │ ├── StringReader.cs │ │ │ ├── TimeSpanReader.cs │ │ │ ├── UInt16Reader.cs │ │ │ ├── UInt32Reader.cs │ │ │ ├── UInt64Reader.cs │ │ │ ├── Vector2Reader.cs │ │ │ ├── Vector3Reader.cs │ │ │ └── Vector4Reader.cs │ │ ├── ContentSerializerAttribute.cs │ │ ├── ContentSerializerCollectionItemNameAttribute.cs │ │ ├── ContentSerializerIgnoreAttribute.cs │ │ ├── ContentSerializerRuntimeTypeAttribute.cs │ │ ├── ContentSerializerTypeVersionAttribute.cs │ │ ├── ContentTypeReader.cs │ │ ├── ContentTypeReaderManager.cs │ │ ├── ResourceContentManager.cs │ │ └── Utilities/ │ │ ├── ContentBufferPool.cs │ │ ├── ContentExtensions.cs │ │ ├── FileHelpers.cs │ │ ├── Lz4DecoderStream.cs │ │ ├── LzxDecoder.cs │ │ ├── LzxDecoderStream.cs │ │ └── ReflectionHelpers.cs │ ├── ILLink.Descriptors.xml │ ├── NamespaceDoc.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── TitleContainer.cs │ ├── TitleContainerFactory.cs │ ├── TitleContainerStrategy.cs │ ├── TitlePlatform.cs │ └── Xna.Framework.Content.csproj ├── Xna.Framework.Content.Pipeline/ │ ├── ChildCollection.cs │ ├── ContentBuildLogger.cs │ ├── ContentIdentity.cs │ ├── ContentImporter.cs │ ├── ContentImporterAttribute.cs │ ├── ContentImporterContext.cs │ ├── ContentItem.cs │ ├── ContentProcessor.cs │ ├── ContentProcessorAttribute.cs │ ├── ContentProcessorContext.cs │ ├── ExternalReference.cs │ ├── IContentImporter.cs │ ├── IContentProcessor.cs │ ├── InvalidContentException.cs │ ├── NamedValueDictionary.cs │ ├── OpaqueDataDictionary.cs │ ├── PipelineComponentScanner.cs │ ├── PipelineException.cs │ ├── ProcessorParameter.cs │ ├── ProcessorParameterCollection.cs │ ├── Processors/ │ │ └── PassThroughProcessor.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ └── AssemblyInfo.net4.cs │ ├── Serialization/ │ │ ├── Compiler/ │ │ │ ├── ArrayWriter.cs │ │ │ ├── BooleanWriter.cs │ │ │ ├── BoundingBoxWriter.cs │ │ │ ├── BoundingFrustumWriter.cs │ │ │ ├── BoundingSphereWriter.cs │ │ │ ├── ByteWriter.cs │ │ │ ├── CharWriter.cs │ │ │ ├── ComplexWriter.cs │ │ │ ├── ContentCompiler.cs │ │ │ ├── ContentCompression.cs │ │ │ ├── ContentTypeWriter.cs │ │ │ ├── ContentTypeWriterAttribute.cs │ │ │ ├── ContentTypeWriterBase.cs │ │ │ ├── ContentTypeWriterBaseGeneric.cs │ │ │ ├── ContentWriter.cs │ │ │ ├── CurveWriter.cs │ │ │ ├── DateTimeWriter.cs │ │ │ ├── DecimalWriter.cs │ │ │ ├── DictionaryWriter.cs │ │ │ ├── DoubleWriter.cs │ │ │ ├── EnumWriter.cs │ │ │ ├── ExternalReferenceWriter.cs │ │ │ ├── Int16Writer.cs │ │ │ ├── Int32Writer.cs │ │ │ ├── Int64Writer.cs │ │ │ ├── ListWriter.cs │ │ │ ├── MatrixWriter.cs │ │ │ ├── MultiArrayWriter.cs │ │ │ ├── NullableWriter.cs │ │ │ ├── PlaneWriter.cs │ │ │ ├── PointWriter.cs │ │ │ ├── QuaternionWriter.cs │ │ │ ├── RayWriter.cs │ │ │ ├── RectangleWriter.cs │ │ │ ├── ReflectiveWriter.cs │ │ │ ├── SByteWriter.cs │ │ │ ├── SingleWriter.cs │ │ │ ├── StringWriter.cs │ │ │ ├── TimeSpanWriter.cs │ │ │ ├── UInt16Writer.cs │ │ │ ├── UInt32Writer.cs │ │ │ ├── UInt64Writer.cs │ │ │ ├── Vector2Writer.cs │ │ │ ├── Vector3Writer.cs │ │ │ └── Vector4Writer.cs │ │ └── Intermediate/ │ │ ├── ArraySerializer.cs │ │ ├── BoolSerializer.cs │ │ ├── ByteSerializer.cs │ │ ├── CharSerializer.cs │ │ ├── ColorSerializer.cs │ │ ├── ContentTypeSerializer.cs │ │ ├── ContentTypeSerializerAttribute.cs │ │ ├── ContentTypeSerializerT.cs │ │ ├── CurveKeyCollectionSerializer.cs │ │ ├── DictionarySerializer.cs │ │ ├── DoubleSerializer.cs │ │ ├── ElementSerializerT.cs │ │ ├── EnumSerializer.cs │ │ ├── ExternalReferenceSerializer.cs │ │ ├── FloatSerializer.cs │ │ ├── GenericCollectionHelper.cs │ │ ├── IntSerializer.cs │ │ ├── IntermediateReader.cs │ │ ├── IntermediateSerializer.cs │ │ ├── IntermediateWriter.cs │ │ ├── ListSerializer.cs │ │ ├── LongSerializer.cs │ │ ├── MatrixSerializer.cs │ │ ├── NamedValueDictionarySerializer.cs │ │ ├── NamespaceAliasHelper.cs │ │ ├── NonGenericIListSerializer.cs │ │ ├── NullableSerializer.cs │ │ ├── PackedElementsHelper.cs │ │ ├── PlaneSerializer.cs │ │ ├── PointSerializer.cs │ │ ├── QuaternionSerializer.cs │ │ ├── RectangleSerializer.cs │ │ ├── ReflectiveSerializer.cs │ │ ├── SByteSerializer.cs │ │ ├── ShortSerializer.cs │ │ ├── StringSerializer.cs │ │ ├── TimeSpanSerializer.cs │ │ ├── UIntSerializer.cs │ │ ├── ULongSerializer.cs │ │ ├── UShortSerializer.cs │ │ ├── Vector2Serializer.cs │ │ ├── Vector3Serializer.cs │ │ └── Vector4Serializer.cs │ ├── TargetPlatform.cs │ ├── Utilities/ │ │ ├── ContentExtensions.cs │ │ ├── LZ4/ │ │ │ ├── LZ4Codec.Unsafe.cs │ │ │ ├── LZ4Codec.Unsafe32.Dirty.cs │ │ │ ├── LZ4Codec.Unsafe32HC.Dirty.cs │ │ │ ├── LZ4Codec.Unsafe64.Dirty.cs │ │ │ ├── LZ4Codec.Unsafe64HC.Dirty.cs │ │ │ └── LZ4Codec.cs │ │ ├── PathHelper.cs │ │ └── ReflectionHelpers.cs │ ├── XmlImporter.cs │ └── Xna.Framework.Content.Pipeline.csproj ├── Xna.Framework.Content.Pipeline.Audio/ │ ├── Audio/ │ │ ├── AudioContent.cs │ │ ├── AudioFileType.cs │ │ ├── AudioFormat.cs │ │ ├── ConversionFormat.cs │ │ └── ConversionQuality.cs │ ├── ExternalTool.cs │ ├── Mp3Importer.cs │ ├── OggImporter.cs │ ├── Processors/ │ │ ├── SoundEffectContent.cs │ │ └── SoundEffectProcessor.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Serialization/ │ │ └── Compiler/ │ │ └── SoundEffectWriter.cs │ ├── WavImporter.cs │ ├── WmaImporter.cs │ └── Xna.Framework.Content.Pipeline.Audio.csproj ├── Xna.Framework.Content.Pipeline.Graphics/ │ ├── DdsLoader.cs │ ├── EffectCompiler/ │ │ ├── SamplerStateContent.cs │ │ └── TPGParser/ │ │ ├── FXParser.tpg │ │ ├── ParseTree.cs │ │ ├── ParseTreeTools.cs │ │ ├── Parser.cs │ │ ├── PassInfo.cs │ │ ├── SamplerStateInfo.cs │ │ ├── Scanner.cs │ │ ├── ShaderInfo.cs │ │ └── TechniqueInfo.cs │ ├── EffectImporter.cs │ ├── ExternalTool.cs │ ├── FbxImporter.cs │ ├── FontDescriptionImporter.cs │ ├── Graphics/ │ │ ├── AlphaTestMaterialContent.cs │ │ ├── AnimationChannel.cs │ │ ├── AnimationChannelDictionary.cs │ │ ├── AnimationContent.cs │ │ ├── AnimationContentDictionary.cs │ │ ├── AnimationKeyframe.cs │ │ ├── AtcBitmapContent.cs │ │ ├── AtcExplicitBitmapContent.cs │ │ ├── AtcInterpolatedBitmapContent.cs │ │ ├── BasicMaterialContent.cs │ │ ├── BitmapContent.cs │ │ ├── BoneContent.cs │ │ ├── BoneWeight.cs │ │ ├── BoneWeightCollection.cs │ │ ├── DualTextureMaterialContent.cs │ │ ├── Dxt1BitmapContent.cs │ │ ├── Dxt3BitmapContent.cs │ │ ├── Dxt5BitmapContent.cs │ │ ├── DxtBitmapContent.cs │ │ ├── EffectContent.cs │ │ ├── EffectMaterialContent.cs │ │ ├── EnvironmentMapMaterialContent.cs │ │ ├── Etc1BitmapContent.cs │ │ ├── Font/ │ │ │ ├── CharacterRegion.cs │ │ │ ├── CharacterRegionTypeConverter.cs │ │ │ ├── FontFamilyInfo.cs │ │ │ ├── Glyph.cs │ │ │ ├── GlyphPacker.cs │ │ │ ├── GrowRule.cs │ │ │ ├── MaxRectsBin.cs │ │ │ └── MaxRectsHeuristic.cs │ │ ├── FontDescription.cs │ │ ├── FontDescriptionStyle.cs │ │ ├── GeometryContent.cs │ │ ├── GeometryContentCollection.cs │ │ ├── GraphicsUtil.cs │ │ ├── IndexCollection.cs │ │ ├── IndirectPositionCollection.cs │ │ ├── LocalizedFontDescription.cs │ │ ├── MaterialContent.cs │ │ ├── MeshBuilder.cs │ │ ├── MeshContent.cs │ │ ├── MeshHelper.cs │ │ ├── MipmapChain.cs │ │ ├── MipmapChainCollection.cs │ │ ├── NodeContent.cs │ │ ├── NodeContentCollection.cs │ │ ├── PixelBitmapContent.cs │ │ ├── PositionCollection.cs │ │ ├── PvrtcBitmapContent.cs │ │ ├── PvrtcRgb2BitmapContent.cs │ │ ├── PvrtcRgb4BitmapContent.cs │ │ ├── PvrtcRgba2BitmapContent.cs │ │ ├── PvrtcRgba4BitmapContent.cs │ │ ├── SkinnedMaterialContent.cs │ │ ├── Texture2DContent.cs │ │ ├── Texture3DContent.cs │ │ ├── TextureContent.cs │ │ ├── TextureCubeContent.cs │ │ ├── TextureReferenceDictionary.cs │ │ ├── VectorConverter.cs │ │ ├── VertexChannel.cs │ │ ├── VertexChannelCollection.cs │ │ ├── VertexChannelGeneric.cs │ │ ├── VertexChannelNames.cs │ │ └── VertexContent.cs │ ├── OpenAssetImporter.cs │ ├── Processors/ │ │ ├── CompiledEffectContent.cs │ │ ├── FontDescriptionProcessor.cs │ │ ├── FontTextureProcessor.cs │ │ ├── LocalizedFontProcessor.cs │ │ ├── MaterialProcessor.cs │ │ ├── MaterialProcessorDefaultEffect.cs │ │ ├── ModelBoneContent.cs │ │ ├── ModelBoneContentCollection.cs │ │ ├── ModelContent.cs │ │ ├── ModelMeshContent.cs │ │ ├── ModelMeshContentCollection.cs │ │ ├── ModelMeshPartContent.cs │ │ ├── ModelMeshPartContentCollection.cs │ │ ├── ModelProcessor.cs │ │ ├── SpriteFontContent.cs │ │ ├── TextureProcessor.cs │ │ ├── TextureProcessorOutputFormat.cs │ │ ├── VertexBufferContent.cs │ │ └── VertexDeclarationContent.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ └── launchSettings.json │ ├── Serialization/ │ │ └── Compiler/ │ │ ├── AlphaTestEffectWriter.cs │ │ ├── BasicEffectWriter.cs │ │ ├── ColorWriter.cs │ │ ├── CompiledEffectWriter.cs │ │ ├── ContentTypeWriterBase.cs │ │ ├── DualTextureEffectWriter.cs │ │ ├── EffectMaterialWriter.cs │ │ ├── EnvironmentMapEffectWriter.cs │ │ ├── IndexBufferWriter.cs │ │ ├── ModelWriter.cs │ │ ├── SkinnedEffectWriter.cs │ │ ├── SpriteFontWriter.cs │ │ ├── Texture2DWriter.cs │ │ ├── TextureCubeWriter.cs │ │ ├── TextureWriter.cs │ │ ├── VertexBufferWriter.cs │ │ └── VertexDeclarationWriter.cs │ ├── TextureImporter.cs │ ├── Utilities/ │ │ ├── ContentWriterExtensions.cs │ │ ├── FreeImageAPI.cs │ │ ├── FreeImageAPIC.cs │ │ ├── GraphicsExtensions.cs │ │ ├── ReflectionHelpers.cs │ │ └── VectorConverterEx.cs │ ├── XImporter.cs │ ├── XNA.Framework.Content.Pipeline.Graphics.csproj │ └── XNA.Framework.Content.Pipeline.Graphics.dll.config ├── Xna.Framework.Content.Pipeline.Graphics.MojoProcessor/ │ ├── EffectCompiler/ │ │ ├── ConstantBufferData.cs │ │ ├── EffectObject.cs │ │ ├── GLSLBytecode.cs │ │ ├── KNIFXWriter11.cs │ │ ├── MarshalHelper.cs │ │ ├── MojoShader.cs │ │ ├── Preprocessor.cs │ │ ├── SamplerInfo.cs │ │ ├── ShaderCompilerException.cs │ │ ├── ShaderData.cs │ │ ├── ShaderProfile.cs │ │ ├── ShaderProfileDX11.cs │ │ ├── ShaderProfileGL.cs │ │ ├── ShaderProfileType.cs │ │ ├── ShaderStage.cs │ │ └── ShaderVersion.cs │ ├── ExternalTool.cs │ ├── Processors/ │ │ ├── EffectProcessor.cs │ │ ├── EffectProcessorDebugMode.cs │ │ └── MojoEffectProcessor.cs │ ├── Properties/ │ │ ├── AssemblyInfo.cs │ │ └── launchSettings.json │ └── Xna.Framework.Content.Pipeline.Graphics.MojoProcessor.csproj ├── Xna.Framework.Content.Pipeline.Media/ │ ├── ExternalTool.cs │ ├── H264Importer.cs │ ├── Processors/ │ │ ├── SongProcessor.cs │ │ ├── VideoProcessor.cs │ │ └── VideoProcessorOutputFormat.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ ├── Serialization/ │ │ └── Compiler/ │ │ ├── SongWriter.cs │ │ └── VideoWriter.cs │ ├── SongContent.cs │ ├── Utilities/ │ │ └── PathHelper.cs │ ├── VideoContent.cs │ ├── VideoImporter.cs │ ├── WmvImporter.cs │ └── Xna.Framework.Content.Pipeline.Media.csproj ├── Xna.Framework.Design/ │ ├── Design/ │ │ ├── ColorConverter.cs │ │ ├── Vector2Converter.cs │ │ ├── Vector3Converter.cs │ │ └── Vector4Converter.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── Xna.Framework.Design.csproj ├── Xna.Framework.Devices/ │ ├── Devices/ │ │ ├── DevicesFactory.cs │ │ ├── Haptics.cs │ │ ├── HapticsStrategy.cs │ │ └── Sensors/ │ │ ├── Accelerometer.cs │ │ ├── AccelerometerFailedException.cs │ │ ├── AccelerometerReading.cs │ │ ├── AccelerometerStrategy.cs │ │ ├── CalibrationEventArgs.cs │ │ ├── Compass.cs │ │ ├── CompassReading.cs │ │ ├── CompassStrategy.cs │ │ ├── ISensorReading.cs │ │ ├── SensorBase.cs │ │ ├── SensorFailedException.cs │ │ ├── SensorReadingEventArgs.cs │ │ ├── SensorService.cs │ │ ├── SensorServiceStrategy.cs │ │ ├── SensorState.cs │ │ └── SensorStrategy.cs │ ├── ILLink.Descriptors.xml │ ├── NamespaceDoc.cs │ └── Xna.Framework.Devices.csproj ├── Xna.Framework.Game/ │ ├── DrawableGameComponent.cs │ ├── FileDropEventArgs.cs │ ├── Game.cs │ ├── GameComponent.cs │ ├── GameComponentCollection.cs │ ├── GameComponentCollectionEventArgs.cs │ ├── GameFactory.cs │ ├── GameServiceContainer.cs │ ├── GameStrategy.cs │ ├── GameTime.cs │ ├── GameWindow.cs │ ├── GraphicsDeviceManager.cs │ ├── GraphicsDeviceManagerStrategy.cs │ ├── IDrawable.cs │ ├── IGameComponent.cs │ ├── ILLink.Descriptors.xml │ ├── IUpdateable.cs │ ├── LaunchParameters.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── Xna.Framework.Game.csproj ├── Xna.Framework.Graphics/ │ ├── Color.cs │ ├── Content/ │ │ ├── AlphaTestEffectReader.cs │ │ ├── BasicEffectReader.cs │ │ ├── ColorReader.cs │ │ ├── DualTextureEffectReader.cs │ │ ├── EffectMaterialReader.cs │ │ ├── EffectReader.cs │ │ ├── EnvironmentMapEffectReader.cs │ │ ├── IndexBufferReader.cs │ │ ├── ModelReader.cs │ │ ├── SkinnedEffectReader.cs │ │ ├── SpriteFontReader.cs │ │ ├── Texture2DReader.cs │ │ ├── Texture3DReader.cs │ │ ├── TextureCubeReader.cs │ │ ├── TextureReader.cs │ │ ├── VertexBufferReader.cs │ │ └── VertexDeclarationReader.cs │ ├── DisplayOrientation.cs │ ├── Graphics/ │ │ ├── ClearOptions.cs │ │ ├── ColorWriteChannels.cs │ │ ├── CubeMapFace.cs │ │ ├── DeviceLostException.cs │ │ ├── DeviceNotResetException.cs │ │ ├── DirectionalLight.cs │ │ ├── DisplayMode.cs │ │ ├── DisplayModeCollection.cs │ │ ├── Effect/ │ │ │ ├── AlphaTestEffect.cs │ │ │ ├── BasicEffect.cs │ │ │ ├── DualTextureEffect.cs │ │ │ ├── Effect.cs │ │ │ ├── EffectAnnotation.cs │ │ │ ├── EffectAnnotationCollection.cs │ │ │ ├── EffectHelpers.cs │ │ │ ├── EffectMaterial.cs │ │ │ ├── EffectParameter.cs │ │ │ ├── EffectParameterClass.cs │ │ │ ├── EffectParameterCollection.cs │ │ │ ├── EffectParameterType.cs │ │ │ ├── EffectPass.cs │ │ │ ├── EffectPassCollection.cs │ │ │ ├── EffectTechnique.cs │ │ │ ├── EffectTechniqueCollection.cs │ │ │ ├── EnvironmentMapEffect.cs │ │ │ ├── IEffectBones.cs │ │ │ ├── IEffectFog.cs │ │ │ ├── IEffectLights.cs │ │ │ ├── IEffectMatrices.cs │ │ │ ├── KNIFXHeader.cs │ │ │ ├── KNIFXReader11.cs │ │ │ ├── MGFXHeader.cs │ │ │ ├── MGFXReader10.cs │ │ │ ├── SkinnedEffect.cs │ │ │ └── SpriteEffect.cs │ │ ├── GraphicsAdapter.cs │ │ ├── GraphicsAdapterStrategy.cs │ │ ├── GraphicsAdaptersProviderStrategy.cs │ │ ├── GraphicsBackend.cs │ │ ├── GraphicsCapabilities.cs │ │ ├── GraphicsContext.cs │ │ ├── GraphicsContextStrategy.cs │ │ ├── GraphicsDebug.cs │ │ ├── GraphicsDebugMessage.cs │ │ ├── GraphicsDebugStrategy.cs │ │ ├── GraphicsDevice.cs │ │ ├── GraphicsDeviceStatus.cs │ │ ├── GraphicsDeviceStrategy.cs │ │ ├── GraphicsFactory.cs │ │ ├── GraphicsMetrics.cs │ │ ├── GraphicsProfile.cs │ │ ├── GraphicsResource.cs │ │ ├── GraphicsResourceStrategy.cs │ │ ├── IGraphicsDeviceService.cs │ │ ├── IGraphicsResourceStrategy.cs │ │ ├── IRenderTarget.cs │ │ ├── IRenderTarget2DStrategy.cs │ │ ├── IRenderTarget3DStrategy.cs │ │ ├── IRenderTargetCubeStrategy.cs │ │ ├── IRenderTargetStrategy.cs │ │ ├── ITexture2DStrategy.cs │ │ ├── ITexture3DStrategy.cs │ │ ├── ITextureCubeStrategy.cs │ │ ├── ITextureStrategy.cs │ │ ├── Model.cs │ │ ├── ModelBone.cs │ │ ├── ModelBoneCollection.cs │ │ ├── ModelEffectCollection.cs │ │ ├── ModelMesh.cs │ │ ├── ModelMeshCollection.cs │ │ ├── ModelMeshPart.cs │ │ ├── ModelMeshPartCollection.cs │ │ ├── NoSuitableGraphicsDeviceException.cs │ │ ├── OcclusionQuery.cs │ │ ├── OcclusionQueryStrategy.cs │ │ ├── PackedVector/ │ │ │ ├── Alpha8.cs │ │ │ ├── Bgr565.cs │ │ │ ├── Bgra4444.cs │ │ │ ├── Bgra5551.cs │ │ │ ├── Byte4.cs │ │ │ ├── HalfSingle.cs │ │ │ ├── HalfTypeHelper.cs │ │ │ ├── HalfVector2.cs │ │ │ ├── HalfVector4.cs │ │ │ ├── IPackedVector.cs │ │ │ ├── NormalizedByte2.cs │ │ │ ├── NormalizedByte4.cs │ │ │ ├── NormalizedShort2.cs │ │ │ ├── NormalizedShort4.cs │ │ │ ├── Rg32.cs │ │ │ ├── Rgba1010102.cs │ │ │ ├── Rgba64.cs │ │ │ ├── Short2.cs │ │ │ └── Short4.cs │ │ ├── PresentInterval.cs │ │ ├── PresentationEventArgs.cs │ │ ├── PresentationParameters.cs │ │ ├── RenderTarget2D.cs │ │ ├── RenderTarget3D.cs │ │ ├── RenderTargetBinding.cs │ │ ├── RenderTargetCube.cs │ │ ├── RenderTargetUsage.cs │ │ ├── ResourceCreatedEventArgs.cs │ │ ├── ResourceDestroyedEventArgs.cs │ │ ├── SamplerStateCollection.cs │ │ ├── SamplerStateCollectionStrategy.cs │ │ ├── SetDataOptions.cs │ │ ├── Shader/ │ │ │ ├── ConstantBuffer.cs │ │ │ ├── ConstantBufferCollection.cs │ │ │ ├── ConstantBufferCollectionStrategy.cs │ │ │ ├── ConstantBufferStrategy.cs │ │ │ ├── PixelShader.cs │ │ │ ├── SamplerInfo.cs │ │ │ ├── Shader.cs │ │ │ ├── ShaderProfileType.cs │ │ │ ├── ShaderStage.cs │ │ │ ├── ShaderStrategy.cs │ │ │ ├── ShaderVersion.cs │ │ │ ├── VertexAttribute.cs │ │ │ └── VertexShader.cs │ │ ├── SpriteBatch.cs │ │ ├── SpriteBatchItem.cs │ │ ├── SpriteBatcherStrategy.cs │ │ ├── SpriteEffects.cs │ │ ├── SpriteFont.cs │ │ ├── SpriteSortMode.cs │ │ ├── States/ │ │ │ ├── Blend.cs │ │ │ ├── BlendFunction.cs │ │ │ ├── BlendState.cs │ │ │ ├── BlendStateStrategy.cs │ │ │ ├── CompareFunction.cs │ │ │ ├── CullMode.cs │ │ │ ├── DepthFormat.cs │ │ │ ├── DepthStencilState.cs │ │ │ ├── DepthStencilStateStrategy.cs │ │ │ ├── FillMode.cs │ │ │ ├── IBlendStateStrategy.cs │ │ │ ├── IDepthStencilStateStrategy.cs │ │ │ ├── IRasterizerStateStrategy.cs │ │ │ ├── ISamplerStateStrategy.cs │ │ │ ├── RasterizerState.cs │ │ │ ├── RasterizerStateStrategy.cs │ │ │ ├── ReadonlyBlendStateStrategy.cs │ │ │ ├── ReadonlyDepthStencilStateStrategy.cs │ │ │ ├── ReadonlyRasterizerStateStrategy.cs │ │ │ ├── ReadonlySamplerStateStrategy.cs │ │ │ ├── ResourceBlendStateStrategy.cs │ │ │ ├── ResourceDepthStencilStateStrategy.cs │ │ │ ├── ResourceRasterizerStateStrategy.cs │ │ │ ├── ResourceSamplerStateStrategy.cs │ │ │ ├── SamplerState.cs │ │ │ ├── SamplerStateStrategy.cs │ │ │ ├── StencilOperation.cs │ │ │ ├── TargetBlendState.cs │ │ │ ├── TextureAddressMode.cs │ │ │ ├── TextureFilter.cs │ │ │ └── TextureFilterMode.cs │ │ ├── SurfaceFormat.cs │ │ ├── Texture.cs │ │ ├── Texture2D.cs │ │ ├── Texture3D.cs │ │ ├── TextureCollection.cs │ │ ├── TextureCollectionStrategy.cs │ │ ├── TextureCube.cs │ │ ├── Utilities/ │ │ │ ├── ContentReaderExtensions.cs │ │ │ ├── DxtDecoder.cs │ │ │ ├── GraphicsExtensions.cs │ │ │ ├── HashHelpers.cs │ │ │ ├── ReflectionHelpers.cs │ │ │ └── TextureHelpers.cs │ │ ├── Vertices/ │ │ │ ├── BufferUsage.cs │ │ │ ├── DynamicIndexBuffer.cs │ │ │ ├── DynamicVertexBuffer.cs │ │ │ ├── IDynamicIndexBufferStrategy.cs │ │ │ ├── IDynamicVertexBufferStrategy.cs │ │ │ ├── IPlatformVertexDeclaration.cs │ │ │ ├── IVertexType.cs │ │ │ ├── IndexBuffer.cs │ │ │ ├── IndexBufferStrategy.cs │ │ │ ├── IndexElementSize.cs │ │ │ ├── PrimitiveType.cs │ │ │ ├── VertexBuffer.cs │ │ │ ├── VertexBufferBinding.cs │ │ │ ├── VertexBufferCollection.cs │ │ │ ├── VertexBufferStrategy.cs │ │ │ ├── VertexDeclaration.cs │ │ │ ├── VertexDeclarationCache.cs │ │ │ ├── VertexElement.cs │ │ │ ├── VertexElementFormat.cs │ │ │ ├── VertexElementUsage.cs │ │ │ ├── VertexPosition.cs │ │ │ ├── VertexPositionColor.cs │ │ │ ├── VertexPositionColorNormal.cs │ │ │ ├── VertexPositionColorNormalTexture.cs │ │ │ ├── VertexPositionColorTexture.cs │ │ │ ├── VertexPositionNormalTexture.cs │ │ │ └── VertexPositionTexture.cs │ │ └── Viewport.cs │ ├── GraphicsDeviceInformation.cs │ ├── IGraphicsDeviceManager.cs │ ├── ILLink.Descriptors.xml │ ├── PreparingDeviceSettingsEventArgs.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── Xna.Framework.Graphics.csproj ├── Xna.Framework.Input/ │ ├── ILLink.Descriptors.xml │ ├── Input/ │ │ ├── ButtonState.cs │ │ ├── Buttons.cs │ │ ├── GamePad.cs │ │ ├── GamePadButtons.cs │ │ ├── GamePadCapabilities.cs │ │ ├── GamePadDPad.cs │ │ ├── GamePadDeadZone.cs │ │ ├── GamePadState.cs │ │ ├── GamePadStrategy.cs │ │ ├── GamePadThumbSticks.cs │ │ ├── GamePadTouchButtons.cs │ │ ├── GamePadTriggers.cs │ │ ├── GamePadType.cs │ │ ├── InputFactory.cs │ │ ├── InputKeyEventArgs.cs │ │ ├── Joystick.cs │ │ ├── JoystickCapabilities.cs │ │ ├── JoystickHat.cs │ │ ├── JoystickState.cs │ │ ├── JoystickStrategy.cs │ │ ├── KeyState.cs │ │ ├── Keyboard.cs │ │ ├── KeyboardInput.cs │ │ ├── KeyboardInputStrategy.cs │ │ ├── KeyboardState.cs │ │ ├── KeyboardStrategy.cs │ │ ├── Keys.cs │ │ ├── MessageBox.cs │ │ ├── MessageBoxStrategy.cs │ │ ├── Mouse.cs │ │ ├── MouseCursor.cs │ │ ├── MouseCursorStrategy.cs │ │ ├── MouseState.cs │ │ ├── MouseStrategy.cs │ │ ├── TextInputEventArgs.cs │ │ ├── Touch/ │ │ │ ├── GestureLocationData.cs │ │ │ ├── GestureSample.cs │ │ │ ├── GestureType.cs │ │ │ ├── TouchCollection.cs │ │ │ ├── TouchLocation.cs │ │ │ ├── TouchLocationData.cs │ │ │ ├── TouchLocationState.cs │ │ │ ├── TouchPanel.cs │ │ │ ├── TouchPanelCapabilities.cs │ │ │ ├── TouchPanelStrategy.Legacy.cs │ │ │ ├── TouchPanelStrategy.LegacyGesture.cs │ │ │ └── TouchPanelStrategy.cs │ │ ├── TouchButtonState.cs │ │ └── XR/ │ │ ├── ITouchControllerInput.cs │ │ ├── TouchController.cs │ │ └── TouchControllerType.cs │ ├── NamespaceDoc.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── Xna.Framework.Input.csproj ├── Xna.Framework.Media/ │ ├── Content/ │ │ ├── SongReader.cs │ │ └── VideoReader.cs │ ├── ILLink.Descriptors.xml │ ├── Media/ │ │ ├── Album.cs │ │ ├── AlbumCollection.cs │ │ ├── AlbumStrategy.cs │ │ ├── Artist.cs │ │ ├── Genre.cs │ │ ├── MediaFactory.cs │ │ ├── MediaLibrary.cs │ │ ├── MediaLibraryStrategy.cs │ │ ├── MediaPlayer.cs │ │ ├── MediaPlayerStrategy.cs │ │ ├── MediaQueue.cs │ │ ├── MediaSource.cs │ │ ├── MediaSourceType.cs │ │ ├── MediaState.cs │ │ ├── Playlist.cs │ │ ├── PlaylistCollection.cs │ │ ├── Song.cs │ │ ├── SongCollection.cs │ │ ├── SongStrategy.cs │ │ ├── Utilities/ │ │ │ └── FileHelpers.cs │ │ ├── Video.cs │ │ ├── VideoPlayer.cs │ │ ├── VideoPlayerStrategy.cs │ │ ├── VideoSoundtrackType.cs │ │ └── VideoStrategy.cs │ ├── Properties/ │ │ └── AssemblyInfo.cs │ └── Xna.Framework.Media.csproj ├── Xna.Framework.Storage/ │ ├── ILLink.Descriptors.xml │ ├── NamespaceDoc.cs │ ├── Storage/ │ │ ├── StorageContainer.cs │ │ ├── StorageContainerStrategy.cs │ │ ├── StorageDevice.cs │ │ ├── StorageDeviceStrategy.cs │ │ ├── StorageFactory.cs │ │ ├── StorageService.cs │ │ └── StorageServiceStrategy.cs │ └── Xna.Framework.Storage.csproj └── Xna.Framework.XR/ ├── ILLink.Descriptors.xml ├── NamespaceDoc.cs ├── XR/ │ ├── HandsState.cs │ ├── HeadsetState.cs │ ├── XRDevice.cs │ ├── XRDeviceState.cs │ ├── XRDeviceStrategy.cs │ ├── XREye.cs │ ├── XRFactory.cs │ └── XRSessionMode.cs └── Xna.Framework.XR.csproj