3d programming with PB

Advanced game related topics
ekix
User
User
Posts: 34
Joined: Thu Apr 21, 2005 7:43 pm
Location: Finland
Contact:

3d programming with PB

Post by ekix »

Hello guys

I'm a bit (or more) confuced to get the whole picture what's needed to create 3D applications with PureBasic.

What I could see is that you need to have some Ogre engine for it, and that one is available for free...

Also what I could see in some examples is that the models are in mesh file format, but which modelling (free od cheap) software packages are able to export for example animated 3D models in that format

And is there anywhere any "getting started" with 3d programming with PB tutorial(s) available somewhere, at leas I could not find any.
Last edited by ekix on Tue Nov 18, 2008 10:48 am, edited 1 time in total.
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Post by Mistrel »

There isn't a lot of activity on these forums relating to the Ogre but there are other solutions. Your current options are: OpenGL (API), DirectX (API), Dreamotion3D, Irrlitch, PureGDK (DarkBasic Professional), Ogre, and Leadwerks (No headers yet, sm3 only).

If you're interested in jumping right in and can make the additional investment I can recommend PureGDK. You have years of code snippets, resources, and a large community of hobbyists where you can learn how to use the engine at The Game Creators forum.
User avatar
IceSoft
Addict
Addict
Posts: 1682
Joined: Thu Jun 24, 2004 8:51 am
Location: Germany

Post by IceSoft »

Mistrel wrote:There isn't a lot of activity on these forums relating to the Ogre but there are other solutions. Your current options are: OpenGL (API), DirectX (API), Dreamotion3D, Irrlitch, PureGDK (DarkBasic Professional), Ogre, and Leadwerks (No headers yet, sm3 only).

If you're interested in jumping right in and can make the additional investment I can recommend PureGDK. You have years of code snippets, resources, and a large community of hobbyists where you can learn how to use the engine at The Game Creators forum.
And do not forget to say:

PureGDK and Leadwerks are commercial.
Belive! C++ version of Puzzle of Mystralia
<Wrapper>4PB, PB<game>, =QONK=, PetriDish, Movie2Image, PictureManager,...
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Post by Mistrel »

There is also 3impact which someone on the forum used with PureBasic. It's also a commercial engine.

http://3impact.com
ekix
User
User
Posts: 34
Joined: Thu Apr 21, 2005 7:43 pm
Location: Finland
Contact:

Confused

Post by ekix »

So, I should select one of these here, which one would you recomment. I would not like to start learning by paying (even that PureGDK looks like not expensive), some free choise would be nice to start with. So which free one is most supported here, and easiest to learn of the options above?

Also about the PureGDK it says thet I need also to have DarkBasic Pro 6.7, is this so ( see below)?
The PureBasic demo is compatible with PureGDK but can only compile with the debugger. Projects compiled with the debugger are considerably slower than a normal executable.

PureGDK requires at least DarkBasic Professional 6.7 and is not compatible with the trial version which is based off of version 6.2.

PureGDK for PureBasic 4.10
PureGDK for PureBasic 4.20
Thanks for hints anyway...
Last edited by ekix on Tue Nov 18, 2008 10:47 am, edited 1 time in total.
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Post by Mistrel »

PureGDK is recognized by The Game Creators as third-party commercial software for DarkBasic Professional and has licensed some components for use with PureGDK. You can purchase an upgrade directly from the product website which does not contain DBP components or you can purchase 'PureGDK Complete' which is bundled with DarkBasic Professional directly from The Game Creators:

http://darkbasicpro.thegamecreators.com/?f=puregdk

The reason I recommend PureGDK is that, in my opinion, if you do not have any prior knowledge of working with a 3D engine it is the easiest to learn from. There are also many companion products and plugins that are available to you to extend the engine and provide additional tools for development.

DarkBasic Professional is one of the most competitive 3D engines for hobbyists (Blitz and Torque are the another two big ones). It's also a very powerful and extensible engine. It's been used in commercial software and even by Nvidia to showcase PhysX features in their drivers package.

When it comes to games and BASIC I think PureGDK is the optimal solution.
ekix
User
User
Posts: 34
Joined: Thu Apr 21, 2005 7:43 pm
Location: Finland
Contact:

Post by ekix »

So, could I start with the demo, PureGDK for PureBasic 4.20, that one also works without DarkBasic? And in case I learn how to use it, then buy it, the price is cheap anyway...

I also do have Blitz3D but I'd like to use standard Windows menus & buttons in my appications, which seems to be difficult in Blitz3D.

Thanks again
Last edited by ekix on Tue Nov 18, 2008 10:46 am, edited 1 time in total.
Trond
Always Here
Always Here
Posts: 7446
Joined: Mon Sep 22, 2003 6:45 pm
Location: Norway

Post by Trond »

The easiest for beginners would be to use PB's build in 3d engine (which is a wrapper for Ogre).

Just press F1 and look at the 3d related sections and you should be up and running in no time.

If you wait until the final (or next beta) release of PB 4.30 the documentation should be updated to reflect the changes to the 3d capabilities. There should be some additions.
Mistrel
Addict
Addict
Posts: 3415
Joined: Sat Jun 30, 2007 8:04 pm

Post by Mistrel »

The demo of PureGDK is the upgrade path and requires DarkBasic Professional 6.7. It's not compatible with the trial version which is version 6.2.
Trond wrote:The easiest for beginners would be to use PB's build in 3d engine (which is a wrapper for Ogre).
You can try experimenting with the Ogre engine but I disagree with Trond that it's "easiest for beginners". The greatest challenge you'll face is the limited availability of users who are experienced with these functions if you need help. There is also very little code on the forum to learn from for the Ogre engine.
Fred
Administrator
Administrator
Posts: 18153
Joined: Fri May 17, 2002 4:39 pm
Location: France
Contact:

Post by Fred »

Mistrel wrote:The demo of PureGDK is the upgrade path and requires DarkBasic Professional 6.7. It's not compatible with the trial version which is version 6.2.
Trond wrote:The easiest for beginners would be to use PB's build in 3d engine (which is a wrapper for Ogre).
You can try experimenting with the Ogre engine but I disagree with Trond that it's "easiest for beginners". The greatest challenge you'll face is the limited availability of users who are experienced with these functions if you need help. There is also very little code on the forum to learn from for the Ogre engine.
I agree, but if every new users uses another engine, it won't change ;).
Lykaestria
User
User
Posts: 76
Joined: Wed Sep 17, 2008 3:10 am
Location: New Zealand

Post by Lykaestria »

Fred wrote:
Mistrel wrote:The demo of PureGDK is the upgrade path and requires DarkBasic Professional 6.7. It's not compatible with the trial version which is version 6.2.
Trond wrote:The easiest for beginners would be to use PB's build in 3d engine (which is a wrapper for Ogre).
You can try experimenting with the Ogre engine but I disagree with Trond that it's "easiest for beginners". The greatest challenge you'll face is the limited availability of users who are experienced with these functions if you need help. There is also very little code on the forum to learn from for the Ogre engine.
I agree, but if every new users uses another engine, it won't change ;).
It would be real nice if Ogre wrapper had a slightly more comprehensive command set... it already achieves many of the same things that Blitz3D and DreamMotion3D does, and also does so in a similar way, but I would like to see the command set expanded to do all the other things that Blitz3D and DreamMotion3D do, else not many people will use it :?
Give a man a fire, and he’ll be warm for a day. Set a man on fire, and he’ll be warm for the rest of his life.
sampb
User
User
Posts: 51
Joined: Tue Feb 12, 2008 8:08 am

Post by sampb »

Hi Lykaestria,

OGRE already has its own command sets.
Do you mean that you want Fred to include some extra command set that works similar to those of Blitz3D or DreamMotion3D? (LoadAnimMesh? FindChild? etc.)

Could you give examples what kind of these commands you think are essential for Blitz3D or DreamMotion3D?
Otherwise, less users will drop OGRE of purebasic?
:D
Lykaestria
User
User
Posts: 76
Joined: Wed Sep 17, 2008 3:10 am
Location: New Zealand

Post by Lykaestria »

sampb wrote:Hi Lykaestria,

OGRE already has its own command sets.
Do you mean that you want Fred to include some extra command set that works similar to those of Blitz3D or DreamMotion3D? (LoadAnimMesh? FindChild? etc.)

Could you give some examples what kind of these commands you think are essential for Blitz3D or DreamMotion3D?
:D
I do not know not how to access the OGRE command sets directly within the engine itself if that is what you mean. I meant that I would like to see more PB commands added to interface with OGRE.
Useful commands to add would include:

EntityX(entity) \
EntityY(entity) > return entity orientation in degrees for x, y, and z
EntityZ(entity) /

EntityRadius(Entity,x,y,z) - set entity radius to make collision radius spherical, or elliptical in x, y, or z plane

MoveEntity(Entity,#relative) - move an entity relative to the direction it's facing and not merely absolute world coordinates

Also needs command set for transparency mask, say to to make all of the black 0,0,0 color on a texture appear as completely transparent.

This is only the ones I can think of straight away, but there is more that could potentially be added.
Give a man a fire, and he’ll be warm for a day. Set a man on fire, and he’ll be warm for the rest of his life.
ekix
User
User
Posts: 34
Joined: Thu Apr 21, 2005 7:43 pm
Location: Finland
Contact:

More confused

Post by ekix »

Hello guys

The only things I would like to do, are:

1. Possibility to export 3D models from Milkshape ( or 3DSMAX 9), or whatsoever..., anyway both animated models and like game levels (not animated.

2. Possibility to load these into PureBasic with some easy way.

3. Resize & reposition & move these models inside PureBasic.

3. Move the Camera with mouse (like walk through a room...)

4. Use collisions to avoid walking through walls etc,

So, just the basic things.

It's easy in Blitz3D, but I would like to use also Windows menus & Buttons which is easy in PureBasic.

That's my goal...., so what should I choose to start to learn?

Thanks/
Last edited by ekix on Tue Nov 18, 2008 10:46 am, edited 1 time in total.
User avatar
Comtois
Addict
Addict
Posts: 1431
Joined: Tue Aug 19, 2003 11:36 am
Location: Doubs - France

Post by Comtois »

Lykaestria wrote: EntityX(entity) \
EntityY(entity) > return entity orientation in degrees for x, y, and z
EntityZ(entity) /

MoveEntity(Entity,#relative) - move an entity relative to the direction it's facing and not merely absolute world coordinates
Yes, i need this too.
Also needs command set for transparency mask, say to to make all of the black 0,0,0 color on a texture appear as completely transparent.
Look at MaterialBlendingMode()
Please correct my english
http://purebasic.developpez.com/
Post Reply