This Week In Veloren 156

4 minute read24 January 2022

Authored by AngelOnFira

This week, we hear about some new shaders being developed. We also have a new Veloren Reading Club to check out!

- AngelOnFira, TWiV Editor

Contributor Work

Thanks to this week's contributors, @zesterer, @DaforLynx, @InfRandomness, @flo, @Slipped, @XVar, @imbris, @tygyh, @ubruntu, @unvariant, @AngelOnFira, @Sam, @terrarier2111, @Snowram, @JulianCoffee, @IsseW, @roidujeu, and @James!

The December Rust Gamedev Newsletter is out! You can read it here. @AngelOnFira has been starting work on improving parts of how Veloren's GitLab bot works. Now, using /review on Discord will pin the link to the thread it makes. Very helpful for developers!

Another Veloren Reading Club episode is out! In this one, @Sam talks to us about attacks and character states.

Shader Changes by @zesterer

I've been working on some changes to shaders this week.

First up, I added an 'experimental shader' feature that allows us to add shader effects to the game without committing to adding them by default. The system is very simple, but allows enabling shader effects via Voxygen's settings.ron. That also makes space for us to add some 'fun' shaders that we don't feel are a fit for the main game, but that we want to give users the opportunity to play with. Information about these shaders and how to enable them can be found here.

CurveWorld shader

Brickloren shader

Before `ProceduralLodDetail` shader ^ and after v

Secondly, I've added a 'point glow' effect to the game. For a while now I've struggled to make lanterns/lights look visually impactful, but a few days ago I found a neat technique that (ab)uses the depth buffer and some fast shader maths to add a halo around point lights to simulate light diffusion in the air. Even better, this effect works when the point light itself isn't visible: you can see the light of a campfire before you see it as you approach from over a hill, for example. I know that it's not for everybody so I added an in-game slider to allow players to adjust the intensity of the effect (this will be in next week's build).

Here's a before and after that show the effect in action (I've cranked it up to the highest setting to make it more obvious, but players can tone it down if they so choose).

Lastly, I'm currently working on sprucing up the water shaders. There are a fair few things going on here:

  • I added a caustic effect that shows refracted light projected onto the ocean floor
  • I added distance fog that uses an approximation of water depth to calculate light attenuation. It takes into account sun and moon light so the water appears as a sensible colour
  • I altered the water surface rendering, re-enabling depth writing and fixing the way reflection vs refraction was calculated when the water was viewed from below

Exploring the underwater world is now beautiful and creepy, as it should be!

An endless ocean to explore. See you next week!