Projects & meshes

Everything about starting a project, getting your model in, and how CGpainter organises your work into texture sets and channels.

New project & importing a mesh

How to start a project and bring your model in.

The New Project dialog

Open with File › New Project…. Pick your mesh, a template, and a resolution; CGpainter loads and validates the mesh before the project is created. The resolution you choose here is the project's working resolution and is fixed for the project — set it to suit your target. (The size baked mesh maps are generated at is a separate bake resolution, covered in Baking.)

The New Project dialog

Templates

A project template decides which channels every texture set starts with. It is just a named, ordered list of channel kinds — picking one here gives each material's texture set exactly those channels. It is not an export setting, and it isn't permanent: you can add or remove channels at any time afterward in the Texture Set Settings panel.

CGpainter ships these built-in templates:

TemplateChannels it creates
PBR Metallic RoughnessBase Color, Roughness, Metallic, Normal, Height
PBR + AOBase Color, Roughness, Metallic, Normal, Height, Ambient Occlusion
PBR + Emissive + AOBase Color, Roughness, Metallic, Normal, Height, Emissive, Ambient Occlusion
Base Color onlyBase Color

You can also save your own templates: click Manage… next to the template picker to create, edit, or delete custom channel sets, which then appear in the list alongside the built-ins.

Whichever template you pick is remembered and pre-selected the next time you open the New Project dialog.

Supported mesh formats

CGpainter imports these mesh formats:

UVs & materials

Two things on your mesh drive how CGpainter sets up the project:

Before importing, run through this quick checklist in your modelling app:

Re-importing a mesh rebuilds the texture set list from its materials and replaces the existing sets, so settle your UVs and material slots before you start painting.

High-poly (for baking)

To bake fine detail (such as Normal or Ambient Occlusion) onto your low-poly model, you assign a separate high-poly mesh. During the bake, CGpainter casts rays from the low-poly surface and projects the high-poly's detail onto the low-poly UVs. The high-poly is project-wide (one per project) and you don't paint on it — it only feeds baking.

You assign it in the Bake dialog, using the High-poly meshBrowse picker. Assigning is instant: CGpainter stores the file path and only loads the mesh when it's actually needed (when you bake, or turn on the high-poly preview), so even a multi-million-triangle sculpt won't freeze the app. With no high-poly assigned, bakes fall back to a plain self-bake of the low-poly.

See Baking for the bake settings, name-matching, and which maps use the high-poly.

Texture set and texture set settings

What is a texture set?

CGpainter creates one texture set per material slot on your mesh. Each set has its own layers, UV data, channels, and baked maps. You switch between sets in the Texture Sets panel, and add new channels in the Texture Set Settings panel — where you can also bake mesh maps for the set (see Baking).

The Texture Sets panel

PBR channels

A texture set outputs one image per channel. The common channels:

ChannelWhat it controls
Base ColorThe surface's albedo / diffuse colour, with no lighting or shadow baked in.
RoughnessHow rough vs. glossy the surface is (0 = mirror, 1 = matte).
MetallicWhether the surface reads as metal (0 = dielectric, 1 = metal).
NormalTangent-space surface detail (bumps without geometry).
HeightSurface elevation — used for displacement / parallax detail.
Ambient OcclusionBaked-in soft contact shadowing.
EmissiveSelf-illumination colour.
OpacityTransparency / cutout (alpha).

Which of these a new set starts with is decided by the project template you picked when creating it.

The Texture Set Settings panel

This panel is where you manage the channels of the active texture set, and bake its mesh maps. You also bake the set's mesh maps from here — see Baking for bake settings and bake resolution.

The Texture Set Settings panel

Adding, removing & reordering channels. Click the + (Add channel) button to add one of the supported channels — Base Color, Roughness, Metallic, Normal, Height, Emissive, Opacity, or Ambient Occlusion. A set holds at most one of each, so kinds already present are greyed out. Each channel row has a remove button, and (when the set has more than one channel) a drag handle for reordering. All of these are undoable.

Channel format. Every channel has a storage format (bit depth and component count) you can change from a dropdown on its row. Higher-precision formats avoid banding on smooth gradients but use more memory.

FormatBytes / texelNotes
L818-bit single channel (grayscale).
L16216-bit single channel, integer.
L16F216-bit single channel, float (allows HDR / negative).
L32F432-bit single channel, float.
RGB838-bit colour, linear.
RGB16616-bit colour, integer.
RGB16F616-bit colour, float.
RGB32F1232-bit colour, float.
sRGB838-bit colour, gamma-encoded; decoded to linear automatically when sampled.

New channels start at a sensible default for their kind — Base Color and Emissive at sRGB8, Normal at RGB8, Height at L16F, and the grayscale channels (Roughness, Metallic, Opacity, AO) at L8. Changing a channel's format is undoable.

A channel's format is independent of how its values are interpreted: Base Color and Emissive are treated as colour (sRGB) and the rest as linear data, regardless of the format you pick.

Saving & loading

Saving a project

File › Save (or Save As…) writes a single .cgp project file containing your layers, masks, painted pixels, baked maps, and settings.

Opening a project

File › Open…, or pick from File › Recent Files.

What's stored in a .cgp

A .cgp holds your whole project in one file — copy or back up that single file and you have everything:

Your mesh is the exception. The .cgp stores a reference to your mesh file — its path, not the geometry itself (the same goes for a high-poly). CGpainter reloads the mesh from that path when you open the project, so keep the source file where it is. If it has been moved, renamed, or deleted, CGpainter tells you the mesh is missing and asks you to re-import it.

Auto-save & unsaved changes

There is no auto-save — save your work yourself with File › Save (Ctrl+S), and do it often. A * before the file name in the title bar means you have unsaved changes.

If you start a new project, open another, or close the app while changes are unsaved, CGpainter asks first: Save, Discard (lose them), or Cancel (stay put).