| SPARK2 Dark Basic Professional Wrapper | |
|
|
|
Author | Message |
---|
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: SPARK2 Dark Basic Professional Wrapper Tue May 31, 2011 8:29 pm | |
| Version 1.2 Released
Fixes : MAJOR bug fix : Spark is added to DPRo rendering sequence , so now it is compatible with ghosted objects , fullscreen shaders , Fog , etc...WRAPPER : - fixed issue with multiple cameras and render surfaces- implemeted the rendering to DBPro rendering sequence- The above implementation fixes the issue with ghosted objects and fullscreen shaders- Some internal fixes in Renderers - new modifiers added : - Random tank modifier - Random force modifier - Emitter attacher modifier - major optimisation in the update/render calls - fix for SP SCALE SYSTEM now works with instanced objects too - Image id's used by loaded systems now can be retreived - Added SP GLUE LIGHT TO SYSTEM command , which glues a DBpro light to a system - New improved Save formats : *.xml and *.spk (binary)- Basic Collision Detection added - adding particles dynamically (no emitters) are also implemented - more control over the particles , now each particle can be scaled separately - various new colouring commands - Particles now can be set to immortal ! (Fast billboards and light halos !!!) - Particles with animated texture are supported(see demo 12)- enable/disable looping for Graph interpolators - Internal rework of the engine: - Removed the SP SET SYSTEM POSITION , SP SET GROUP POSITION etc commands , and added Global commands instead , which can be called on all Spark objects - Global commands: (Can be used on ALL Spark Elements: Systems,Groups,Renderers,etc...) SP SET POSITION (sets the world pos of a Spark Element) SP ROTATE (rotates the Spark Element) - SP SET NAME / SP GET NAME (sets/gets the name of a Spark element) - Added SP FIND BY NAME commands which returns the id (pointer) of a Spark Element by a given name - External Features : - The wrapper is not limited for DBpro only . Can be used with any BASIC compiler which supports pointers and DX9 (NOTE: DBPro specific commands won't work !!)DEMOS : - Some changes in existing demos and 10 new demos added !!OPTIONAL : - renamed the dll to SparkWrapper.dll - renamed keywords to SparkWrapper12.ini (future versions will use separate ini files e.g SparkWrapper121.ini) - Some internal clean up... DOCUMENTATION : - A brand new help system for the wrapper ! (available in .chm too !) COMING SOON : Particle Pack ! More than 15 Game ready particle effects for developers who don't want to waste time "coding" particles systems.The pack contains : rain , explosions , bullet hits , smoke , fire Simply Load the system you need with one command and thats all ! No programming needed !! NOTE : The help system is very rough at the moment , lots of commands aren't documented yet.I'm REALLY SORRY about the typos and faults of spelling in the help files (i never thought that writing the documentation would cause so much trouble... !!But thats it , my english is bad and i can't do nothing about it...) DOWNLOAD LATEST VERSION:DOWNLOAD SPARK WRAPPER 1.2older versions : DOWNLOAD SPARK WRAPPER 1.0DOWNLOAD SPARK WRAPPER 1.1
Last edited by Charlie on Tue Nov 22, 2011 3:27 pm; edited 10 times in total | |
|
| |
Darktib Committer
Messages : 389 Date d'inscription : 2009-07-20 Localisation : A coté de Paris
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Wed Jun 01, 2011 1:44 pm | |
| This wrapper seems really good!
On the video, the rain is not taht much visible, but the rest is fine.
Just a small question: why did you decide to prefix commands with SP and not SPARK ?
Keep the good work! ~Darktib | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Hi Wed Jun 01, 2011 8:09 pm | |
| Hi Darktib ! Thanks for the response !Yes the rain is not visible (don't know what happened maybe Youtube's flv compression ), then i tried it on megavideo but it's almost the same.Looks pretty cool in the uncompressed video btw. About the prefix : Well the reason is very simple : If i add the word SPARK to each command , they would be too long .Just imagine how frustrating would be typing the word SPARK for each command: SPARK ADD SPHERIC EMITTER or SPARK SET LINE TRAIL RENDERER etc
So i decide to use SP (SPark) to keep commands short as possible.The first version of the plugin had the prefix SPK but i think that's too long either.
Cheers ! | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Thu Jun 02, 2011 1:39 pm | |
| Very nice. It s cool you re using SPARK 2 and not SPARK 1.
I especially love the rocket trails example ! I dont know dark basic but i am looking forward to seeing the full API.
What licence will your wrapper be under ? Will it be open source ?
Congratulations for your work and thanks for using SPARK, it s always a pleasure to see it being used. | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: HI Thu Jun 02, 2011 4:08 pm | |
| Hi Juff ! Thanks for everything ! It's been a pleasure using SPARK and SPARK2 ! I really fell in love with the smart pointers in SPARK2 as they save lot of work ! About the license i don't know yet... maybe it will be released as a free plugin , or maybe i will sell it for a really cheap price (4$-5$) just to support the future development of the wrapper (Dark basic pro has an internal help-viewer system so i need to write a documentation for each 135 command manually and there's still lot of things to do ) , but i really want to keep SPARK free ! Oh and one more thing ! I finished the binary save/write system , currently is DBPro specific but if you want i can rewrite it under the SPK::IO namespace and you can add it to SPARK2. Also i working on a binary Scene saver/loader which saves a list<> of systems .It will be a really handy tool for Game Developers (Once you set up youre systems position , rotation , color ,etc , just save it in a single file , and load it back into you're game ) Anyway Thanks for you're support and thanks for developing the SPARK engine ! Keep up the good work ! Best regards ! | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Thu Jun 02, 2011 5:54 pm | |
| Regarding the license it is completely up to you. SPARK has a very permissive license so you can do whatever you want with your wrapper on a money point of view. However as you're using a version that is not considered as fully stable, just note that users that have paid for a product may be more impatient/ have higher expectations of quality and reactivity than users that have gotten it for free.
About the binary saver/loader have you used the provided interface ? I mean are your loader/saver classes deriving from the generic IO::loader/saver base classes and using the descriptor ? Moreover one more constraint with binary serialisation is the endianess abstraction. If all those conditions are met I may directly add it to SPARK 2; if not, some adaptations are required so that your binary serialization system fullfill the conditions. Anyways, I m really interested in taking a look at it.
One thing I can do is possibly giving you the rights to commit to the svn; if you think you can bring something to SPARK or simply to get responsiveness to your users. | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Hi Thu Jun 02, 2011 7:55 pm | |
| Hi ! Well there's a long way to the first commercial release of the wrapper (maybe 1-2 months ) , but the wrapper is currently fully functional and i tested almost everything and worked fine with no problems at all. (maybe just two really small issues with the box and the sphere zone, i will upload a small video of it .) so there will be a lot of free releases of the wrapper till then. Regarding the binary format , it uses the SPARK object methods to get they data . like : - Code:
-
struct SGroupData { float minLifetime; float maxLifetime; int capacity; bool isShared; //etc... };
// and there's a class with methods which returns the data of an object (group,zone,emitter,etc) and writes it to a file.
SGroupData groupData = BinarySave->getGroupData(Group * group) savefile.write( (char*) &groupData , sizeof(SGroupData)); SEmitterData emitterData = BinarySave->getEmitterData(Emitter * emitter); savefile.write( (char*) &emitterData , sizeof(SEmitterData));
saving the renderers are completely dbpro specific , (as particles use textures loaded by dbpro , and completely handled by dbpro ) so these parts should be completely chaged. But i don't think it would be a problem rewrite all and use SPARK's descriptor. Cheers | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Hi Fri Jun 10, 2011 5:27 pm | |
| Hi the first public version of the wrapper is released.For the details see my first post. Thanks. | |
|
| |
Darktib Committer
Messages : 389 Date d'inscription : 2009-07-20 Localisation : A coté de Paris
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Sat Jun 11, 2011 9:36 am | |
| These demos are well polished! I've not the time to deeply explore commands because of exams... For the moment, I have some criticisms: - You should show an help in every demo (to indicate which keys are used by the demo) - For the rain demo, I think indicating the value of raindrop length, alpha, force and intensity could be more user-friendly - Demo 4 only shows a black screen - Maybe you could add a launch animation in the rocket demo to enable the user to re-launch another rocket after exploding one... For the rest the wrapper seems to be very powerful, well done! | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Mon Jun 13, 2011 5:41 am | |
| Hi, I have tested your SDK demos. That's nice.
However the time step of the demos seems based on the frame and not on the app time resulting in a time not being normalized. At home, the demos are running way too fast. You should set up the update time on the app time rather than on the frame.
As Darktib said, demo 4 about graph interpolators displays nothing for me as well.
Regarding the dark basic API, I cant say anything as I dont know the langage at all but it seems to be great work !
PS : You should have left the images and videos in the initial post so that we can have a direct glimpse at your work here. | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Thanks Mon Jun 13, 2011 2:15 pm | |
| Hi ! Thanks for everything. Well i found the bug about the demo 4 which isn't really a bug... the demo was compiled with a wrong texture path... sorry about that . i will fix that in the next release if actually someone using DBPro simply change this line in 04_GraphDemo.dba : - Code:
-
load image "E:\Download\new spark\demos\bin\res\point.bmp",1 to : - Code:
-
load image "media\point.bmp",1 oh and i will put back the video and the pictures soon | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: new version Sat Jul 02, 2011 3:32 am | |
| New version available !! (see the first post) Happy downloading PS: i have modified the rocket demo a bit... i hope you like it | |
|
| |
Darktib Committer
Messages : 389 Date d'inscription : 2009-07-20 Localisation : A coté de Paris
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Sat Jul 02, 2011 10:07 am | |
| Nice! But the download link still targets the 1.0 release (at least for me) | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Sat Jul 02, 2011 12:20 pm | |
| - Darktib wrote:
- Nice!
But the download link still targets the 1.0 release (at least for me) But its there... never mind... i fixed it | |
|
| |
Darktib Committer
Messages : 389 Date d'inscription : 2009-07-20 Localisation : A coté de Paris
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Sat Jul 02, 2011 12:45 pm | |
| It is getting better and better! (and is already at a very good standard)
Some ideas: for the load demo, why not letting the user choose the file to load, and showing the loaded effect ? and for the zone demo, maybe displaying (with vertices ^^) the zones (ex, a wireframe cube for the box zone).
At the code level, I think it is really straighforward and it follows the SPARK code flow, so this is a good point!
| |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Hi Sat Jul 02, 2011 12:56 pm | |
| Hi ! Both ideas are really cool i will add this in next release ! Thanks.The prior thing is to add a setScale(float scale) and getScale() to SPARK2 systems that will work with shared objects (my current SP SET SCALE won't work with shared objects) ,as it's really annoying when you finally set you're system and then you realize that the system is smaller or biger than your scene objects so you need to recalculate everything... | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Tue Jul 19, 2011 1:49 pm | |
| Nice. Scaling particle systems is more complex than it seems at first thought. I discuss about it on that post. | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Hi Wed Jul 20, 2011 5:46 pm | |
| Hi i used something similar which was the fastest / SPARK-independent solution: i simply multiplied all the : radiuses / sizes / forces / quad sizes / in a system with a scaleFactor.which is 1.0f by default. if this value is set to 2.0f all the above parameters are doubled or if set to 0.5f all are halved.This method worked perfectly for me , the only problem is that this wont work with shared renderers or emitters that have the same zone + it's not recommended to call this scale method in a loop because it will slow down the app , but still this is the fastest way to adapt the size of a system to the scene size. | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: new version Tue Nov 22, 2011 3:30 pm | |
| New (1.2) version released ! Have fun with it For description and download link see the first post Regards | |
|
| |
Darktib Committer
Messages : 389 Date d'inscription : 2009-07-20 Localisation : A coté de Paris
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Wed Nov 23, 2011 3:23 pm | |
| Very nice, runs fast, and demos are impressives.
I think I have nothing to say, nice job! | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: thanks Thu Nov 24, 2011 12:33 pm | |
| - Darktib wrote:
- Very nice, runs fast, and demos are impressives.
I think I have nothing to say, nice job! Thanks ! | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Sun Nov 27, 2011 6:38 am | |
| Very nice work ! Your demos are cool with a nice use of new features like emitter attachers. Regarding the animated texture demo where you use 2 perpendicular plane to render the flames, another way of doing it can be to render only one plane with its up locked to be unit y and its look pointing towards camera : - Code:
-
myRenderer->upVector.set(0.0f,1.0f,0.0f); myRenderer->setOrientation(UP_AXIS,LOOK_CAMERA_POINT,LOCK_UP);
In that way you get constrained billboards that can only rotate around the Y axis. | |
|
| |
Charlie
Messages : 81 Date d'inscription : 2011-01-28 Age : 42
| Subject: Hi Wed Nov 30, 2011 1:03 am | |
| I just made a pretty cool explosion with SPARK2 !!! You can download it hereNOTE : The demo contains an explosion sound effect , so make sure you turn down your speakers , to avoid heart attack... | |
|
| |
Darktib Committer
Messages : 389 Date d'inscription : 2009-07-20 Localisation : A coté de Paris
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Sat Dec 03, 2011 3:30 pm | |
| Finally found the time to test it I think it's a nice start, but I have several criticisms: - the fire effect seems to be "cut" before its end - the fire effect seems to be always the same, I think you can play with min/max parameters to have a more random effect - I think the center of the fire effect should be more "flashing", ie more "light" (sorry for this not very good english...) - the disappearing of the barrel is too much visible Good luck ! | |
|
| |
Juff Developer
Messages : 539 Date d'inscription : 2009-07-14 Age : 42
| Subject: Re: SPARK2 Dark Basic Professional Wrapper Wed Dec 14, 2011 4:25 pm | |
| That s nice !
In addition th Darktib's comments, I wouldnt use additive blending for smoke. This kind of blending must be reserved for materials supposed to emit light.
| |
|
| |
Sponsored content
| Subject: Re: SPARK2 Dark Basic Professional Wrapper | |
| |
|
| |
| SPARK2 Dark Basic Professional Wrapper | |
|