Pretty cool :)
a bit faster (but also slightly wrong).
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