Website powered by

Dynamic Wind

In Borderlands 4 we tried to step up the wind by introducing a dynamic wind system that includes a pressure solver. Essentially we wanted wind top be affected by certain gameplay elements like vehicles and explosions on high end systems. This system was developed by Ryan Smith, and then i was able to incorporate this system into my foliage, grass, and cloth vertex shaders.

The cloth vertex shader is largely the same principle as on other projects i have written a cloth shader for, with some new math for better functionality for scaled and transformed objects in large world coordinate space. The foliage vertex shading on the other hand is completely redone and respects the tree's hierarchy of branches as created in Speedtree. For grass we also use a version of the foliage vertex shader, where the rotation is done individually at the root of each blade of grass, but still only one pivot per vertex is calculated so it is efficient.

I'd like to also call out that the vertex animation only looks as good as the excellent biome meshes i had to work with, which were made by our biome team, and the individual instance were primarily tuned by Justin Kimball and Noah Mingram who created the instances from the base shader i wrote to make it function on each tree individually in the game.