Low-poly 3D models defined in the PolyForge DSL
model "Wooden Chair" {
connect "legs" "seat"
connect "seat" "backrest"
group "legs" {
color "wood"
profile square(0.15)
face (0, -1, 0)
// Four legs via double mirror
mirror x z {
move (0.725, 0, 0.725)
draw 2
}
}
group "seat" {
move (0, 0, 0)
face (0, 1, 0)
color "wood-dark"
profile rect(1.6, 1.6)
draw 0.12
}
group "backrest" {
color "wood"
// Two vertical posts
mirror x {
move (0.74, 0.12, -0.74)
face (0, 1, 0)
profile square(0.12)
draw 2
}
// Top slat connecting the posts
group "top-slat" {
move (-0.74, 1.92, -0.74)
face (1, 0, 0)
profile rect(0.4, 0.08)
draw 1.48
}
// Middle slat
group "mid-slat" {
move (-0.74, 1.2, -0.74)
face (1, 0, 0)
profile rect(0.3, 0.08)
draw 1.48
}
}
}
model "Curved Greatsword" {
connect "blade" "hilt"
group "blade" {
move (0, 0, 0)
face (0, 1, 0)
color "steel" metallic 0.7 roughness 0.3
profile diamond(0.5, 0.18)
// Straight base of the blade
draw 2
// Curved sweep of the blade
arc 8 30 segments 6
// Tapered tip
taper 0
draw 1.5 segments 4
}
group "hilt" {
connect "crossguard" "grip"
group "crossguard" {
color "gold" metallic 0.9 roughness 0.2
profile diamond(0.18, 0.18)
// Curved crossguard sweeping downward
mirror x {
move (0, 0, 0)
face (1, 0, 0)
draw 1.5
taper 1 0.6
draw 0.4
}
}
group "grip" {
move (0, 0, 0)
face (0, -1, 0)
color "leather" roughness 0.9
profile diamond(0.4, 0.18)
// Long two-handed grip
taper 1 1.1
draw 1.2
taper 1.1 1
draw 1.2
}
group "pommel" {
color "gold" metallic 0.9 roughness 0.2
profile circle(0.3)
draw 0.25
taper 0.5
draw 0.25
}
}
}
model "Low Poly Human" {
group "legs" {
color "cloth-blue" roughness 0.8
profile square(0.3)
face (0, 1, 0)
mirror x {
// Shin
move (0.35, 0, 0)
draw 1.2
// Thigh — slightly wider
taper 1 1.2
draw 1.3
}
// Feet
group "feet" {
color #5C4033 roughness 0.8
profile rect(0.3, 0.15)
face (0, 0, 1)
mirror x {
move (0.35, 0, -0.15)
draw 0.5
}
}
}
group "torso" {
// Hips
move (0, 2.5, 0)
face (0, 1, 0)
color "cloth-blue" roughness 0.8
profile rect(1.0, 0.5)
draw 0.3
// Shirt / chest — widens toward shoulders
color "cloth-red" roughness 0.7
profile rect(1.0, 0.5)
taper 1 1.3
draw 1.7
}
group "arms" {
color "cloth-red" roughness 0.7
mirror x {
// Upper arm — extends outward for T-pose
move (0.65, 4.2, 0)
face (1, 0, 0)
profile square(0.22)
draw 1.0
// Forearm
color "skin" roughness 0.6
taper 1 0.85
draw 1.0
// Hand
taper 0.85 0.5
draw 0.25
}
}
group "neck" {
move (0, 4.5, 0)
face (0, 1, 0)
color "skin" roughness 0.6
profile circle(0.2)
draw 0.4
}
group "head" {
move (0, 4.9, 0)
face (0, 1, 0)
color "skin" roughness 0.6
profile ngon(0.45, 8)
// Widen from neck
taper 0.5 1
draw 0.35
// Main head
draw 0.4
// Top of head — taper to close
taper 1 0.4
draw 0.35 segments 2
}
}
model "Iron Sword" {
connect "blade" "hilt"
group "blade" {
move (0, 0, 0)
face (0, 1, 0)
color "steel" metallic 0.7 roughness 0.3
profile diamond(0.4, 0.15)
// Main blade shaft
draw 4
// Tip tapers to a point
taper 0
draw 1.5 segments 4
}
group "hilt" {
connect "crossguard" "grip"
group "crossguard" {
color "gold" metallic 0.9 roughness 0.2
profile diamond(0.15, 0.15)
mirror x {
move (0, 0, 0)
face (1, 0, 0)
draw 1.2
// Slight flare at the tips
taper 1 1.3
draw 0.3
}
}
group "grip" {
move (0, 0, 0)
face (0, -1, 0)
color "leather" roughness 0.9
profile diamond(0.36, 0.15)
// Grip is slightly wider in the middle
taper 1 1.15
draw 0.9
taper 1.15 1
draw 0.9
}
group "pommel" {
// cursor continues from end of grip
color "gold" metallic 0.9 roughness 0.2
profile circle(0.25)
draw 0.2
taper 0.6
draw 0.2
}
}
}
model "Wooden Table" {
connect "legs" "tabletop"
group "legs" {
color "wood"
profile square(0.15)
face (0, -1, 0)
// Four legs via double mirror
mirror x z {
move (1.325, 0.65, 0.625)
draw 2.65
}
}
group "tabletop" {
move (0, 0.65, 0)
face (0, 1, 0)
color "wood-dark"
profile rect(2.8, 1.4)
draw 0.1
}
}
model "Tomato" {
connect "body" "stem"
group "body" {
move (0, 0, 0)
face (0, 1, 0)
color #CC2222 roughness 0.6
// Bottom: start small, bulge out
profile circle(0.2)
taper 1 4.5
draw 0.4 segments 3
// Wide middle
profile circle(0.9)
draw 0.5
// Upper half: taper back in
taper 1 0.7
draw 0.5 segments 3
// Top dimple area
taper 0.7 0.4
draw 0.15 segments 2
}
group "stem" {
// Small green cap at the top
group "calyx" {
move (0, 1.55, 0)
face (0, 1, 0)
color #2E7D32 roughness 0.8
profile circle(0.36)
taper 1 0.3
draw 0.08
}
// Stem sticking up
group "stalk" {
move (0, 1.63, 0)
face (0, 1, 0.15)
color #33691C roughness 0.8
profile square(0.06)
draw 0.3
taper 1 0.5
draw 0.15
}
}
}