heyx3 / BpWorld

A Test game for OpenGL experiments with the Julia port of B+
1 stars 0 forks source link

Fog #3

Open heyx3 opened 2 years ago

heyx3 commented 2 years ago

More interesting fog would probably require a GUI to easily experiment with it, so this should come after integrating an IMGUI.

  1. The fog is currently a function of the Z (vertical) position. If you write another function of X, and another of Y, then you can compute the integral of this "separable 3D" fog function by multiplying the individual integrals together. This would allow for analytical fog that still has interesting 3D features, like being concentrated on a certain part of the scene.

  2. The fog is currently a single function. If each component had its own function, then you could create much more interesting combinations of fog.

  3. Explore volumetric fog techniques:

heyx3 commented 1 year ago

We should move towards volumetric fog, using an AbstractField to describe it (compiled to shader). Also explore using denoising techniques to let us take really coarse samples of volumetric lighting.