top of page

Details

  • Real-time Dynamic weather systems

    • Lit-Animated cloud formations for planar and 3D cloud systems in full day/night cycles

    • Temperature based environments (Snow, ice, rain, wind, fog)

    • Precipitation accumulation (rolling fogs, varied snow, ice, rain, & mist)

    • Server side and client side manager class systems developed from scratch

    • Communicated with internal render manager, virtual body simulator, BattleRoyale systems, sky and satellite rendering systems, audio, and particle systems

  • 3D-effect masking system

    • Rendering technique implemented to mask off areas in 3D on the GPU per pixel

    • Implemented to be nearly undetectable in millisecond frame cost (< 0.1ms)

    • Used to mask rain and snow surface effects from covered and non-covered areas

    • Used to mask particles like rain drops and snow flakes from falling indoors

  • Iris/Exposure Effect

    • This effect was an integration into our HDR exposure system in order to adjust exposure based on the visible scene

    • Accomplished by accumulating frame buffer luma/brightness over time and fed into our tonemapping and lighting algorithms

  • Weather tools

    • Developed weather integration and control into 3 different art tools

    • Developed a 2D HUD display including tabs, sliders, and radio buttons to control the weather in real-time for debug and design purposes

  • The Snow effects

    • The snow I developed comes in 3 parts: surface, systems, and particles

    • The surface effects were done in a separate render pass which modified the gBuffers for specular channels, albedo, and normals

    • The systems work was managing temperatures, communication with outside systems which read the temperatures, determining whether it was snowing, icey, or a static temperature and snow condition

    • The particles for the snow system was simple, where I kicked off a snow particle effect created by our artists whenever it snowed or stopped snowing

  • The Rain effects

    • The rain system and rendering was much more complex than snow and included many parts which make up the symphony of the rain system

    • One system watched over and calculated the difference of rain to snow ratios and blends and kicked off the appropriate effects

    • Another system received calculations from the rain-clouds to determine the amount and intensities of rain per 3D position on the map

    • Surface rendering was generally simple, but had to be streamlined for performance sake, where modifications were made to the gBuffers similar to snow but included surface normal and specular animations, patterns, puddling, and albedo adjustments for water saturation

    • Prototyping - The rain drops were probably the most difficult and time consuming part of the rain system.  There were multiple prototypes and experiments done to find ways to acheive realistic rain while not impacting performance.  A few screenspace attempts were made, but the best prototype turned out to be a CPU controlled layer-cycle of rain drop particles.

    • The rain drop particles themselves were simple with some animation, scaling, some transforms, alpha blending and clipping, coloring, lighting, and splash effects (refractive lighting did not appear realistic so it was removed)

  • The Rain-Clouds

    • 3D upside-down screen-facing T posed quads with real-time generated normals and lighting

    • Animation and coloring incorporating in-game env-mapping, sky, fog, exposure and polarizing values

    • Calculated positioning, dimensions, rain-fall, and pathing on the CPU (server & client side)

bottom of page