<CsoundSynthesizer>
<CsOptions>

-+Y ;*** no audio

</CsOptions>
<CsInstruments>

	sr = 100
	kr = 100
	ksmps = 1
	nchnls = 1

	GLfps	30
	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
	giTex2	GLloadTexture "spirale.png", $PNG_ALPHA,$GL_REPEAT
	glTexGeni $GL_S, $GL_SPHERE_MAP
	glTexGeni $GL_T, $GL_SPHERE_MAP
		

	giTex1	GLloadTexture "square3.png", $PNG_ALPHA,$GL_REPEAT
	glTexGeni $GL_S, $GL_SPHERE_MAP
	glTexGeni $GL_T, $GL_SPHERE_MAP


          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
	glHint	$GL_POLYGON_SMOOTH_HINT, $GL_NICEST	
	glHint	$GL_PERSPECTIVE_CORRECTION_HINT, $GL_NICEST	

GLinsert_i $GL_INIT
	glMatrixMode	$GL_PROJECTION
	glLoadIdentity
	gluPerspective	140,.1,100

	glMatrixMode	$GL_MODELVIEW 
	glLoadIdentity

	glColor3	1,1,1
	glClearColor	0,0,0,1


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,.01,1,.75
k2	oscili	1,.13456,1
k3	oscili	1,.023215,1
;---> Start GL
	glLineWidth 3
	glLoadIdentity
	glTranslate	0,0,-2.5
	
	glPushMatrix
		glTranslate	0,0,-3
		glRotate		k3*360,1,1,0
		glRotate		k1*360,1,0,0
		glDisable		$GL_BLEND
		glBindTexture	giTex2
		glColor3		.3+k1,  .3+k1,  .3+k1
		gluCylinder	giQuadObj1, 8, 8, 12, 30, 10
	glPopMatrix

	glTranslate	0,0, 1

	glPushMatrix
		glBindTexture	giTex1
		glEnable		$GL_BLEND
		glRotate		k1*100,1,1,0
		glRotate		k2*100,0,0,1
		glTranslate         0,0,k3*2
		;glScale		k3*1.5+.2,1,1
		glColor3	1,1,1
		gluSphere		giQuadObj2, 2, 60,60
	glPopMatrix
GLinsert	1.1

	endin

</CsInstruments>
<CsScore>

i1 0 3600 1

e



</CsScore>
</CsoundSynthesizer>
