<CsoundSynthesizer>
<CsOptions>

-+Y

</CsOptions>
<CsInstruments>

sr      =       100
kr      =       100
ksmps   =       1
nchnls  =       1





ginpoint	=	6

	GLfps	24, .5
	GLpanel	"OpenGL panel", 512, 512
	GLpanel_end
	FLrun

#include "OpenGL.h"

gi1	ftgen	1,0,256,19,1,1,0,1
gi10	ftgen	10,0,256,10,1
giCOL	ftgen	21,0,256,-2,   0,0,0,   0,.8,.3,  .8,.3,0,   .2,.3,.9,  .2,.8,.5,  0,0,0

giPNT1	ftgen	20,0,-ginpoint*3,-2,   -6,6,0,  6,6,0,    6,-6,0,    -6,-6,0,   -6,6,0,    6,6,0
giPNT2	ftgen	23,0,-ginpoint*3,-2,   24,0,0, 16,0,0,   6,0,0,    -6,0,0,   -16,0,0,    -24,0,0
giPNT	ftgen	24,0,-ginpoint*3,-2,   0


giJOIN	ftgen	22,0,16, -2,	$TUBE_NORM_EDGE + $TUBE_JN_ROUND + $TUBE_JN_CAP,\
				$TUBE_NORM_EDGE + $TUBE_JN_ANGLE + $TUBE_JN_CAP,\
				$TUBE_NORM_EDGE + $TUBE_JN_CUT   + $TUBE_JN_CAP,\
				$TUBE_NORM_EDGE + $TUBE_JN_RAW   + $TUBE_JN_CAP


/*
	giTex1	GLloadTexture "fractal12circle.png", $PNG_ALPHA,$GL_REPEAT
	glTexGeni $GL_S, $GL_SPHERE_MAP
	glTexGeni $GL_T, $GL_SPHERE_MAP

	glShadeModel $GL_FLAT

          glEnable	$GL_TEXTURE_GEN_S
          glEnable	$GL_TEXTURE_GEN_T
	glEnable	$GL_TEXTURE_2D

*/
	glEnable	$GL_DEPTH_TEST	
	glEnable	$GL_CULL_FACE	
	glEnable	$GL_LIGHTING
	glEnable	$GL_LIGHT0
	glEnable	$GL_COLOR_MATERIAL
	glEnable	$GL_NORMALIZE

	glFrontFace $GL_CCW	
	glMaterial $GL_SPECULAR, .8,.8,.8,1
	GLshininess 50
;	glShadeModel $GL_FLAT
	glColor3	.8,.8,1

	gleSetJoinStyle	$TUBE_NORM_EDGE + $TUBE_JN_ROUND + $TUBE_JN_CAP

GLinsert_i $GL_INIT

	glMatrixMode	$GL_PROJECTION 
	glLoadIdentity
	gluPerspective	60,.1,200
	glMatrixMode	$GL_MODELVIEW 
	glLoadIdentity
	glClearColor	0,0,0,1
;	glBindTexture	giTex1
GLinsert_i $GL_NOT_VALID
	glClear	$GL_COLOR_BUFFER_BIT + $GL_DEPTH_BUFFER_BIT 

GLinsert_i 1



;///////////////////////////////////////////////////
	instr	1
;///////////////////////////////////////////////////


k1	oscili	1,.012,1,.75
k2	oscili	1,.0113456,1
k3	oscili	1,.0105,1
k3b	oscili	4.5,.043215,1,.25
k4	oscili	1,.4,1
kph	phasor	.01
kJoin	tab	kph*3.99 , giJOIN 
	gleSetJoinStyle	kJoin 


;	GLvphaseseg kphase, ioutab, ielem,   itab1,idist1,itab2 [,idist2,itab3,...,idistN-1,itabN] 
	GLvphaseseg k4,     giPNT, ginpoint*3, giPNT1,1,giPNT2

	gleSetNumSides	4 + kph * 20

	glLoadIdentity
	glTranslate	0,0,-30

	glPushMatrix
	;glScale		2,2,2
	glRotate		k1*360,0,1,0
	glRotate		k2*360,1,0,0
	glRotate		k3*360,0,0,1

	glePolyCylinder	ginpoint, giPNT, giCOL, k3b+.3
	;glePolyCylinder	ginpoint, giPNT, 0, k3b+.3
	glPopMatrix

GLinsert	1.1
	
	endin



</CsInstruments>
<CsScore>

i1 0 3600 

</CsScore>
</CsoundSynthesizer>
