Post by PeterMaria on Jul 16, 2015 7:31:22 GMT -5
Hello,
particles with inverse gravity.
particles with inverse gravity.
Sub Gl2D(width,height)
glMatrixMode(GL_Projection)
glLoadIdentity()
glOrtho(0,width,height,0,-1,1)
glMatrixMode(GL_ModelView)
glDisable(GL_DEPTH_TEST)
End Sub
Sub SetPoint(x,y,size#)
glPointSize(size#)
glBegin(GL_POINTS)
glVertex2i(x,y)
glEnd()
End Sub
Function Rand(min,max)
Return rnd()% (max - min + 1) + min
End Function
Dim particle0#(1000)
Dim particle1#(1000)
Dim particle2#(1000)
Dim particle3#(1000)
Dim particle4#(1000)
Dim particle5#(1000)
Dim degree1#(360)
Dim degree2#(360)
dim mx, i, k, spa, r8, g8, b8
mx=1000
For i=0 to 359
degree1#(i)=sin(i)
degree2#(i)=cos(i)
Next
For i=0 to 999
particle4#(i)=0
Next
Gl2D(640,480)
glEnable(GL_POINT_SMOOTH)
While scanKeydown(27)=0
glClearColor(0,0,0,1)
glClear(GL_COLOR_BUFFER_BIT)
For k=0 to 5
spa = Rand(1,999)
if particle4#(spa) = 0 Then
particle0#(spa) = Mouse_x()*640-2
particle1#(spa) = Mouse_y()*480
particle2#(spa) = degree1#(Rand(0,359))/2
particle3#(spa) = degree2#(Rand(0,359))/2
particle4#(spa) = Rand(100,249)
particle5#(spa) = particle4#(spa/5)
end if
Next
For i=0 to 999
if particle4#(i) > 0 Then
particle0#(i) = particle0#(i) + particle2#(i)
particle1#(i) = particle1#(i) + particle3#(i)
particle3#(i) = particle3#(i) + Rand(1,10)/100
particle4#(i) = particle4#(i) -1
if particle1#(i) >479 Then
particle3#(i) = -particle3#(i)*(Rand(1,10)/20)
end if
end if
Next
For i=0 To mx-1
if particle4#(i) >0 Then
if particle4#(i) < particle5#(i) Then
r8=128 : g8=0 : b8=0
end if
if particle4#(i) > particle5#(i) Then
r8=255 : g8=0 : b8=0
end if
if particle4#(i) > particle5#(i)*2 Then
r8=255 : g8=128 : b8=0
end if
if particle4#(i) > particle5#(i)*3 Then
r8=255 : g8=255 : b8=0
end if
if particle4#(i) > particle5#(i)*4 Then
r8=255 : g8=255 : b8=255
end if
glColor3ub(r8,g8,b8)
SetPoint(particle0#(i),particle1#(i),6)
end if
Next
swapbuffers()
waittimer(10)
wend