surface polkadot
param	float	Ka		1
param	float	Kd		1
param	color	dot_		0 0 0
param	color	background_		0 0 0
param	float	radius_		0.005
param	float	distance_		0.1
local	color	c	0 0 0
local	float	stile	0
local	float	ttile	0
local	float	ss	0
local	float	tt	0
local	float	rtile	0
local	float	_3$rowstagger	0
code
local	float	_3$rowstaggervary	0
code
local	float	_3$jaggedfreq	0
code
local	float	_3$jaggedamp	0
code
local	point	_3$PP	0 0 0
local	float	_3$scoord	0
local	float	_3$tcoord	0
local	normal	Nf	0 0 0
initcode 2
	pushiv	1 0 0 
	popc	dot_ 
initcode 3
	pushiv	1 1 1 
	popc	background_ 
initcode 5
	return
code
	return_area
	pushif	0 
	popf	_3$rowstagger 
	pushif	0 
	popf	_3$rowstaggervary 
	pushif	0 
	popf	_3$jaggedfreq 
	pushif	0 
	popf	_3$jaggedamp 
	pushf	s 
	popf	_3$scoord 
	pushf	t 
	popf	_3$tcoord 
	pushif	0 
	pushf	_3$jaggedamp 
	fnef
	ifz	1
	pushf	distance_ 
	divF	_3$jaggedfreq 
	mulF	t 
	pushf	distance_ 
	divF	_3$jaggedfreq 
	mulF	s 
	pointnoiseff
	popv	_3$PP 
	pushv	_3$PP 
	xcomp
	mulF	_3$jaggedamp 
	addF	_3$scoord 
	popf	_3$scoord 
	pushv	_3$PP 
	ycomp
	mulF	_3$jaggedamp 
	addF	_3$tcoord 
	popf	_3$tcoord 
label 1
label 2
	pushf	distance_ 
	divF	_3$scoord 
	popf	ss 
	pushf	distance_ 
	divF	_3$tcoord 
	popf	tt 
	pushf	tt 
	floor
	popf	ttile 
	pushif	1 
	pushf	ttile 
	mulF	_3$rowstagger 
	mod
	addF	ss 
	popf	ss 
	pushif	0.5 
	pushif	0.5 
	addF	ttile 
	noisef
	subff
	mulF	_3$rowstaggervary 
	addF	ss 
	popf	ss 
	pushf	ss 
	floor
	popf	stile 
	pushf	stile 
	subF	ss 
	popf	ss 
	pushf	ttile 
	subF	tt 
	popf	tt 
label 0
	pushf	distance_ 
	divF	radius_ 
	popf	rtile 
	pushv	I 
	pushv	N 
	faceforward
	popv	Nf 
	cpCC	Os Oi 
	pushf	rtile 
	pushf	tt 
	pushif	0.5 
	subff
	pushf	tt 
	pushif	0.5 
	subff
	mulff
	pushf	ss 
	pushif	0.5 
	subff
	pushf	ss 
	pushif	0.5 
	subff
	mulff
	addff
	sqrt
	le
	ifz	3
	cpCC	dot_ c 
	jump	4
label 3
	cpCC	background_ c 
label 4
	pushv	Nf 
	diffuse
	mulFv	Kd 
	ambient
	mulFv	Ka 
	addcc
	pushc	c 
	mulC	Os 
	mulcc
	popc	Ci 
	return