Graphics Programming weekly - Issue 172 — February 28, 2021

[video] The CRYENGINE Rendering Pipeline

  • the Video provides a 90-minute in-depth look at the rendering architecture used in CryEngine
  • providing an overview of the abstraction layers
  • discusses API abstractions, draw call generations, interactions with the higher-level rendering pipeline
  • provides an overview of the different rendering stages of the pipeline
  • covering GBuffer, shadows, tile shading, tone mapping, post-processing
  • additionally provides an overview of the shader system

Tech Breakdown: Hiding Water in Boat Interiors

  • the article presents two methods to hide water from the inside of boats
  • the first method uses an invisible inside mesh for the ship to draw depth before the water to block it from rendering
  • second method involves using the stencil buffer to mask out parts of the water
  • presents difficulties with either technique and how to deal with them
  • source code for use with Unity is provided

Experimenting with Shader Graph: Doing more with less

  • the article presents an alternative way to pack PBR textures into a single 4 channel texture
  • albedo information stored as a gradient with gradient reconstruction, normals stored as height derivates, and linear smoothness
  • presents how this was integrated into Unity
  • shows the setup tested on a 6 material blend setup and presents performance comparison against the classical packing

New game changing Vulkan extensions for mobile: Descriptor Indexing

  • the article shows how the Vulkan extensions enable bindless indexing on Android
  • presents an overview of dynamic indexing (and restrictions), update after bind, and GPU based validation

Moving The Machinery to Bindless

  • the article presents how the bindless binding model has been integrated into The Machinery
  • shows the setup, lifetime management as well as integration with the shader system


Principal Graphics Programmer

(Farnborough, Hampshire, UK)

nDreams is an award-winning independent developer and publisher, delivering world-leading interactive virtual reality experiences. We recently launched Phantom: Covert Ops, a stealth action game redefined for VR, and we couldn’t be more proud of what the team have achieved. We are seeking a Principal Graphics Programmer to join our growing team and help build the systems that let our artists and designers breathe life in to the VR experiences we create. We can’t wait to show you what we’re working on next …

[video] Shaders For Game Devs

  • 10h Video online class about shader development
  • whole series covers an entire spectrum from basics, over lighting, mesh deformation, skyboxes, and image-based lighting
  • provides assignment and discusses different approaches to solve it

New game changing Vulkan extensions for mobile: Buffer Device Address

  • the article presents the buffer_device_address (BDA) extension for Vulkan
  • this extension adds pointer support for Vulkan resources
  • allows users to request the virtual memory address of each resource, operate on it, and even resolve it from within shaders
  • shows how to use a pointer in a shader
  • additionally covers debugging advice and how this is handled inside of SPIR-V

Per-Texel Deferred Lighting

  • provides an idea on how to maintain a pixel art style with dynamic lighting in a 3D environment
  • technique uses position and UV derivatives to quantize the lighting results onto the center of the texel

[video] Blade Grass! Generate and Bake a Field Mesh Using a Compute Shader

  • the video tutorial shows how to generate a grass mesh using a compute shader
  • animate the grass from the vertex shader to apply movement

[video] GODOT 2D Dissolve Effect : Visual Shader

  • the video tutorial shows how to implement a dissolve shader for 2D sprites using the Visual Shader language of Godot

Thanks to Aras Pranckevičius for support of this series.

Would you like to see your name here too? Become a Patreon of this series.