<CsoundSynthesizer>
<CsOptions>

-+Y ;*** no audio

</CsOptions>
<CsInstruments>

sr      =       100
kr      =       100
ksmps   =       1
nchnls  =       1



gi1	ftgen	1,0,256,19,1,1,0,1
gi10	ftgen	10,0,256,10,1
ginumX 	= 	50
ginumY 	= 	50
incrX	=	8/ginumX
incrY	=	8/ginumY

giFunc	ftgen	20,0,-((ginumX+1) * (ginumY+1)),-2, 0

iindex	=	0
ix	=	-4	
ij	=	0

do1:
	iy = -4
	ik = 0
	
	do2:
		tabw_i	ix^3+iy^3, iindex,giFunc	
		iy = iy+incrY
		ik = ik+1
		iindex = iindex+1
	if ik < ginumY igoto do2	
	ix = ix+incrX
	ij = ij+1

if ij <= ginumX igoto do1 ;*** generate an additional column with respect of row number

print ij
	GLfps	24, .5
	GLpanel	"OpenGL panel", 800, 512
	GLpanel_end
	FLrun

#include "OpenGL.h"

;	giTex1	GLloadTexture "phong.png", $PNG_ALPHA,$GL_REPEAT
	giTex1	GLloadTexture "phong.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

;	glLightv  $GL_LIGHT0, $GL_AMBIENT, 1, 1, 1, 1
	glLightv  $GL_LIGHT0, $GL_DIFFUSE, 1, 1, 1, 1
	glLightv  $GL_LIGHT0, $GL_POSITION, 0, 0, -1, 1

	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


GLinsert_i $GL_INIT

	glMatrixMode	$GL_PROJECTION 
	glLoadIdentity
	gluPerspective	30,.1,10
	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,.04,1,.75
k2	oscili	1,.023456,1
k3	oscili	1,.025,1
k3b	oscili	2,.013215,1,.75

	glLoadIdentity
	glTranslate	0,0,-4

	glPushMatrix
	glScale		2,2,2
	glRotate		k1*30,1,1,0
	glRotate		k2*30,1,0,0
	glRotate		k2*360,0,0,1

;	GLtexHF		$GL_TRIANGLE_STRIP, k3*.3, ginumX,ginumY,giFunc
	GLhf	$GL_TRIANGLE_STRIP, k3*k3b, ginumX,ginumY,2,giFunc
	glPopMatrix

GLinsert	1.1
	
	endin



</CsInstruments>
<CsScore>

f1 0 1024 10 1
i1 0 3600 

</CsScore>
</CsoundSynthesizer>
