Heightmap Brushes

Heightmap Brushes

Postby Architect » 09 Dec 2013, 01:52

can someone please tell me how to make custom brushes?
Thanks
Architect
 
Posts: 83
Joined: 26 Aug 2011, 11:15

Re: Heightmap Brushes

Postby qreeves » 09 Dec 2013, 04:53

config/brush.cfg:
{l Code}: {l Select All Code}
// this config defines various heightmap brushes

// a brush has two parts: the brushmap and the brushhandle

// the brushmap is a 2D field that defines how the brush affects a heightmap

// the brushhandle is a 2D vertex on the brushmap.
// this handle is a reference point on the brushmap which represents
// where the editing cursor is pointed at.

// clearbrush                   : resets the brushmap
// brushvert <x> <y> <value>    : set a point on the brushmap
// brushx <x>                   : the x coordinate of the brushhandle
// brushy <y>                   : the y coordinate of the brushhandle

brushhandle = [
    brushx $arg1
    brushy $arg2
]

brushindex = -1
brushmax = -1                // make sure to bump this up if you add more brushes

selectbrush = [
    brushindex = ( + $brushindex $arg1 )
    if (< $brushindex 0) [ brushindex = $brushmax ]
    if (> $brushindex $brushmax) [ brushindex = 0 ]
    do [brush_@brushindex]
    echo $brushname
]; setcomplete "selectbrush" 1

brushverts = [
    loop y (listlen $arg1) [
        bv = (at $arg1 $y)
        loop x (listlen $bv) [
            brushvert $x $y (at $bv $x)
        ]
    ]
]

newbrush = [
    brushmax = (+ $brushmax 1)
    do [
        brush_@brushmax = [
            brushname = [@@@arg1]
            clearbrush
            @@(if (> $numargs 1) [result [brushhandle @arg2 @arg3; brushverts [@@arg4]]])
        ]
    ]
]

newbrush "Circle 1-0 Brush" 0 0 [1]
newbrush "Circle 2-1 Brush" 2 2 [
    ""
    "0 0 1 "
    "0 1 2 1 "
    "0 0 1 "
]
newbrush "Circle 4-2-1 Brush" 2 2 [
    "0 0 1 "
    "0 1 2 1 "
    "1 2 4 2 1 "
    "0 1 2 1 "
    "0 0 1 "
]
newbrush "Square 3x3 brush" 1 1 [
    "1 1 1 "
    "1 1 1 "
    "1 1 1 "
]
newbrush "Square 5x5 brush" 2 2 [
    "1 1 1 1 1 "
    "1 1 1 1 1 "
    "1 1 1 1 1 "
    "1 1 1 1 1 "
    "1 1 1 1 1 "
]
newbrush "Square 7x7 brush" 3 3 [
    "1 1 1 1 1 1 1 "
    "1 1 1 1 1 1 1 "
    "1 1 1 1 1 1 1 "
    "1 1 1 1 1 1 1 "
    "1 1 1 1 1 1 1 "
    "1 1 1 1 1 1 1 "
    "1 1 1 1 1 1 1 "
]

newbrush "Smooth 3x3 brush" 1 1 [
    "0 0 0 "
    "0 "
    "0 "
]
newbrush "Smooth 5x5 brush" 2 2 [
    "0 0 0 0 0 "
    "0 "
    "0 "
    "0 "
    "0 "
]
newbrush "Smooth 7x7 brush" 3 3 [
    "0 0 0 0 0 0 0"
    "0 "
    "0 "
    "0 "
    "0 "
    "0 "
    "0 "
]

newbrush "Noise 25x25 Brush" 12 12 [
    "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 "
    ""
    "0 0 0 0 0 0 0 1 0 1 0 0 0 0 0 0 0 0 0 0 1 1 0 1 "
    "0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 0 1 0 0 1 0 0 2 2 "
    "0 0 0 0 1 1 1 0 0 0 0 0 1 0 0 0 0 0 0 0 0 0 0 1 1 "
    "0 0 0 0 0 1 0 0 0 0 0 2 0 0 0 0 1 0 0 0 1 1 0 0 1 "
    "0 0 1 0 0 0 1 0 1 1 0 0 0 0 1 0 0 1 0 0 0 0 2 "
    "0 0 0 1 0 1 1 0 0 0 0 0 0 0 0 0 0 1 1 1 2 "
    "0 0 0 0 0 0 0 1 0 0 0 0 1 0 0 0 0 0 0 0 1 0 0 1 1 "
    "0 0 0 0 1 1 1 0 0 1 0 0 0 0 0 0 0 0 1 0 0 1 0 1 "
    "0 1 0 2 0 1 1 1 1 0 0 1 0 0 0 0 1 "
    "0 0 0 0 2 0 0 0 0 0 0 0 0 0 0 0 1 1 0 1 1 "
    "1 0 1 0 0 0 0 0 1 0 0 0 1 0 1 "
    "0 0 0 0 0 0 0 1 1 0 1 1 0 0 1 0 0 1 0 0 0 0 1 0 0 1 "
    "0 1 1 1 0 3 0 2 0 0 0 1 1 0 0 0 1 1 "
    "0 0 1 0 0 1 0 0 1 0 1 1 0 1 0 0 0 0 0 1 "
    "0 0 1 1 0 0 0 0 2 0 0 1 0 0 0 0 0 1 0 0 0 0 0 1 1 "
    "0 1 1 0 1 0 0 1 0 0 0 0 0 1 0 0 1 1 0 0 0 0 1 "
    "1 0 0 0 0 0 1 0 0 1 0 0 1 0 0 0 0 0 0 0 1 0 0 1 0 1 "
    "0 0 0 1 0 0 1 0 1 1 0 0 0 0 0 0 0 1 "
    "0 0 0 0 0 0 1 1 1 0 1 1 1 0 0 0 0 0 0 0 0 0 0 1 "
    "0 0 0 0 1 0 1 1 0 2 0 0 0 0 0 1 0 0 0 1 0 0 0 0 1 "
    "0 0 0 0 0 0 0 0 0 1 0 1 "
    "0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 0 1 "
]

do [ brush_2 ] // 421
Quinton "quin" Reeves | Lead Developer, Red Eclipse | http://redeclipse.net/ | http://www.facebook.com/redeclipse.net
User avatar
qreeves
 
Posts: 1294
Joined: 17 Mar 2011, 03:46
Location: Queensland, Australia

Re: Heightmap Brushes

Postby Architect » 09 Dec 2013, 14:06

thanks
Architect
 
Posts: 83
Joined: 26 Aug 2011, 11:15

Who is online

Users browsing this forum: No registered users and 1 guest