Back to Node List

Path Fill

path_fill

Fill the interior of a closed bezier path as an image and surface

Reviewed
Guide available
The node name and summary are available in English. Port, parameter, and article details are currently shown in Japanese.

Input Ports

NameTypeDescription
パス
path
Path
Required
塗りつぶすベジェパス
color
Color
塗りの色(接続時はパラメータより優先)

Output Ports

NameTypeDescription
画像
output
Image
塗りつぶされたパス画像
サーフェース
surface
Surface
塗りつぶした形に高さ・素材ID・面IDを付けたサーフェースです

Parameters

NameTypeDefaultRangeDescription / Options
width
Int
641–1024

キャンバスの幅(ピクセル)

高さ
height
Int
641–1024

キャンバスの高さ(ピクセル)

color
Color
[1,1,1,1]

塗りの色(入力ポート未接続時に使用)

素材ID
material_id
Text
core:default

サーフェース出力で、塗りつぶしたピクセルに付ける素材です

面ID
face_id
Text
surface:path-fill

サーフェース出力で、塗り部分がどの面に属するかを示すIDです

面の高さ
surface_height
Float
0.550–1 / step 0.01

塗り部分の高さです。大きいほど出っ張った面として扱います

くぼみの暗さ
surface_ao
Float
0.960–1 / step 0.01

塗り部分の暗さです。小さいほどくぼんだように暗くなります

ざらつき
surface_roughness
Float
0.750–1 / step 0.01

光を当てた時の質感です。大きいほどつやが弱い面になります

Overview

A rasterizer that fills the inside of a closed path with a solid color. If path_stroke is the line operation, this is the fill operation. It directly creates silhouettes, base shapes, and mask shapes from drawn paths.

  • Version: 1
  • Generator: yes (is_generator: true)

Usage tips

  • If you only need a finished outline + fill, fill_closed in path_stroke does both in one node. Use this node to separate line and fill when they need independent processing, such as blurring only the fill.
  • Fill with white to use it directly as a mask, equivalent to path_mask.
  • The surface output plus surface_height sends the filled shape into lighting as a raised surface.

Common pitfalls

  • Nothing fills: the path is open; open subpaths are intentionally skipped. Close it with 🔒 in the bezier_path editor.
  • A complex self-intersecting path fills incorrectly: because filling spans min to max on each row, a C-shape or donut can fill through its hollow area. Split the shape or build it with path_mask/mask_boolean.
  • This node intentionally remains a fast simple min-to-max fill. Use path_mask plus mask_boolean when holes or multiple contours require EvenOdd/NonZero behavior.

Related nodes

  • path_stroke — the line operation; fill_closed can draw line and fill together
  • path_mask — filling specialized for masks
  • bezier_path / multi_path_editor — supply the shape to fill
  • shape_generate — avoid drawing standard primitives

Algorithm

  1. Generate outline coordinates with the same rasterize_subpath pipeline as path_stroke, with PP correction disabled.
    • Corner-pixel restoration at .5,.5 segment joins is also applied automatically.
  2. Calculate the minimum and maximum x on every outline row (y line).
  3. Fill every pixel from min_x to max_x on each row, including the outline.

Open subpaths are skipped; only subpaths with closed: true are filled.

Examples

Basic fill

[BezierPath] → path → [PathFill] → output → [Preview]

Compositing stroke and fill

[BezierPath] → path → [PathFill]   → output → [Blend] → [Preview]
              → path → [PathStroke] → output ↗

Using it as a Surface

[BezierPath] → path → [PathFill] → surface → [Surface Light Preview]

Change material_id to stone or metal to treat the same filled shape as a Surface with that material ID.

Notes

  • A path with fewer than three outline points returns an empty image.
  • An unconnected path returns an empty image and empty Surface.
  • Surface parameters are collapsed under "Surface" in the inspector.
  • Corner-pixel restoration for .5,.5 anchor points is handled automatically inside rasterize_subpath, producing consistent fill for squares, triangles, and similar shapes.
Back to Node List
Path Fill — PixPipeline Node Reference