I'm waiting for PB 4.20 !!!

Everything else that doesn't fall into one of the other PB categories.
PerfectAgent007
New User
New User
Posts: 2
Joined: Thu May 15, 2008 1:10 am
Location: Umbrella Corp.

Re: Thank you Fred!

Post by PerfectAgent007 »

JJ Malone wrote: The main concern for me is making 3D. Here are the features I absolutely need:
- Physics engine (possibly PhysX software mode is enough)
- Making water plane that reflects + refracts + depth fog
- cubemaps
- stencil shadows (multiple light sources)
- post processing (blur, bloom, DOF, etc...)
- CSG (I just love making my own models using this! no need for .3DS or .B3D sources)
- multi-texture (this should work for models, planes and sprites)
- shaders (I'm not too good in making them, but I guess I could use already built shaders?)


The reason I am looking at PB is for some key features:
- Inline assembly
- Small executable
- Good support (motivated, updates, new features)
- Future proof applications (will work on XP and Vista)
- Possibility of writing DLLs
- Ogre 3D support

PB should AT LEAST support positional 3D sound + music. That is a base minimum in my book. The bonus would be sound effects like echo, reverb, EQ, etc ...
OK honestly, have you read through the list of features on the website? All of this is supported. Maybe not everything's in simple bullet-point format but it's all there. Go through it, then complain if something's not actually there.
JJ Malone wrote: You're asking me to buy Dark Basic Pro, PureGDK and PureBasic? Are you serious?
$250 roughly for a full software package of two languages and a damn good translator, all with no royalties? I'd be serious about it. Considering how much a single language package can cost, this is bargain bin by comparison. Yeah I want free stuff as much as the next tech guy but considering the functionality of the bundle, it's more than worth it.
JJ Malone
User
User
Posts: 12
Joined: Tue May 13, 2008 10:19 pm
Location: Canada

Post by JJ Malone »

PerfectAgent007, so you're a PureGDK fan I believe? You're telling me PureGDK can do CSG??? Really? Any example?

Mistrel, sorry the 3 links you provided for the EXE's are broken.

And let me state this again; if I need Dark Basic Pro, I'll go with Dark GDK!
http://gdk.thegamecreators.com/?f=darksdkvsdbpro

And that is not my current plan.
Dark GDK is free, distributed with Microsoft Visual C++ 2008 Express Edition.
http://gdk.thegamecreators.com/?f=downloads
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Post by Mistrel »

Fixed the links, sorry about that.

You can find plenty of information about CSG on the DBP forum. Why don't you try searching there?

To quote the from the link you posted:
As well as increased FPS rates you will also notice significantly faster compilation times from Dark GDK thanks to the speed of the Microsoft Visual C++ compiler.
PureBasic is advertised as producing machine code that runs as fast as C. Fred as said that the new 4.20 optimizations yield an additional 200% in some cases. These performance enhancements apply directly to PureGDK so it's not a fair comparison link to a table of DarkBasic Professional vs DarkGDK. It should be a test of DarkGDK vs PureGDK.

DarkGDK is free, yes, for non-commercial purposes. A commercial license is considerably more expensive ($500). If you want something more powerful than Visual Studio Express then you will need to put down another couple of hundred or more, I expect.

PureGDK, DarkBasic Professional, and PureBasic is less than half the cost of DarkGDK.

You argument appears to be that you want to program in PureBasic if I can do your list of things, but only if you can do it with something other than PureGDK, because you believe that DarkGDK is superior in some way (which it's not).

Why then, may I ask, don't you just use DarkGDK? It's free for non-commercial use and does everything you want, except for Physics.

I'm not arguing what's better. I'm simply telling you that if you want to use PureBasic then PureGDK is the only solution available that does everything you want.
JJ Malone
User
User
Posts: 12
Joined: Tue May 13, 2008 10:19 pm
Location: Canada

Post by JJ Malone »

Thanks Mistrel for the replies. Actually I'm really surprized that DB Pro has CSG included in it. Of course the runtime size of 5 megs for something so simple as rotating cubes isn't enchanting, but the possibilities of building structure using CSG and possibily using a stencil shadow system that is compatible with the CSG built structure is exactly what I am looking for. Honestly, I would be surprized that the CSG routines aren't bug free as CSG is rather pretty complex to do. So, if the CSG isn't buggy at all and the models generated are closed, then the stencil shadow should work fine with those. But I have no proof, until I try it out myself.

Next, creating appropriate water that reflects / refracts and that contain depth fog is something I know how to do in Blitz3D. I have seen examples of this in DB Pro but it didn't have depth fog. To do this, you need to have a clip plane above the water level so the fog will be generated from under that.

A physics engine is absolutely required for my project. I know how to use Newton, and a little PhysX. So, that is still something pretty far off for now as using a physics engine is rather complex if you don't have a simplified version of it in a wrapper type of API.

Thanks again for the EXEs. I only tried the PureBasic and PureGDK samples. With 1024 iterations, PB gave me 29 fps and PureGDK gave me around 55 fps. So let's call that twice the speed (not 14 times!). Honestly, it depends on a lot of things; processor, background task, graphics card, drivers... I have an Opteron 165 overclocked to 2.8ghz and a 8800GTS overclocked to 750/1800/2140. So, being borderline 60 fps for displaying 1000 cubes didn't really enchant me!!! It's possible that the zbuffer is the fault thoe. Actually, quite certain it's because of the zbuffer. Then again, I'm still examining the code.
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Post by Mistrel »

JJ Malone wrote:Of course the runtime size of 5 megs for something so simple as rotating cubes isn't enchanting ..
The DarkBasic Professional engine is plugin-based and resolves all possible dependencies depending on the entire library and not individual commands. This means that plugins may be included in your project that you don't actually use, because the entire plugin is still required as a dependency.

The advantage of this is that you don't have to resolve the dependencies yourself (bonus!). The downside is that you now have to exclude those libraries you don't need. This can be done in the setup.ini 'EXCLUSIONS' key of the DarkBasic Professional compiler.

DarkBasic Professional 6.8 introduced the ability to compile with the engine DLLs outside of the exe. This allows you to build a loader that compresses the engine until runtime. The engine DLLs are large because they're optimized for speed and not compactness. You can compress them with a very good ratio of 1:6 and up.
JJ Malone wrote:Next, creating appropriate water that reflects / refracts and that contain depth fog is something I know how to do in Blitz3D. I have seen examples of this in DB Pro but it didn't have depth fog. To do this, you need to have a clip plane above the water level so the fog will be generated from under that.
You can specify the clip plane in PureGDK using dbSetCameraClip:
Syntax

dbSetCameraClip(CameraID, ClipOnOff, x.f, y.f, z.f, nX.f, nY.f, nZ.f)

Description

This command will set the clipping plane for the specified camera. The parameters include the origin (x, y, z) and a normal on the plain to specify the distance (nX, nY, nZ).
For fog have a look at dbFogDistance, dbSetObjectFog, dbFogColor, and dbFogOn/Off. You can also use fog through your own pixel shaders.
JJ Malone wrote:So, being borderline 60 fps for displaying 1000 cubes didn't really enchant me!!!
Enchant you or not it's just a simple benchmark for comparison. It shouldn't be taken as a real-world example for any of the engines. You have to actually use the engine and decide if it is adequate for your needs in features and capacity.
JJ Malone wrote:A physics engine is absolutely required for my project. I know how to use Newton, and a little PhysX. So, that is still something pretty far off for now as using a physics engine is rather complex if you don't have a simplified version of it in a wrapper type of API.
Well, with PureGDK you have a choice! There is both Newton and DarkPhysics PhysX (hardware and software). With DarkGDK there is only DarkPhysics. :)
JJ Malone wrote:Honestly, I would be surprised that the CSG routines aren't bug free as CSG is rather pretty complex to do.
You will have to decide for yourself the state of DarkBasic Professional's CSG features. If you prefer another CSG solution like OpenCSG then it's entirely possible for you can write a wrapper plugin yourself for DarkBasic Professional using PureBasic.
User avatar
Psychophanta
Addict
Addict
Posts: 4976
Joined: Wed Jun 11, 2003 9:33 pm
Location: Lípetsk, Russian Federation
Contact:

Post by Psychophanta »

The pureGDK version does not work here; it auto-quits after say "yes" or "not" to the first window (full screen requester). :?
http://www.zeitgeistmovie.com

While world=business:world+mafia:Wend
Will never leave this forum until the absolute bugfree PB :mrgreen:
Fred
Administrator
Administrator
Posts: 16622
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

X wrote:I think one of the restrictions is that most games require 1 background music and a few or more sound fx going at the same time. in PB 3.x this was not possible unless you use an FMOD userlib. Have this changed at all in the PB 4.x series?
With v4, there is no problem at all to play a streamed ogg file (from disk or memory) many sound effects (the same sound can now be played on several channels) and even one or several music module - all at the same time.

About OGRE, i didn't performed any tests, but PB uses an old OGRE version, may be it's related. Now, the 4.30 is planned to be the big awaited 3D update, and we will use OGRE 1.6 as base. OGRE is known to be one of the fastest opensource 3D engine available - and it's crossplatform. Check the homepage and see how many (commercial as well) projects uses it (www.ogre3d.org).
JJ Malone
User
User
Posts: 12
Joined: Tue May 13, 2008 10:19 pm
Location: Canada

Post by JJ Malone »

Mistrel, I have a PureGDK question: How many animated sprites can you have on the screen at the same time, considering animation (scaling, rotation, deform, transparency, etc.) running at 60 fps? Note that when I'm talking sprite, it's in a 3D scene, but the sprites are 2D with possible perspective correction. I use this to make pseudo terminal screens where 1 sprite is 1 character. What I do with that is I generate a terminal emulation, and then can render that for a texture, or for another sprite.

I don't know if you can see what I mean? My target is 30 000 sprites at 60 fps on first generation high end DX9 cards. This is totally achievable on Blitz3D + FastImage. That is why I ask. FastImage is a special DLL that manages the vertex buffer without z-sorting, which is extra fast.

See, this I will loose, parts of it anyway: http://fastlibs.com/libraries.php
Maybe I would need to convince the author to make a DBPro version.
Kale
PureBasic Expert
PureBasic Expert
Posts: 3000
Joined: Fri Apr 25, 2003 6:03 pm
Location: Lincoln, UK
Contact:

Post by Kale »

If you are thinking of buying DBPro just make sure you download a trial and evaluate it thoroughly before purchasing. I personally found it sub-standard and very very buggy.
--Kale

Image
JJ Malone
User
User
Posts: 12
Joined: Tue May 13, 2008 10:19 pm
Location: Canada

Post by JJ Malone »

Kale wrote:If you are thinking of buying DBPro just make sure you download a trial and evaluate it thoroughly before purchasing. I personally found it sub-standard and very very buggy.
Well, I had that tought in mind for years, that is why I was so surprized that CSG was included in the system! CSG demands pretty high standards.
SofT MANiAC
Enthusiast
Enthusiast
Posts: 142
Joined: Mon Sep 17, 2007 10:28 am
Location: P.O.P
Contact:

Post by SofT MANiAC »

[offtop] /me thinks, that JJ Malone develops DooM IV [/offtop] :roll:
POiNT.OF.PRESENCE group
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Post by Mistrel »

Psychophanta wrote:The pureGDK version does not work here; it auto-quits after say "yes" or "not" to the first window (full screen requester). :?
I've uploaded a slightly different version. Please see if this one works for you. If it still crashes may I send you a debug build to help track down the source? Also, what is your OS version, video card, and DX9 driver version?
JJ Malone wrote:I don't know if you can see what I mean? My target is 30 000 sprites at 60 fps on first generation high end DX9 cards. This is totally achievable on Blitz3D + FastImage. That is why I ask. FastImage is a special DLL that manages the vertex buffer without z-sorting, which is extra fast.

See, this I will loose, parts of it anyway: http://fastlibs.com/libraries.php
Maybe I would need to convince the author to make a DBPro version.
I don't think you can render sprites in DarkBasic Professional without z-sorting. The only examples I can provide for you are some basic DBP samples:

http://puregdk.com/files/image-1.zip
http://puregdk.com/files/image-2.zip
http://puregdk.com/files/sprite.zip

From what you're describing I don't think that DarkBasic Professional's sprites are as fast as FastImage.

According to the description for FastImage PureBasic is already supported. I'm not sure if this is using the Blitz3D SDK or as part of this Xors3D engine they mention. If you're familiar with the library then maybe you can shed some light on the subject.
Kale wrote:If you are thinking of buying DBPro just make sure you download a trial and evaluate it thoroughly before purchasing. I personally found it sub-standard and very very buggy.
I also would encourage you to evaluate DarkBasic Professional thoroughly as well, since the trial is free. And as Kale said there are some bugs but the actual number is exaggerated. "Very very buggy" is not accurate. Please read my response to Kale here for an overview of the existing bugs in the DarkBasic Professional engine and which of those bugs apply to PureGDK:

http://www.purebasic.fr/english/viewtop ... 766#235766
JJ Malone wrote:Well, I had that tought in mind for years, that is why I was so surprized that CSG was included in the system! CSG demands pretty high standards.
DarkBasic Professional gives you complete control of your objects down to the individual vertex. You have complete control to do whatever you want with your objects.

DBP's implementation of CSG is very basic but it does exist. Here is a list of the commands:

dbCSGClip(TargetObject, BrushObject)
dbCSGUnion(TargetObject, BrushObject)
dbCSGUnionOnVertexData(BrushMesh)
dbCSGDifference(TargetObject, BrushObject)
dbCSGDifferenceOnVertexData(BrushMesh)
dbCSGIntersection(TargetObject, BrushObject)
dbCSGIntersectionOnVertexData(BrushMesh)
User avatar
Psychophanta
Addict
Addict
Posts: 4976
Joined: Wed Jun 11, 2003 9:33 pm
Location: Lípetsk, Russian Federation
Contact:

Post by Psychophanta »

@Mistrel, new version does not work here neither, see private message. :)
http://www.zeitgeistmovie.com

While world=business:world+mafia:Wend
Will never leave this forum until the absolute bugfree PB :mrgreen:
sampb
User
User
Posts: 51
Joined: Tue Feb 12, 2008 8:08 am

Post by sampb »

There will be Blitz3d 2.0 in X-mas with next-gen engines
http://www.blitzbasic.com/Community/pos ... opic=78026
Post Reply