---
title: Display
order: 4
---

How Chisel objects appear in the viewport when they're not being ray-marched, plus the proxy-mesh bake that makes them work in EEVEE / Cycles / Solid view and the storage budget for baked mesh-SDF grids.

For the in-viewport gizmo toggles (arcs, modifier dots, Ngon handles), see [Gizmos](gizmos.md).

![Display settings](../assets/rendersettings-display.webp)

## Parameters

**Outline** and **Show Bounds** are scene-level defaults applied to **new** boolean targets and cutters as they're created. They don't retroactively change objects already in the scene.

- **Outline**: `None / Wire / Bounds`, default *None*. The display type given to new targets/cutters:
  - **None**: leave the display type unchanged.
  - **Wire**: show new targets as wire outlines.
  - **Bounds**: show new targets as bounding boxes (shape-matched to the primitive type).
- **Show Bounds**: default *off*. When on, new boolean targets/cutters get Blender's native bounding-box display so non-rendered helpers stay visible as a box.
- **Render Region**: default *on*. Limit rendering to Blender's render border (`Ctrl + B` in the viewport, `Ctrl + Alt + B` to clear), the same way Cycles does. A quick way to cut GPU load while working on one corner of a heavy scene.

## Render flag vs. viewport display

Each Chisel object has a **Render** toggle (`render_sdf`, default *on*) in the *Object Properties → SDF* panel. It decides only whether the SDF engine renders that object. It's fully decoupled from how the object looks in the viewport. Helper objects, boolean operands, and reference geometry typically have *Render* off.

Because render visibility and viewport display are independent, you can **hide a shape from the render without hiding it in the viewport**: turn *Render* off and the object still shows as its proxy mesh, wire, or bounds. Flipping *Render* back on renders it again regardless of its display type. The *Outline* and *Show Bounds* defaults above just set how freshly created cutters first appear.

## Proxy mesh

Chisel can bake a low-resolution mesh proxy from each SDF object so it renders correctly in *EEVEE*, *Cycles*, and *Solid* shading, and so snapping, selection, and raycasting work on the SDF surface. The controls live in the **Proxy** sub-panel.

Chain bases (objects carrying Chisel modifiers) are what get a proxy; standalone primitives with no modifiers always show their own base mesh.

### Proxy parameters

- **Proxy Mode**
  - **None**: no proxy. The base mesh stays as-is.
  - **Armesher**: bake a low-res proxy on each settle. Accurate, and debounced so it only runs once you stop moving.
- **Proxy Voxel Size**: `0.001–10.0` scene units, default `0.05`. Voxel edge length for the proxy bake.
  - When *Adaptive* is **off**, this is the world-space voxel size for every object.
  - When *Adaptive* is **on**, this is the voxel size for a 2 m reference object. Smaller objects get proportionally smaller voxels, larger objects get larger voxels.
- **Adaptive**: default *on*. Scales voxel size with object dimensions so every Chisel object ends up with roughly the same cell count.

The proxy bake runs on a worker thread, so mesh-prim chains never block the UI, and moving a chain rigidly around the scene skips the re-bake entirely. Every shape and modifier edit refreshes the proxy (sliders, gizmo drags, the pie modals, undo and redo alike) so selection outlines, snapping and non-Chisel viewport modes always show the current shape. Changing *Voxel Size* or *Adaptive* re-bakes every proxy.

## Local view

Local view (numpad `/`) isolates Chisel shapes the way it isolates Blender objects: only the shapes you took into local view render there, and the rest of the scene stops marching inside that viewport. The per-viewport *Local Collections* toggle is honoured the same way, each viewport independently. Booleans are unaffected: a cutter left outside local view keeps cutting, exactly as a Blender modifier keeps using a hidden target.

## Mesh-SDF storage

[Mesh primitives](../primitives/mesh.md) carry a baked signed-distance grid. These two settings decide whether that grid is saved with the file or re-baked on open.

- **Store SDF Bakes in File**: default *on*. Persist mesh-SDF grids, compressed, inside the `.blend`, so reopening the file skips the re-bake. Data is written only on file save.
- **SDF Store Budget (MB)**: `1–2048`, default `256`. Per-grid size cap for that storage, measured compressed (roughly a fifth of the grid's raw size). Convert, Rebake and Apply refuse a resolution whose grid would not fit this cap, so every grid they make reopens without a re-bake; raise it to allow larger grids at the cost of a bigger file.

A line under the budget reads *Stored in file: 3 grids, 41 MB* once the file carries any.

Opening a file whose grids weren't stored doesn't freeze the viewport: the missing grids re-bake on a background thread and each prim appears as soon as its bake lands. Until then it draws as a [placeholder box](../primitives/mesh.md#when-a-grid-does-not-fit).

If you ever see a *version mismatch* warning on the proxy library, click **Update Native Libraries** in [Preferences](../preferences.md) and restart Blender.

## See also

- [Gizmos](gizmos.md): viewport gizmo overlay toggles
- [Matcap](matcap.md): viewport shading
- [Performance](performance.md): progressive refinement while you interact
- [Primitives: Mesh](../primitives/mesh.md): what those stored grids belong to
- [Operations: Convert](../operations/convert.md): full mesh conversion (separate from the proxy)
- [Operations: Veil](../operations/veil.md): quickly hide every non-rendered object
