2D Plasma type thingi

BlitzPlus Forums/BlitzPlus Programming/2D Plasma type thingi

Pretty cool :)
a bit faster (but also slightly wrong).
; Plasma Test
;
;  Yavin
;
;  Teamrebellion.co.uk
;


Graphics 200,200,16,2
SetBuffer BackBuffer()
Cls


Global temp_image
temp_image=CreateImage(100,100)

Global counter%
counter=1

Dim lCos(360)
For looper=1 To 360
	lcos(looper)=Cos(looper)
Next



While Not KeyHit(1)
Cls
	draw_plasma()
	DrawImage temp_image,0,0
	Color 0,0,0
	Text 1,1,"C"+counter
Flip False

Wend

Function draw_plasma()
;LOCAL VARS
Local argb
Local NewBuffer = ImageBuffer(temp_image)

LockBuffer NewBuffer

	For looper=1 To 200
		For inner=1 To 200
			Local r%,g%,a,b,c
			
			a=-Cos(looper)*looper
			b=Cos(looper)*looper
			c=-Cos(looper)*looper
			
			a=a-Sin(inner)*inner
			b=b+Sin(inner)*inner
			c=c-Sin(inner)*inner
			
			a=a+counter
			b=b+counter
			c=c+counter
			
			;Color a,b,c
			;Plot looper,inner

			argb=(c Or (b Shl 8) Or (a Shl 16) Or ($ff000000))
			
			WritePixelFast looper,inner, argb, NewBuffer
			
		Next
	Next
	UnlockBuffer NewBuffer
	;SaveBuffer (BackBuffer(),"test.bmp")
	counter=counter+2:If counter=>1000 Then counter=0
	
End Function