BASIC

Author Topic: APE - A 3d particle engine for GLBasic.  (Read 24214 times)

Offline Hemlos

  • To boldy go where no pixel has gone before!
  • Global Moderator
  • Prof. Inline
  • *******
  • Posts: 1634
  • Particle Hawk
    • View Profile
Re: APE - A 3d particle engine for GLBasic.
« Reply #15 on: 2012-Dec-11 »
I just noticed, the load time went from about a minute on my comp...to ...0 seconds with the new version.

kano you might be surprised...

here the new demo

[attachment deleted by admin]
Volume_of_Earth(km^3) = 4/3*3.14*POW(6371.392896,3)

Offline kanonet

  • Administrator
  • Prof. Inline
  • *******
  • Posts: 1142
    • View Profile
    • My GLBasic code archiv
Re: APE - A 3d particle engine for GLBasic.
« Reply #16 on: 2012-Dec-11 »
Yeah this one is fast. But i think you need to have a look in alpha again, at least for that smoke particles. See Screenshot.

[attachment deleted by admin]
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

Offline Hemlos

  • To boldy go where no pixel has gone before!
  • Global Moderator
  • Prof. Inline
  • *******
  • Posts: 1634
  • Particle Hawk
    • View Profile
Re: APE - A 3d particle engine for GLBasic.
« Reply #17 on: 2012-Dec-11 »
Yeah this one is fast. But i think you need to have a look in alpha again, at least for that smoke particles. See Screenshot.

As expected i think.
the smoke = 10k particles, and the fire = 10k
zfighting is happening, and the ALPHAMODE's are clobbering each other.
This becomes very noticable with huge amounts of particles overlapping each other, especially spread over large areas of the underlying 3d world..

Im not really sure if theres a way to fix this, though it would be nice it if there was a way without losing efficiency.


Volume_of_Earth(km^3) = 4/3*3.14*POW(6371.392896,3)

Offline mentalthink

  • Prof. Inline
  • *****
  • Posts: 3366
  • Integrated Brain
    • View Profile
Re: APE - A 3d particle engine for GLBasic.
« Reply #18 on: 2012-Dec-11 »
Hi for me the demo runs at 26 Fps under paralels7...

Nice Job!!!
 

Offline Marmor

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 908
  • 96A285CC
    • View Profile
    • my youtube channel
Re: APE - A 3d particle engine for GLBasic.
« Reply #19 on: 2012-Dec-11 »
30 fps , no crash !

Offline erico

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 4205
    • View Profile
    • Portfolio
Re: APE - A 3d particle engine for GLBasic.
« Reply #20 on: 2012-Dec-11 »
60fps  and no ´esc´ crash.

haven´t tried without sync to see how fast it reaches, let me know if you need that info as feedback.

going good!

Offline Hemlos

  • To boldy go where no pixel has gone before!
  • Global Moderator
  • Prof. Inline
  • *******
  • Posts: 1634
  • Particle Hawk
    • View Profile
Re: APE - A 3d particle engine for GLBasic.
« Reply #21 on: 2012-Dec-11 »
Excellent, all good news, thanks guys!

A few more things need to get moved over.

The biggest flaw i can see is the alphamode issue, im not even sure how to approach this, anyone have suggestions?

Volume_of_Earth(km^3) = 4/3*3.14*POW(6371.392896,3)

Offline mentalthink

  • Prof. Inline
  • *****
  • Posts: 3366
  • Integrated Brain
    • View Profile
Re: APE - A 3d particle engine for GLBasic.
« Reply #22 on: 2012-Dec-11 »
Hemlos for changing the Alphamode I think you have to make some calls to OpenGl directly...
When you use alpha mode from GLbasic, only it's opaque and transparent, don't have interpolation...

Another thing, perhaps works, it's put in the planes textures from Black to White, and using Alphamode... perhaps changing the real color of the particles the interpolation works... Perhaps this don't makes nothing...

Offline kanonet

  • Administrator
  • Prof. Inline
  • *******
  • Posts: 1142
    • View Profile
    • My GLBasic code archiv
Re: APE - A 3d particle engine for GLBasic.
« Reply #23 on: 2012-Dec-12 »
Maybe try to avoid GLB ALPHAMODE at all and pack all alpha info into the texture? Just an idea, i havent tried it.
Lenovo Thinkpad T430u: Intel i5-3317U, 8GB DDR3, NVidia GeForce 620M, Micron RealSSD C400 @Win7 x64

Offline Hemlos

  • To boldy go where no pixel has gone before!
  • Global Moderator
  • Prof. Inline
  • *******
  • Posts: 1634
  • Particle Hawk
    • View Profile
Re: APE - A 3d particle engine for GLBasic.
« Reply #24 on: 2012-Dec-12 »
ALHAMODE 0 forces off alpha in an image.

Volume_of_Earth(km^3) = 4/3*3.14*POW(6371.392896,3)

Offline fuzzy70

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 828
  • Look left, Look right, LOOK OUT!!
    • View Profile
Re: APE - A 3d particle engine for GLBasic.
« Reply #25 on: 2012-Dec-12 »
55 fps & no crash with v3.

 :offtopic:
Btw is there anyway you can add the date/time to your site in the downloads area, just makes it easier for me to keep track of when your SVS_Modules has been updated  :good:

Lee
"Why don't you just make ten louder and make ten be the top number and make that a little louder?"
- "These go to eleven."

This Is Spinal Tap (1984)

Offline Hemlos

  • To boldy go where no pixel has gone before!
  • Global Moderator
  • Prof. Inline
  • *******
  • Posts: 1634
  • Particle Hawk
    • View Profile
Re: APE - A 3d particle engine for GLBasic.
« Reply #26 on: 2012-Dec-12 »
Btw is there anyway you can add the date/time to your site in the downloads area, just makes it easier for me to keep track of when your SVS_Modules has been updated  :good:

Lee

Thanks for the continued feedback Lee.

About the SVS modules:
The version i post on my website is the date.
eg.  1.121212 would mean: Version 1, 2012 december 12 was the last update.
Glad someone finds them as useful as me  :booze:
Volume_of_Earth(km^3) = 4/3*3.14*POW(6371.392896,3)

Offline fuzzy70

  • Community Developer
  • Prof. Inline
  • ******
  • Posts: 828
  • Look left, Look right, LOOK OUT!!
    • View Profile
Re: APE - A 3d particle engine for GLBasic.
« Reply #27 on: 2012-Dec-12 »
I would have tested V3 earlier but sometimes when I click on unread posts from last visit it doesn't show all off them  :S, especially when i'm using tapatalk on my mobile.


I deliberately picked a laptop with AMD cpu & Radeon GFX as my desktop has Intel cpu & NVIDIA GFX so it allows me to test the 2 main platforms & any differences. There is not a lot of difference most of the time but that wasn't the case back when I was coding in Blitz3D as some programs that would MAV on the Nvidia gfx worked flawless on the ATI.
 
Feel like a noob now not noticing the date in the filename  :-[, The SVS Modules I find awesome from the point of view in what they do & how they are coded, also using the Spell Checker as well.

Keep up the good work mate  :booze:

Lee
"Why don't you just make ten louder and make ten be the top number and make that a little louder?"
- "These go to eleven."

This Is Spinal Tap (1984)

Offline Hemlos

  • To boldy go where no pixel has gone before!
  • Global Moderator
  • Prof. Inline
  • *******
  • Posts: 1634
  • Particle Hawk
    • View Profile
Re: APE - A 3d particle engine for GLBasic.
« Reply #28 on: 2012-Dec-13 »
Whew! Reimplementing gravity into V3 was a real challenge.
I got gravity and all vectoring to calculate all objects(particles) precisely the same regardless of frame rate.
In the end, the vectoring algorithm remains super efficent and small O(n)

On to the blackholes and explosions! Explosions will be unique in this version, it will be something you define at the beginning of a program, just like any other typical emitter(billboards, cylinders, objects, explosions)




Volume_of_Earth(km^3) = 4/3*3.14*POW(6371.392896,3)

Offline Hemlos

  • To boldy go where no pixel has gone before!
  • Global Moderator
  • Prof. Inline
  • *******
  • Posts: 1634
  • Particle Hawk
    • View Profile
Re: APE - A 3d particle engine for GLBasic.
« Reply #29 on: 2012-Dec-13 »
Ok here is the next test sequence..
This is the first test of the explosion emitters.
It is a simple explosion with no outward vectoring..only random movement here.
A triple explosion emitter effect. fire smoke sparks.
Explosions will be triggered with a call to the lib, but its up to the programmer to design the triggering mechanism.
The explosion in this test has a not-so-great coded trigger...this is on purpose, for testing.

The test:
Use this jpg screenshot to compare to what is on your screen.
The arrows should -almost- be touching the fire.
Use left-control button to trigger an explosion.

Test is attached here:
http://www.glbasic.com/forum/index.php?action=dlattach;topic=8790.0;attach=5553

[attachment deleted by admin]
« Last Edit: 2012-Dec-13 by Hemlos »
Volume_of_Earth(km^3) = 4/3*3.14*POW(6371.392896,3)