1. Dashboard
  2. Getting Started
  3. GitHub
  4. API
  5. Articles
  6. Level Editor
  7. Members
    1. Recent Activity
    2. Users Online
    3. Staff
    4. Search Members
  8. Forum
  9. Discord
  • Login
  • Register
  • Search
Default Category
  • Everywhere
  • Default Category
  • Articles
  • Pages
  • Forum
  • More Options
  1. GFX-Engine
  2. Articles
  3. Default Category

Release 1.1.1

  • Andy
  • December 25, 2025 at 6:18 PM
  • 281 Views
  • 0 Comments

We're excited to announce GFX-Next Version 1.1.1! This release introduces a powerful Post-Processing Pipeline that lets you chain multiple visual effects together – from noir grayscale and film grain to chromatic aberration and vignettes. Create stunning visuals by mixing and matching the included filters.

Contents [hideshow]
  1. 🎮 Major Features
    1. Post-Processing Pipeline
  2. ⚠️ Breaking Changes
    1. Deprecated Model Class
    2. Manual Render Target Drawing Required
  3. 🚀 Enhancements
  4. 📝 Migration Guide

🎮 Major Features

Post-Processing Pipeline

This release introduces a powerful Post-Processing Stack system that allows you to chain multiple visual effects together for stunning graphics:

C#
_postProcessStack = new PostProcessStack();
_postProcessStack.Filter.Add(GrayscaleFX.Noir);
_postProcessStack.Filter.Add(ColorTintFX.NightVision);
_postProcessStack.Filter.Add(FilmGrainFX.FoundFootage);
_postProcessStack.Filter.Add(VignetteFX.Soft);
_postProcessStack.Init(Viewport, RenderDevice);

Available Effects:

  • BrightnessContrastFX - Cinematic color grading
  • ChromaticAberrationFX - Lens distortion effects
  • GrayscaleFX - Noir and monochrome styles
  • PixelationFX - Retro pixel art look
  • PosterizationFX - Comic book style rendering
  • SepiaFX - Antique photo effects
  • SharpenFX - Image sharpening
  • ColorTintFX - Night vision and color overlays
  • FilmGrainFX - Found footage and vintage film looks
  • ScanlinesFX - Old TV screen effects
  • VignetteFX - Soft edge darkening

Mix and match effects to create unique visual styles for your game!


⚠️ Breaking Changes

1. Deprecated Model Class

The generic Model class is now deprecated. Please migrate to the new specialized model classes:

  • StaticMeshModel - For static 3D models (non-animated)
  • SkinnedMeshModel - For animated models with skeletal animation

Old way (deprecated):

C#
var model = AssetManager.Load<Model>("path/to/model.gltf");

New way:

C#
// For static models
var lionModel = AssetManager.Load<StaticMeshModel>("Ressources/Lion/Lion.gltf");

// For animated models
var vampModel = AssetManager.Load<SkinnedMeshModel>("Ressources/Vampire/vampir.fbx");
var chicken = AssetManager.Load<SkinnedMeshModel>("Ressources/Chicken/chicken.gltf");

2. Manual Render Target Drawing Required

Scene.Render() and Canvas.Render() no longer automatically draw to the window. You must now explicitly draw render targets to the screen.

Migration Example:

C#
public override void Render()
{
    // Render the 3D scene to its internal render target
    Scene.RenderShadowMaps(Viewport, RenderDevice, Camera);
    Scene.Render(Viewport, RenderDevice, Camera);

    // Apply post-processing effects to the scene render target
    var renderTarget = Scene.RenderTarget as MSAARenderTarget2D;
    _postProcessStack.Apply(RenderDevice, renderTarget.TextureId);

    // Draw the final result to the screen
    RenderDevice.DrawRenderTarget(_postProcessStack.RenderTarget, 0);

    // Render UI elements
    HUD.AddRenderAction((viewport, renderer) =>
    {
        renderer. BindShaderProgram(renderer.GetShaderProgram("RectShader"));
        renderer.FillRect(new Rect(-2, -2, 4, 4), new Vector4(0.0f, 1.0f, 1.0f, 1.0f));
        renderer.UnbindShaderProgram();
    });
    HUD.Render(Viewport, RenderDevice);
    RenderDevice.DrawRenderTarget(HUD.RenderTarget as RenderTarget2D, 0);
}
Display More

Why this change?
This gives you full control over the rendering pipeline, enabling:

  • Custom post-processing effects
  • Multiple render passes
  • Render target composition
  • Advanced rendering techniques

🚀 Enhancements

  • Improved model loading with specialized classes for better performance
  • More flexible rendering pipeline architecture
  • Better separation between scene rendering and screen output
  • Enhanced shadow map rendering workflow

📝 Migration Guide

  1. Update Model Loading:
    • Replace Model with StaticMeshModel for static meshes
    • Replace Model with SkinnedMeshModel for animated meshes
  2. Update Render Methods:
    • Add explicit RenderDevice.DrawRenderTarget() calls after rendering
    • Consider implementing post-processing effects for enhanced visuals
  3. Test Your Rendering:
    • Ensure all scenes and canvases are properly drawn to the window
    • Verify post-processing effects work as expected

Categories

  1. Advanced Tutorial 1
  2. Getting Started 8
  3. Default Category 1
  4. Reset Filter

Partner & Supporter

  1. Privacy Policy
  2. Legal Notice
Powered by WoltLab Suite™