<CsoundSynthesizer>
<CsOptions>

-+Y ;*** no audio

</CsOptions>
<CsInstruments>

	sr = 100
	kr = 100
	ksmps = 1
	nchnls = 1

	GLfps	40
	GLpanel	"OpenGL panel", 512, 512
	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


;	GLfullscreen	1

;---> Start GL
	giTex1	 GLloadTexture "spirale.png", $PNG_ALPHA,$GL_REPEAT
	glTexGeni  $GL_S, $GL_EYE_LINEAR
	glTexGenfv $GL_S, $GL_EYE_PLANE,  .5, .5, 1.0, 0.0
	glTexGeni  $GL_T, $GL_EYE_LINEAR
	glTexGenfv $GL_T, $GL_EYE_PLANE,  0, -.5, 0.0, 0.0
		

	giTex2	 GLloadTexture "square3.png", $PNG_ALPHA,$GL_REPEAT
	glTexGeni  $GL_S, $GL_EYE_LINEAR
	glTexGenfv $GL_S, $GL_EYE_PLANE,  .5, .5, 1.0, 0.0
	glTexGeni  $GL_T, $GL_EYE_LINEAR
	glTexGenfv $GL_T, $GL_EYE_PLANE,  0, -.5, 0.0, 0.0

          glEnable	$GL_TEXTURE_GEN_S
          glEnable	$GL_TEXTURE_GEN_T

giQuadObj1 gluNewQuadric 
giQuadObj2 gluNewQuadric

	gluQuadricDrawStyle giQuadObj1, $GLU_FILL
	gluQuadricDrawStyle giQuadObj2, $GLU_FILL

	glEnable	$GL_BLEND
	glEnable	$GL_TEXTURE_2D

	glBlendFunc	$GL_SRC_ALPHA, $GL_ONE_MINUS_SRC_ALPHA
GLinsert_i $GL_INIT

	glMatrixMode	$GL_PROJECTION
	glLoadIdentity
	gluPerspective	140,.1,100

	glMatrixMode	$GL_MODELVIEW 
	glLoadIdentity

	glColor	1,1,1,1
	glClearColor	0,0,0,1
;	gluQuadricNormals giQuadObj1, $GLU_FLAT
	
GLinsert_i $GL_NOT_VALID
	glClear	$GL_COLOR_BUFFER_BIT | $GL_DEPTH_BUFFER_BIT 
GLinsert_i 1


;///////////////////////////////////////////////////
	instr	1
;///////////////////////////////////////////////////

iw	=	5
ih	=	5

k1	oscili	1,.16,1,.75
k2	oscili	1,.013456,1
k3	oscili	1,.143215,1
;---> Start GL
	glLineWidth 3
	glLoadIdentity
	glTranslate	0,0,-2.2
	
	glPushMatrix
		;glScale		20,20,20
		glTranslate	0,0,-3
		;glRotate		k3*360,1,1,0
		glRotate		k2*-360,0,0,1
		glDisable	$GL_BLEND
		glBindTexture	giTex2
		glTexGenfv $GL_S, $GL_EYE_PLANE,  .5+ k2*.5, 0, .01+.5*k1, 0.0
		glTexGenfv $GL_T, $GL_EYE_PLANE,  0, -.5+k2*.5,  .01+.5*k2, 0.0

;		glTexGenfv $GL_S, $GL_EYE_PLANE,  .2, 0, .2, 0.0
;		glTexGenfv $GL_T, $GL_EYE_PLANE,  0, .2, .2, 0.0
		gluCylinder	giQuadObj1, 12, 8, 12, 30, 10
			
	glPopMatrix



	glPushMatrix
		
		glRotate		k2*360,1,1,0
		;glRotate		k2*360,1,0,0
		;glScale		k3*1.5+.2,1,1
		glEnable	$GL_BLEND
		glBindTexture	giTex1
		glTexGenfv $GL_S, $GL_EYE_PLANE,  k1, 0, 0, 0.0
		glTexGenfv $GL_T, $GL_EYE_PLANE,  0, -k3, 0.0, 0.0

		gluSphere		giQuadObj2, 2, 40,40
	
	;glutSphere	2,15,15,1
	glPopMatrix
GLinsert	1.1


	endin



</CsInstruments>
<CsScore>

i1 0 3600 1


</CsScore>
</CsoundSynthesizer>
