here is something i did with advanced 2d. I think set blend mode is the best command ever.
w = desktop width() : h = desktop height()
set display mode w,h,32
sync on
cls
for i = 1 to 1000
sync
cls
next
_start:
start = timer()
a2SetBlendMode 2, 2, 1
cls
a2starttrianglebatch 9000
for i = 1 to 3000
a2fillcircle rnd(w),rnd(h),rnd(100),rgb(0,1,2)
next
for i = 1 to 2000
a2fillcircle abs(sin(i)*w)-rnd(300),abs(cos(i)*h)-rnd(500),rnd(100),rgb(0,1,2)
next
for i = 1 to 1000
a2fillcircle abs(sin(i)*w)-rnd(100)-100,abs(cos(i)*h)-rnd(100)-150,rnd(100),rgb(0,1,2)
next
a2SetBlendMode 2, 2, 3
for i = 1 to 3000
a2fillcircle rnd(w),rnd(h),rnd(30),rgb(0,0,3)
next
a2SetBlendMode 2, 2, 1
a2endbatch
a2startlinebatch 1000
for i = 1 to 80
x = abs(sin(i)*w)-rnd(300) : y = abs(cos(i)*h)-rnd(400)
r = rnd(3)+3 : g = rnd(3)+3 : b = rnd(10)+10
s = rnd(rnd(rnd(sqrt(x))))+2
if# = s*15
for ii = 1 to s
a2circle x,y,ii/2.0,rgb(r,g,b)
next
for ii = 1 to s*15
iv# = ii/if#*5
a2circle x,y,ii/2.0,rgb(r/iv#,g/iv#,b/iv#)
next
for ii = 1 to s*5
iv# = ii/if#*5
a2circle x,y,ii/2.0,rgb(r/iv#,g/iv#,b/iv#)
next
next
for i = 1 to 300
x = rnd(w) : y = rnd(h)
r = rnd(3)+3 : g = rnd(3)+3 : b = rnd(10)+10
s = rnd(rnd(rnd(sqrt(x/60.0))))+1
if# = s*15
for ii = 1 to s
a2circle x,y,ii/2.0,rgb(r,g,b)
next
for ii = 1 to s*15
iv# = ii/if#*5
a2circle x,y,ii/2.0,rgb(r/iv#,g/iv#,b/iv#)
next
next
a2endbatch
a2setblendmode 2,2,3
a2fillbox 0,0,w,h,rgb(10,10,3*10),rgb(0,0,0),rgb(10,10,3*10),rgb(20,20,3*30)
a2setblendmode 1,1,1
do
rem if spacekey() then nice wait 3000
fastsync
finnish = timer()
time = finnish-start
a2fillbox 0,0,100,20,rgb(0,0,0)
text 0,0," TIME "+str$(time)+" milliseconds"
fastsync
goto _start:
loop
the res is 1680,1050
looks way better in fullscreen.
my comp does that in 700 ms
'thanks Diggsey for wonderfull plugin