MerjTek.MonoGame.PostProcessing.OpenGL
1.0.1
dotnet add package MerjTek.MonoGame.PostProcessing.OpenGL --version 1.0.1
NuGet\Install-Package MerjTek.MonoGame.PostProcessing.OpenGL -Version 1.0.1
This command is intended to be used within the Package Manager Console in Visual Studio, as it uses the NuGet module's version of Install-Package.
<PackageReference Include="MerjTek.MonoGame.PostProcessing.OpenGL" Version="1.0.1" />
For projects that support PackageReference, copy this XML node into the project file to reference the package.
paket add MerjTek.MonoGame.PostProcessing.OpenGL --version 1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
#r "nuget: MerjTek.MonoGame.PostProcessing.OpenGL, 1.0.1"
#r directive can be used in F# Interactive and Polyglot Notebooks. Copy this into the interactive tool or source code of the script to reference the package.
// Install MerjTek.MonoGame.PostProcessing.OpenGL as a Cake Addin #addin nuget:?package=MerjTek.MonoGame.PostProcessing.OpenGL&version=1.0.1 // Install MerjTek.MonoGame.PostProcessing.OpenGL as a Cake Tool #tool nuget:?package=MerjTek.MonoGame.PostProcessing.OpenGL&version=1.0.1
The NuGet Team does not provide support for this client. Please contact its maintainers for support.
MerjTek.MonoGame.PostProcessing
MerjTek.MonoGame.PostProcessing is a screen post processing library that works on Windows with DirectX and OpenGL.
Usage Sample
...
// Add a reference to the namespace
using MerjTek.MonoGame.PostProcessing;
...
... // In Initialize or LoadContent
// Create a post processing manager
_postProcessingManager = new PostProcessingManager(device);
// Create a HashSet for different post processors
// You can create more than 1 if desired
_postProcesses = new HashSet<PostProcessBase>();
...
... // In Draw
_postProcessingManager.CaptureScreen();
// Add drawing code here...
_postProcessingManager.UncaptureAndExecute(_postProcesses);
...
Caveats
You must use the HiDef profile. The shaders won't work with the Reach profile
_graphics = new GraphicsDeviceManager(this); _graphics.GraphicsProfile = GraphicsProfile.HiDef;
Building
- The Solution uses Visual Studio 2022
- The nuget for DirectX after building contains a dependency on Monogame.Framework.DesktopGL. I have to use the .nupkg editing tool to correct the dependency to Monogame.Framework.DirectX.
Future Post Processor Ideas (Not in any order)
- Fog (3D)
- Depth of Field (3D)
- Poisson Disc Blur
- Motion Blur
- Lens Flare
- Color Correction and Clamping
- Tone Mapping
- Ambient Occlusion
- Bloom
- Crepuscular (God) Rays
- Heat Haze
- FXAA
- MLAA (Morphological Anti-Aliasing)
- SMAA (Subpixel Morphological Anti-Aliasing)
- Gamma Correction
- Color Grading (multiple shaders?)
- Feel free to suggest others
License
The MerjTek.MonoGame.PostProcessing project is under the MIT License.
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net6.0 is compatible. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
Compatible target framework(s)
Included target framework(s) (in package)
Learn more about Target Frameworks and .NET Standard.
-
net6.0
- MonoGame.Framework.DesktopGL (>= 3.8.1.303)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Version | Downloads | Last updated |
---|---|---|
1.0.1 | 209 | 1/21/2023 |
1.0.0 - First Release