Compute Casting

At Simplygon, we've dedicated 16 years to innovating in the realm of automated 3D content optimization. One of our latest advancements is the Shader-based Material Casting feature, also known as Compute Casting.

Model before compute casting
Before
Model after compute casting
After

So, what exactly is Compute Casting? Compute Casting is a feature that allows you to use your own shaders for material baking. As such it allows you to have full control over how materials are baked. This flexibility enhances adaptability and makes integration into custom game engines even easier.

As the name suggests, it utilizes a compute shader and Vulkan backend. The Vulkan backend can operate on a GPU or use a CPU fallback API (such as SwiftShader) if it runs headless.

Compute casters are highly configurable, consisting of a material evaluation shader written in HLSL or GLSL. They offer flexibility in exposing various geometry attributes like scene descriptor XML file, along with texture samplers. You can also define custom buffers and fields. Configuration can be done through scripting or by using a scene descriptor XML file.

With Compute Casters, you gain full control over the material baking process, perfect for creating impostors and proxy meshes for assets with complex shaders. This is especially useful for assets featuring texture blending with vertex colors. Here are some use cases:

  • For Distant Objects: Simplify shaders by baking them into textures, optimizing distant HLODs or Level of Detail meshes for runtime rendering.
  • For Vegetation and Terrain: Create detailed LOD meshes for complex-shaded vegetation using techniques like Billboard Cloud, Flipbook, or Impostor From Single View. Also, generate HLOD proxies for distant terrain with custom triplanar texturing.
  • For Characters and Assets: When reducing character meshes, merge materials at the last LOD level to optimize draw calls. This approach simplifies complex skin materials for distant viewing. Additionally, optimize draw calls on kit-bashed assets during object aggregation with material merging.

This feature also offers a seamless integration with the Unity Plugin, supporting both URP and HDRP shaders. This ensures that the same shader is used for both material baking and game rendering.

Interested in automating your 3D asset optimization pipeline using Compute Casting? Contact us for an evaluation and explore how Simplygon can transform your workflow.