surface atmosphere
param	float	Ka		1
param	float	Kd		1
param	float	offset		1
param	float	scale		0.6
param	float	twist		0.22
param	float	omega		0.65
param	float	octaves		8
param	float	thickness		1
local	string	$_str_0 	"shader"
local	point	Ptxt	0 0 0
local	point	PtN	0 0 0
local	point	PP	0 0 0
local	float	rsq	0
local	float	angle	0
local	float	sine	0
local	float	cosine	0
local	float	l	0
local	float	o	0
local	float	a	0
local	float	i	0
local	float	value	0
initcode 7
	return
code
	return_area
	pushv	P 
	pushs	$_str_0 
	transforms
	popv	Ptxt 
	pushv	Ptxt 
	normalize
	popv	PtN 
	pushv	PtN 
	ycomp
	pushv	PtN 
	ycomp
	mulff
	pushv	PtN 
	xcomp
	pushv	PtN 
	xcomp
	mulff
	addff
	popf	rsq 
	pushf	rsq 
	pushif	3.14159 
	pushif	2 
	mulF	twist 
	mulff
	mulff
	popf	angle 
	pushf	angle 
	sin
	popf	sine 
	pushf	angle 
	cos
	popf	cosine 
	pushv	Ptxt 
	zcomp
	pushf	cosine 
	pushv	Ptxt 
	ycomp
	mulff
	pushf	sine 
	pushv	Ptxt 
	xcomp
	mulff
	addff
	pushf	sine 
	pushv	Ptxt 
	ycomp
	mulff
	pushf	cosine 
	pushv	Ptxt 
	xcomp
	mulff
	subff
	popv	PP 
	pushif	1 
	popf	l 
	pushif	1 
	popf	o 
	pushif	0 
	popf	a 
	pushif	0 
	popf	i 
label 0
	pushf	octaves 
	pushf	i 
	lt
	ifz	2
	pushif	1 
	pushf	l 
	pushv	PP 
	mulvf
	noisev
	pushif	2 
	mulff
	subff
	mulF	o 
	addF	a 
	popf	a 
	pushif	2 
	mulF	l 
	popf	l 
	pushf	omega 
	mulF	o 
	popf	o 
label 1
	pushif	1 
	addF	i 
	popf	i 
	jump	0
label 2
	pushf	a 
	mulF	scale 
	addF	offset 
	abs
	popf	value 
	pushf	thickness 
	cset	Oi 
	pushv	I 
	pushv	N 
	normalize
	faceforward
	diffuse
	mulFv	Kd 
	ambient
	mulFv	Ka 
	addcc
	pushc	Cs 
	mulFv	value 
	mulC	Os 
	mulcc
	popc	Ci 
	return