surface stone
param	float	Ka		1
param	float	Kd		1
param	color	stonecolor		0 0 0
param	color	mortarcolor		0 0 0
param	float	raggedamp		0.04
param	float	raggedfreq		12
param	float	jagged		0.006
param	float	stonevary		0.6
param	float	stonewidth		0.28
param	float	stoneheight		0.14
param	float	mortarthickness		0.007
param	float	rowvary		0.5
param	float	pitting		0.01
param	float	pockfrequency		10
param	float	groovedepth		0.01
local	color	bcolor	0 0 0
local	color	Ct	0 0 0
local	normal	Nf	0 0 0
local	float	sstone	0
local	float	tstone	0
local	float	w	0
local	float	h	0
local	float	ss	0
local	float	tt	0
local	float	swidth	0
local	float	twidth	0
local	float	BMWIDTH	0
local	float	BMHEIGHT	0
local	float	MWF	0
local	float	MHF	0
local	float	whichstone	0
local	float	fact	0
local	float	disp	0
local	float	_15$rowstagger	0
code
local	float	_15$rowstaggervary	0
code
local	float	_15$jaggedfreq	0
code
local	point	_15$PP	0 0 0
local	float	_15$scoord	0
local	float	_15$tcoord	0
local	float	_14$edge1	0
code
local	float	_14$x0	0
local	float	_14$x1	0
initcode 2
	pushiv	0.3 0.3 0.3 
	popc	stonecolor 
initcode 3
	pushiv	0.1 0.1 0.1 
	popc	mortarcolor 
initcode 14
	return
code
	pushf	mortarthickness 
	addF	stonewidth 
	popf	BMWIDTH 
	pushf	mortarthickness 
	addF	stoneheight 
	popf	BMHEIGHT 
	pushf	BMWIDTH 
	pushif	0.5 
	divff
	mulF	mortarthickness 
	popf	MWF 
	pushf	BMHEIGHT 
	pushif	0.5 
	divff
	mulF	mortarthickness 
	popf	MHF 
	pushf	BMWIDTH 
	pushif	1e-006 
	pushif	1e-006 
	pushf	dv 
	pushf	dsdv 
	mulff
	abs
	pushf	du 
	pushf	dsdu 
	mulff
	abs
	addff
	fmax
	fmax
	divff
	pushif	1.5 
	mulff
	popf	swidth 
	pushf	BMHEIGHT 
	pushif	1e-006 
	pushif	1e-006 
	pushf	dv 
	pushf	dtdv 
	mulff
	abs
	pushf	du 
	pushf	dtdu 
	mulff
	abs
	addff
	fmax
	fmax
	divff
	pushif	1.5 
	mulff
	popf	twidth 
	pushif	0.5 
	popf	_15$rowstagger 
	pushif	0.2 
	popf	_15$rowstaggervary 
	pushif	1 
	popf	_15$jaggedfreq 
	pushf	s 
	popf	_15$scoord 
	pushf	t 
	popf	_15$tcoord 
	pushif	0 
	pushf	jagged 
	fnef
	ifz	1
	pushf	BMHEIGHT 
	divF	_15$jaggedfreq 
	mulF	t 
	pushf	BMWIDTH 
	divF	_15$jaggedfreq 
	mulF	s 
	pointnoiseff
	popv	_15$PP 
	pushv	_15$PP 
	xcomp
	mulF	jagged 
	addF	_15$scoord 
	popf	_15$scoord 
	pushv	_15$PP 
	ycomp
	mulF	jagged 
	addF	_15$tcoord 
	popf	_15$tcoord 
label 1
label 2
	pushf	BMWIDTH 
	divF	_15$scoord 
	popf	ss 
	pushf	BMHEIGHT 
	divF	_15$tcoord 
	popf	tt 
	pushf	tt 
	floor
	popf	tstone 
	pushif	1 
	pushf	tstone 
	mulF	_15$rowstagger 
	mod
	addF	ss 
	popf	ss 
	pushif	0.5 
	pushif	0.5 
	addF	tstone 
	noisef
	subff
	mulF	_15$rowstaggervary 
	addF	ss 
	popf	ss 
	pushf	ss 
	floor
	popf	sstone 
	pushf	sstone 
	subF	ss 
	popf	ss 
	pushf	tstone 
	subF	tt 
	popf	tt 
label 0
	pushf	tstone 
	pushf	sstone 
	pushif	103 
	mulff
	addff
	popf	whichstone 
	pushif	1 
	pushf	raggedfreq 
	pushif	23.8 
	mulF	sstone 
	addF	t 
	mulff
	pushf	raggedfreq 
	pushif	5.15 
	mulF	tstone 
	addF	s 
	mulff
	noiseff
	pushif	2 
	mulff
	subff
	mulF	raggedamp 
	addF	ss 
	popf	ss 
	pushif	1 
	pushf	raggedfreq 
	pushif	7.2 
	mulF	sstone 
	addF	t 
	mulff
	pushf	raggedfreq 
	pushif	11.4 
	mulF	tstone 
	addF	s 
	mulff
	noiseff
	pushif	2 
	mulff
	subff
	mulF	raggedamp 
	addF	tt 
	popf	tt 
	pushif	1 
	pushif	2 
	pushf	raggedfreq 
	pushif	23.8 
	mulF	sstone 
	addF	t 
	mulff
	mulff
	pushif	2 
	pushf	raggedfreq 
	pushif	5.15 
	mulF	tstone 
	addF	s 
	mulff
	mulff
	noiseff
	pushif	2 
	mulff
	subff
	pushif	2 
	divF	raggedamp 
	mulff
	addF	ss 
	popf	ss 
	pushif	1 
	pushif	2 
	pushf	raggedfreq 
	pushif	7.2 
	mulF	sstone 
	addF	t 
	mulff
	mulff
	pushif	2 
	pushf	raggedfreq 
	pushif	11.4 
	mulF	tstone 
	addF	s 
	mulff
	mulff
	noiseff
	pushif	2 
	mulff
	subff
	pushif	2 
	divF	raggedamp 
	mulff
	addF	tt 
	popf	tt 
	pushif	1 
	pushf	swidth 
	ge
	ifz	3
	pushf	MWF 
	pushif	2 
	mulff
	pushif	1 
	subff
	popf	w 
	jump	4
label 3
	pushif	1 
	pushif	0 
	pushf	swidth 
	divF	MWF 
	pushif	1 
	subff
	fmax
	pushf	MWF 
	pushif	1 
	subff
	popf	_14$edge1 
	pushif	0.5 
	mulF	swidth 
	subF	ss 
	popf	_14$x0 
	pushf	swidth 
	addF	_14$x0 
	popf	_14$x1 
	pushf	swidth 
	pushf	MWF 
	pushf	_14$x0 
	fmax
	pushf	_14$edge1 
	pushf	_14$x1 
	fmin
	subff
	divff
	pushif	0 
	fmax
	jump	5
label 5
	fclamp
	popf	w 
label 4
	pushif	1 
	pushf	twidth 
	ge
	ifz	6
	pushf	MHF 
	pushif	2 
	mulff
	pushif	1 
	subff
	popf	h 
	jump	7
label 6
	pushif	1 
	pushif	0 
	pushf	twidth 
	divF	MHF 
	pushif	1 
	subff
	fmax
	pushf	MHF 
	pushif	1 
	subff
	popf	_14$edge1 
	pushif	0.5 
	mulF	twidth 
	subF	tt 
	popf	_14$x0 
	pushf	twidth 
	addF	_14$x0 
	popf	_14$x1 
	pushf	twidth 
	pushf	MHF 
	pushf	_14$x0 
	fmax
	pushf	_14$edge1 
	pushf	_14$x1 
	fmin
	subff
	divff
	pushif	0 
	fmax
	jump	8
label 8
	fclamp
	popf	h 
label 7
	pushif	1 
	popf	fact 
	pushif	0 
	popf	disp 
	pushf	MHF 
	pushf	tt 
	lt
	ifz	9
	pushif	1 
	pushf	MHF 
	divF	tt 
	pushf	MHF 
	divF	tt 
	mulff
	subff
	mulF	groovedepth 
	popf	disp 
	jump	10
label 9
	pushf	MHF 
	pushif	1 
	subff
	pushf	tt 
	gt
	ifz	11
	pushif	1 
	pushf	MHF 
	pushf	tt 
	pushif	1 
	subff
	divff
	pushf	MHF 
	pushf	tt 
	pushif	1 
	subff
	divff
	mulff
	subff
	mulF	groovedepth 
	popf	disp 
label 11
label 12
label 10
	pushf	MWF 
	pushf	ss 
	lt
	ifz	13
	pushif	1 
	pushf	MWF 
	divF	ss 
	pushf	MWF 
	divF	ss 
	mulff
	subff
	pushf	groovedepth 
	pushif	0.85 
	mulff
	mulff
	pushf	disp 
	fmin
	popf	disp 
	jump	14
label 13
	pushf	MWF 
	pushif	1 
	subff
	pushf	ss 
	gt
	ifz	15
	pushif	1 
	pushf	MWF 
	pushf	ss 
	pushif	1 
	subff
	divff
	pushf	MWF 
	pushf	ss 
	pushif	1 
	subff
	divff
	mulff
	subff
	pushf	groovedepth 
	pushif	0.85 
	mulff
	mulff
	pushf	disp 
	fmin
	popf	disp 
label 15
label 16
label 14
	pushf	tt 
	pushif	1 
	pushf	MHF 
	pushif	1.3 
	mulff
	pushif	1 
	subff
	smoothstep
	pushf	tt 
	pushf	MHF 
	pushif	1.3 
	mulff
	pushif	0 
	smoothstep
	subff
	popf	fact 
	pushf	ss 
	pushif	1 
	pushf	MWF 
	pushif	1.3 
	mulff
	pushif	1 
	subff
	smoothstep
	pushf	ss 
	pushf	MWF 
	pushif	1.3 
	mulff
	pushif	0 
	smoothstep
	subff
	mulF	fact 
	popf	fact 
	pushif	0.5 
	pushf	fact 
	pushif	0.5 
	mulff
	addff
	mulF	pitting 
	popf	fact 
	pushif	0.25 
	pushf	BMWIDTH 
	divF	pockfrequency 
	pushf	tstone 
	addF	tt 
	mulff
	pushf	BMHEIGHT 
	divF	pockfrequency 
	pushf	sstone 
	addF	ss 
	mulff
	noiseff
	pow
	mulF	fact 
	subF	disp 
	popf	disp 
	pushv	N 
	normalize
	mulFv	disp 
	addV	P 
	popv	P 
	pushv	P 
	calculatenormal
	popv	N 
	return_area
	pushv	I 
	pushv	N 
	normalize
	faceforward
	popv	Nf 
	pushif	1 
	pushif	0.5 
	addF	whichstone 
	noisef
	pushif	2 
	mulff
	subff
	mulF	stonevary 
	pushif	1 
	addff
	pushc	stonecolor 
	mulcf
	popc	bcolor 
	pushf	h 
	mulF	w 
	pushc	bcolor 
	pushc	mortarcolor 
	cmix
	popc	Ct 
	cpCC	Os Oi 
	pushv	Nf 
	diffuse
	mulFv	Kd 
	ambient
	mulFv	Ka 
	addcc
	pushc	Ct 
	mulC	Os 
	mulcc
	popc	Ci 
	return