EPS Particle System ??

Blitz3D Forums/Blitz3D Programming/EPS Particle System ??

Hi !

You have the source code of the GUI, it's a very big exemple :-)


Include "EPS_V2.bb"


Graphics3D 800,600,32,2
SetBuffer BackBuffer()

Global Time_Passed#
Global Old_Time
Global fps
Global frames
Global Render_Time

light=CreateLight()
pivot = CreatePivot()

Camera = CreateCamera()
PositionEntity Camera,0,5,10
PointEntity Camera,pivot



; REplace by your texture parameters
Handle_Texture = LoadAnimTexture( "fire3.bmp",2,64,64,0,1 )


; Initialisation de l'emetteur
gE_IdEmitter = EPS_Init_Emitter(202.0,-0.5,6.7,0.0,180.0, pivot ,0.0,0.0,0.0, Camera ,2,1,1,1,0.0)

; Particle init
EPS_Init_Particule(gE_IdEmitter ,1.0,0.0,50.0,0.0,handle_texture,1,1.0,3,1,1.0,0.0,0.0,1.0,0.0,0.0,0,0)
EPS_Init_ParticuleColor( gE_IdEmitter,200.0,0.0,0.0,0.0,0.0,0.0,213.0,255.0,17.0)

; optional fonction
EPS_Init_ParticuleRotation( gE_IdEmitter,0.0,0.0,0.0,0.0,0.0,0.0)
EPS_Init_EmitterWind( gE_IdEmitter ,0.0,0.0,0.0 )

Old_Time=MilliSecs()

While Not KeyHit(1)

Time_Machine()



EPS_Update( Time_Passed# )

RenderWorld()

Text 10,10,"FPS : " + FPS
Flip()

Wend

Function Time_Machine()

; Calcul du temps ecoule entre 2 boucles
Time_Passed# = MilliSecs() - Old_Time
Time_Passed# = Time_Passed# / 1000
Old_Time=MilliSecs()

; Calcul du FPS
Frames=Frames+1
If MilliSecs()-Render_Time=>1000 Then Fps=Frames : Frames=0 : Render_Time=MilliSecs()

End Function