<CsoundSynthesizer>
<CsOptions>

-+Y

</CsOptions>
<CsInstruments>

;**** glDrawElements example

	sr = 100
	kr = 100
	ksmps = 1
	nchnls = 1

	GLfps	30,.5
	GLpanel	"OpenGL panel", 512, 512
	GLpanel_end
	FLrun

#include "OpenGL.h"

giSine	ftgen 1,0,128,10,  1

giArray1	ftgen 10,0,32,-2,  -325,0,0,   0,325,0,  325,0,0,  -175,-25,0,  0,-325,0,   175,-25,0
giArray2	ftgen 11,0,32,-2,  1.0,0.4,0.4,1,   0.4,0.4,1.0,1,  0.8,1.0,0.2,1,   0.75,0.75,1,1,       0.35,.5,0.35,1,  .6,0.8,0.8,1

giIndexs1	ftgen 12,0,32,-2,  0,1,2,3,4,5
giIndexs2	ftgen 13,0,32,-2,  0,3,5,2,4,1
giIndexs3	ftgen 14,0,32,-2,  0,1,4,3,2,1
giIndexs4	ftgen 15,0,32,-2,  5,2,1,3,2,4

;---> Start GL
	glEnableClientState	$GL_COLOR_ARRAY
	glEnableClientState	$GL_VERTEX_ARRAY
	glVertexPointer	0,0,giArray1
	glColorPointer	0,0,giArray2

GLinsert_i $GL_INIT

	glMatrixMode	$GL_PROJECTION
	glLoadIdentity
	gluPerspective	120,.1,100

	glMatrixMode	$GL_MODELVIEW 
	glLoadIdentity

	
	glClearColor	.5,.5,.5,1
GLinsert_i $GL_NOT_VALID

	glClear	$GL_COLOR_BUFFER_BIT + $GL_DEPTH_BUFFER_BIT 
GLinsert_i 1



;///////////////////////////////////////////////////
	instr	1
;///////////////////////////////////////////////////
k1	oscili	1,.02,giSine
k2	oscili	1,.012345,giSine

;---> Start GL
	glClearColor	(1+k1)/2,(1+k2)/2,.5,1

	glLoadIdentity
	glTranslate	0,0,-4
	
	glPushMatrix
		glScale  .015*k2,.015*k2,.015*k2
		glRotate  k1*360, 1,0,0
		glRotate  k1*360, 0,1,0
		glRotate  k1*360, 0,0,1
		glDrawElements	$GL_TRIANGLES, 6, giIndexs1+p4	
	glPopMatrix

GLinsert  1.1


	endin


</CsInstruments>
<CsScore>

i1 0 3600 0
i1 5 3600 1
i1 10 3600 2
i1 15 3600 3
i1 20 3600 0
i1 25 3600 1


</CsScore>
</CsoundSynthesizer>
