Need help with VPainter?
Click the “chat” button below for chat support from the developer who created it, or find similar developers for support.

About the developer

223 Stars 18 Forks MIT License 97 Commits 3 Opened issues


A vertex painting addon for the Godot game engine.

Services available


Need anything else?

Contributors list

No Data

A vertex painting addon for the Godot game engine.


Download the addon from Copy the addons folder in your project directory.
In Project/Project Settings/Plugins set VPainter to Active.


v0.2: * Added support for pressure sensitive pen tablets. * Some small bug fixes.


In the 3d editor when a MeshInstance node with a valid mesh resource is selected an icon will appear in the top editor menu.
When clicked a new sidebar will appear with painting options.


brush tool : (Shortcut - "1") use to paint vertex colors. You can adjust the size with the sliders or by using "[" and "]"
picker tool: (Shortcut - "2") use to pick the vertex color under the mouse cursor when clicked.
blur tool : (shortcut - "3") in progress
fill tool : (shortcut - "4") use to fill the entire mesh with a color. Fill tool is affected by the opacity and blend mode.

color swatches: There are two color swatches. in the main panel. When clicked they reveal a color picker dialog. The last one clicked is the active one.

pressure sensitivity: There is a new option for pressure sensitive pen tablets. * SizePressure - the size of your brush depends on the pressure input. * OpacityPressure - the opacity of your brush depends on the pressure input.

blending modes: There are currently 5 blending modes supported:
* MIX: linearly interpolated between the colors.
* ADD: adds the colors.
* SUBTRACT: subtracts the colors.
* MULTIPLY: multiplies the colors.
* DIVIDE: divides the colors.

size: controls the size of the brush and blur tool.
opacity: controls the opacity of the brush and fill tool.
hardness: controls the hardness of the brush and blur tool.
spacing : controls the spacing between the brush "dabs". Lower spacing results in a more precise line.

make local copy : makes a local copy of the mesh. It is useful if you don't want to overwrite your original mesh data.


  • Currently Vpainter does not support godot's primitive meshes. It only works with imported meshes.
  • Currently only RGB painting is supported. Alpha channel painting is in the works.
  • Currently Vpainter does not support meshes with multiple instances of floating geometry.


In VPainter/addons/vpainter/additional_resources/ you will find two shaders:
* shadervertexcolor.shader:
A simple shader that displays the vertex color. It has the possibility to isolate R, G and B channels so you can preview them individually.
* heightblend4_textures.shader:
A shader used in the first presentation. It is used for mixing 4 textures based on a heightmap and vertex color.
The shader uses 3 textures per material:
* M: A mask texture.
R channel contains the height information
G channel contains the rougness information
B channel contains the metal information.
* C: RGB color/albedo information.
* N: Normalmap information.


  • The height blend shader was made after this amazing post:

We use cookies. If you continue to browse the site, you agree to the use of cookies. For more information on our use of cookies please see our Privacy Policy.