<CsoundSynthesizer>
<CsOptions>

-+P

</CsOptions>
<CsInstruments>

	sr = 44100
	kr = 441
	ksmps = 100
	nchnls = 1

	GLfps	30,.5


	GLpanel	"OpenGL panel", 800, 400
	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	120,.1,100
	glMatrixMode	$GL_MODELVIEW 
	glLoadIdentity
	glClearColor	0,0,0,1
	glEnable	$GL_LIGHTING
	glEnable	$GL_LIGHT0

	glEnable	$GL_COLOR_MATERIAL
	giTex1	GLloadTexture "hex24h.png", $PNG_ALPHA,$GL_REPEAT
	giTex2	GLloadTexture "cross.png", $PNG_ALPHA,$GL_REPEAT

	glEnable	$GL_TEXTURE_2D
	glEnable	$GL_BLEND
	glBlendFunc	$GL_SRC_ALPHA, $GL_ONE_MINUS_SRC_ALPHA

	GLratio	1
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
GLwaitInitStage

;///////////////////////////////////////////////////
	instr	1
;///////////////////////////////////////////////////

k1	oscili	1, .05,1,.75
k2	oscili	1, .023456,1
k3	oscili	1, .043215,1

	glMatrixMode	$GL_MODELVIEW 
	glLoadIdentity
GLinsert	1.02

	glRotate	t(k2)*360,0,0,1
if (p4 == 0) goto then
	iTex = giTex1
	goto endif
then:
	iTex = giTex2
endif:

tj	GLfor	0, 1, 1/3
		glPushMatrix
		glTranslate	(tj -.2)*10 ,0,0
	tk	GLfor	0,1,1/2
			glPushMatrix
			glScale		tj*2,t(k1)*2+.5,tj*2
			glColor		(tj+t(k1))*.5,((1-tj)+t(k2))*.5,(tk+1-t(k1))*.5,1
			glBindTexture 	iTex
			GLtexCube		sin((tk+t(k1))*4),  0,0, 1,0, 1,1, 0,1
			glPopMatrix
		GLend_for
		glPopMatrix
	GLend_for

GLinsert	1.1
	endin



;//////////////////////////////////////////////
	instr	2
;//////////////////////////////////////////////
k1	oscili	7,.03,gi3
k2	oscili	.2,.07,gi3,.25
	gluLookAt 0,t(k1),-1,    0,t(k2),0,     0, 1,0

GLinsert	1.05



a1	oscili	10000,440,1
	out	a1

	endin




</CsInstruments>
<CsScore>

i2 0 3600  
i1 .1 3600  0
i1 5.321 3600 1
i1 10.171  3600 0


</CsScore>
</CsoundSynthesizer>
