<CsoundSynthesizer>
<CsOptions>

-+P

</CsOptions>
<CsInstruments>

	sr = 44100
	kr = 441
	ksmps = 100
	nchnls = 1

	GLfps	30 


	GLpanel	"OpenGL panel", 800, 250
	GLpanel_end
	FLrun

#include "OpenGL.h"

gi1	ftgen	1,0,256,19,1,1,0,1
gi2	ftgen	2,0,2048,10,1,0,0,0,.3,0,0,0,0,0,.1,0,0,0,0,0,0,0,.1,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.1
gi3	ftgen	3,0,1024,10,1

	glMatrixMode	$GL_PROJECTION
	glLoadIdentity
	gluPerspective	80,.1,100
	glMatrixMode	$GL_MODELVIEW 
	glLoadIdentity
	glClearColor	0,0,0,1
	glEnable	$GL_LIGHTING
	glEnable	$GL_LIGHT0

	glEnable	$GL_DEPTH_TEST
	glEnable	$GL_COLOR_MATERIAL


GLinsert_i $GL_INIT
	glMatrixMode	$GL_PROJECTION
	glLoadIdentity
	gluPerspective	80,.1,100
	glMatrixMode	$GL_MODELVIEW 
	glLoadIdentity

GLinsert_i $GL_NOT_VALID
	glClear	$GL_COLOR_BUFFER_BIT + $GL_DEPTH_BUFFER_BIT 

GLinsert_i 1


;///////////////////////////////////////////////////
	instr	1
;///////////////////////////////////////////////////


k1	oscili	1,.05,1,.75
k2	oscili	1,.023456,1
k3	oscili	1,.043215,1
	glLineWidth t(k2)*2 +1
	glLoadIdentity
GLinsert	1.02

	glRotate	t(k2)*360,0,0,1
tj	GLfor	 0, 1, 1/4
		glPushMatrix
		glTranslate	(tj-.2)*10,0,0
		glScale		tj,1,1
	tk	GLfor	0,2,1/4
			glPushMatrix
			glRotate t(k2)*180,1,0,0
			glScale	tk, tk, tk
			glColor	tj*.5+t(k1), t(k2)+(1-tj)*.5, (1-tk)*.5+t(k3), 0
			glutCube	sin((tk + t(k1)) * 4)*2, 0
			glPopMatrix
		GLend_for
		glPopMatrix
	GLend_for
GLinsert	1.1

	endin

;//////////////////////////////////////////////
	instr	2
;//////////////////////////////////////////////
k1	oscili	7,.03,gi3
k2	oscili	1,.07,gi3,.25
	gluLookAt 0,t(k1),-1,    t(k2),0,0,     0, 1,0

GLinsert	1.05

a1	oscili	10000,440,1
	out 	a1

	

	endin




</CsInstruments>
<CsScore>


i2 1 3600
i1 1.1 3600 1
i1 6.123 10 1.505
i1 11.321 10 [1.5 * (2^(1/12))]
i1 21.321 10 [1.5 * (2^(1/12))]
i1 13.321 3600 [(2^(1/12))]


</CsScore>
</CsoundSynthesizer>
