Welcome, welcome, welcome to Flax Facts. Today it’s time for a quick round trip around the latest updates to the project development and community news.


DDGI Specular Reflections

Real-time global illumination gets rough specular reflections. No need to place Environment Probes anymore. All lighting becomes fully dynamic. Flax already has full-scene reflections tracing (via our custom software ratracer based on SDFs) but only for mirror-like surfaces. Materials of higher roughness fall back to prebaked (or dynamic) Environment Probes.
Now, DDGI can allocate a new set of probes with specular:

Complex scenes can have around 50,000 probes automatically placed around the camera (in cascades) and updated periodically. On presented level, effect adds 49mb of VRAM and 0.5-0.9ms of GPU time (on 2080Ti). Rough reflections view:

Properties Panel Search

Properties panel gets a search field to boost productivity and usability! The highly awaited feature comes to Editor, including the main properties panel and the one inside prefab editor. #4175

Light Overlap Debug View

Ever felt like game performance drops in Flax? Very unlikely given how optimized the engine is, but if it happens, use a new debug view to inspect light placement in the scene with a heatmap that corresponds to the performance cost of shading pixels. Areas with more overlap tend to have a higher impact on shading performance.

For advanced users, we’ve added new console commands: Graphics.GI.Dump and Graphics.Shadows.Dump to profile state of Global Illumination and Shadows rendering, including insights into internal memory usage or object complexity.

Visual Scripting Showcase Project

New community-made project about Visual Scripting comes live to public here. It demonstrates various features, such as: player interaction, button-controlled door, screen and world-space UI, and camera scripting for outline effects.

Scripting and Objects

Properties editor will allow picking or clearing value for abstract or interface to robustly use instanced objects or custom objects when scripting gameplay. Here is an example script, editor will show a picker with available types to set and an option to clear value if it’s assigned. Engine already serializes those values correctly.

public abstract class MyBaseClass {}

public interface IMyBaseInterface {}

public class FirstClass : MyBaseClass, IMyBaseInterface
{
    public string Text;
}

public class SecondClass : MyBaseClass, IMyBaseInterface
{
    public int Value;
}

public MyBaseClass Class;
public IMyBaseInterface Interface;

Discord Auto-Ban

We’ve added a new #honeybot channel on Flax’s Discord that contains an auto-ban script that reduces spam issues related to bots. Don’t write anything there unless you’re a robot. 🤖


That’s all for now; we’re going back to code. See you soon! 😻🚀🪞


Wojciech Figat

Lead Developer

0 Comments

Leave a Reply

Avatar placeholder

Your email address will not be published. Required fields are marked *