<CsoundSynthesizer>
<CsOptions>

-+Y    -t0   ;*** no audio

</CsOptions>
<CsInstruments>
#include "OpenGL.h"

$glHEADER

gi1	ftgen	1,0,256,19,1,1,0,1
gi10	ftgen	10,0,256,10,1


ginumX = 40
ginumY = 40
giElem = (ginumX+1)*(ginumY+1)

gioutTAB	ftgen	10,0,2048,2,1

$glSURFACE_3D(2' giFunc2'   sin(ix^2 /100)+ cos(iy^2/50)'    ginumX' 0' 30'     ginumY' 0' 10)

$glSURFACE_3D(1' giFunc'   sin(ix^2 /100)+ cos(iy^2/50)'    ginumX' -8' 40'     ginumY' -8' 40)

	$glFPS(40)
	$glPANEL(512' 512)

	giTex1	GLloadTexture "envmap2.png", $PNG_ALPHA,$GL_REPEAT

;	glShadeModel	$GL_FLAT
	glEnable		$GL_DEPTH_TEST	
	glEnable		$GL_CULL_FACE	
	glFrontFace	$GL_CCW	

	$glSPHERE_MAP
	$glLIGHTING

	glColor3		.8,.8,1
	glClearColor	0,0,0,1

GLinsert_i $GL_INIT

	$glPERSPECTIVE(30)

	glBindTexture	giTex1
GLinsert_i $GL_NOT_VALID

	glClear	$GL_COLOR_BUFFER_BIT + $GL_DEPTH_BUFFER_BIT 
GLinsert_i 1



;///////////////////////////////////////////////////
	instr	1
;///////////////////////////////////////////////////

t1	GLoscili	1,  giFPS/.08, gi1,.75
t2	GLoscili	1,  giFPS/.053456, gi1
t3	GLoscili	1,  giFPS/.012, gi1
t3b	GLoscili	.25,giFPS/.13215, gi1, .25
t4	GLoscili	1,  giFPS/.083215, gi1, .25

;	GLvphaseseg 	kphase, ioutab, ielem,   itab1,idist1,itab2 [,idist2,itab3,...,idistN-1,itabN] 
	GLvphaseseg 	t4, gioutTAB, giElem,   giFunc, 1 ,giFunc2,1,giFunc,2, giFunc2


	glLoadIdentity
	glTranslate	0,0,-3

	glPushMatrix
	glScale		1.2,1.2,1.2
	glRotate		t1*20+20,0,1,0
	glRotate		t2*20-20,1,0,0
	glRotate		t3*180,0,0,1

	GLhf	$GL_TRIANGLE_STRIP, t3b, ginumX,ginumY,2,gioutTAB
	glPopMatrix

GLinsert	1.1
	
	endin

</CsInstruments>
<CsScore>

f1 0 1024 10 1
i1 0 3600 

</CsScore>
</CsoundSynthesizer>
