displacement grass
param	float	gHeight		0.1
param	float	Km		1
param	float	power		3
param	float	frequency		1
param	float	maxoctaves		6
local	string	$_str_0 	"shader"
local	float	d	0
local	float	Py	0
local	float	size	0
local	float	magnitude	0
local	float	i	0
local	point	PP	0 0 0
initcode 4
	return
code
	pushif	0 
	popf	d 
	pushv	P 
	ycomp
	popf	Py 
	pushif	0 
	popf	magnitude 
	random
	mulF	gHeight 
	popf	d 
	pushf	gHeight 
	pushif	0.5 
	mulff
	pushf	d 
	lt
	ifz	0
	pushif	0 
	popf	d 
label 0
label 1
	pushif	0 
	pushf	d 
	gt
	random
	pushif	0.05 
	mulff
	pushif	0.06 
	addff
	pushf	Py 
	lt
	pushif	0.5 
	random
	subff
	pushif	0.05 
	mulff
	pushif	0 
	addff
	pushf	Py 
	ge
	and
	and
	ifz	2
	pushv	P 
	pushf	d 
	pushv	P 
	ycomp
	addff
	pushif	1 
	setcomp
	popv	P 
	pushv	P 
	calculatenormal
	popv	N 
	jump	3
label 2
	pushv	P 
	pushs	$_str_0 
	transforms
	popv	PP 
	cpFF	frequency size 
	pushif	0 
	popf	i 
label 4
	pushf	maxoctaves 
	pushf	i 
	lt
	ifz	6
	pushf	size 
	pushf	size 
	pushv	PP 
	mulvf
	noisev
	pushif	0.5 
	subff
	abs
	divff
	addF	magnitude 
	popf	magnitude 
	pushif	2 
	mulF	size 
	popf	size 
label 5
	pushif	1 
	addF	i 
	popf	i 
	jump	4
label 6
	pushv	N 
	normalize
	pushf	power 
	pushf	magnitude 
	pow
	mulF	Km 
	mulfv
	addV	P 
	popv	P 
	pushv	P 
	calculatenormal
	popv	N 
label 3
	return