Lightmapping
Progressive CPU Lightmapper

Progressive GPU Lightmapper (Preview)

Note: This is a preview feature and is subject to change. Any Scenes that use this feature may need updating in a future release. Do not rely on this feature for full-scale production until it is officially released.

The GPU Lightmapper gives you an interactive workflow when you’re setting up and tweaking the lighting in your scene. Because this lightmapper uses the GPU in your computer to generate baked lightmaps and Light probes, it’s a faster alternative to the CPU Progressive Lightmapper. Sampling and noise patterns look slightly different than those produced by the CPU lightmapper, because the sampling algorithm is different.

Hardware and software requirements

To use the Progressive GPU Lightmapper, your computer must have:

  • A Windows operating system
  • At least one GPU with OpenCL 1.2 support
  • At least 2GB of dedicated GPU memory
  • CPU that supports SSE4.1 instructions

If your computer has more than one GPU, Unity automatically selects one for rendering and a different one for light baking. To change this, see: configuring which GPU to use for the lightmapper.

Note: If the baking process uses more than the available GPU memory, the process can fall back to the CPU Lightmapper. Some drivers with virtual memory support swap to CPU memory instead, which makes the baking process slower.

Selecting the Progressive GPU Lightmapper

To select the Progressive GPU Lightmapper in the Unity Editor: In your Project, go to Window > Rendering > Lighting Settings. Under Lightmapping Settings, find the Lightmapper property, and select Progressive GPU (Preview) in the drop-down menu.

Select the Progressive GPU Lightmapper under Lightmapper in Lightmapping Settings.
Select the Progressive GPU Lightmapper under Lightmapper in Lightmapping Settings.

Configuring which GPU to use

If your computer has more than one GPU, Unity automatically uses one GPU for rendering the Scene and the other GPU for baking lightmaps. If the GPU assignments don’t fit your needs, you can specify which graphics card to use for baking.

To see which GPU Unity currently uses for baking:

  • In the Editor, open the Lighting window. Next to Bake Performance, you can see the GPU.

To see the available GPUs in your machine:

  1. Make sure you’ve selected the Progressive GPU lightmapper in the Editor.
  2. Generate the lighting in your Scene.
  3. Open File Explorer, and navigate to the following path: C:\Users\USER\AppData\Local\Unity\Editor.
  4. Open the file called Editor.log.
  5. In the file, search for the line Listing OpenCL platforms. This should jump to the part of the log with information about OpenCL devices. Here, you can see your available GPUs along with their corresponding platform and device indexes.

To select a specific GPU for baking:

  • At the Command Line, enter this command (replacing platform and device index with the relevant numbers):

Unity.exe "-OpenCL-PlatformAndDeviceIndices" <platform> <device index>

Your choice of assignment should depend on your needs while you’re working on the Scene. If you assign the strongest GPU to either activity, this can incur a cost on the other activity. If you encounter issues, try re-assigning GPUs.

Limitations

The Progressive GPU Lightmapper does not support:

  • Double-sided global illumination. The Lightmapper views all geometry as single-sided.
  • Casting shadows. Meshes always cast and receive shadows, regardless of your choice in Cast Shadows and Receive Shadows.
  • Baked LOD.
  • A-Trous filtering. It only uses Gaussian filtering.
  • The custom bake API (experimental)
  • Submeshes. The lightmapper uses material properties on the first submesh.

  • 2018–11–26 Page published with editorial review
  • Preview of Progressive GPU Lightmapper added in 2018.3 NewIn2018X
Lightmapping
Progressive CPU Lightmapper