Real Software Forums

The forum for Real Studio and other Real Software products.
[ REAL Software Website | Board Index ]
It is currently Tue Oct 15, 2019 10:44 am
xojo

All times are UTC - 5 hours




Post new topic Reply to topic  [ 4 posts ] 
Author Message
 Post subject: Anyone building a good, open source 3d library on GL?
PostPosted: Wed Jul 08, 2009 9:55 am 
Offline
User avatar

Joined: Sat Oct 01, 2005 1:23 pm
Posts: 74
I'm sick of waiting for BlitzMax to get proper 3d support :-) . Now that REAL has finally seen the light, ditched RB3D and implemented barebones GL support, it would be nice to have a good OO library to work with.

I'd suggest that the best/simplest option would be to implement something akin to Blitz3D's API (including support for B3D and MD2/MD3) since this would give us an instant workflow. B3D's file format is well-supported on the Windows side, and the format is well-documented and pretty simple.

The alternative would be Collada or FBX but that's a huge undertaking -- unless Snow Leopard gives us Collada support for free (which it may -- there's some level of Collada support in Snow Leopard, just not sure how deep it goes).

In the mean time, OBJ support would be very easy, and MD2/MD3 support would be relatively easy -- and that (together with texture support) would be enough to implement Quake 3-like games in RB.

Any thoughts?


Top
 Profile  
Reply with quote  
 Post subject: Re: Anyone building a good, open source 3d library on GL?
PostPosted: Thu Jul 09, 2009 6:11 am 
Offline

Joined: Fri Sep 30, 2005 6:55 pm
Posts: 1522
Are you looking for a game engine or something? That's the first step in other languages too. A few years ago I had to write a 3DS format reader, a texture loader, an animation utility, and a bunch of collision detection and rendering stuff before I was able to start working on the actual game.

Quote:
In the mean time, OBJ support would be very easy, and MD2/MD3 support would be relatively easy -- and that (together with texture support) would be enough to implement Quake 3-like games in RB.

Even Quake 1 was much more than a set of textured 3D models. You should probably avoid mentioning anything made by John Carmack when talking about how simple something can be. :lol:

_________________
Those who can, do. Those who can't, make excuses.


Top
 Profile  
Reply with quote  
 Post subject: Re: Anyone building a good, open source 3d library on GL?
PostPosted: Fri Jul 10, 2009 8:39 pm 
Offline

Joined: Thu Feb 26, 2009 4:41 pm
Posts: 37
I've got 3ds import code working and it renders it in OpenGl (Vertices/UV Mapping/Normals). It isn't exactly optimized but its something (couple texture hacks). I didn't write the code but I made it work with OpenGl (used to work with Quesa). You can have it if u want it. Obj import "should" be easy to add it you take a look at one of the modules in the RB3d Utility. I don't plan to add it. 3ds is fine and I'm making a custom model file for my animations. (I think OBJ is just too big)


Top
 Profile  
Reply with quote  
 Post subject: Re: Anyone building a good, open source 3d library on GL?
PostPosted: Wed Jul 15, 2009 1:14 pm 
Offline
User avatar

Joined: Sat Oct 01, 2005 1:23 pm
Posts: 74
I'm fully aware of how much is involved in writing a game engine -- I've shipped commercial games, I've written a 3d animation program from scratch, and I've written a 3d rendering pipeline in RealBasic from scratch (it rendered purely in software using a canvas and didn't support textures -- but it was fast enough for simple games).

Quake's MD2 and MD3 file formats *are* really quite simple (as was the WAD format for levels). Being a genius doesn't mean Carmack can't design simple, intelligent file formats. I don't think HTML is easy to understand because Tim Berners Lee lacks intelligence -- quite the opposite.

MD2 essentially stores animated meshes by capturing each "frame" of animation as a new mesh. If the animation is stored at 10fps and your screen is refreshing at 60fps then you interpolate between frames by linearly interpolating between the adjacent mesh frames. It's about as simple as 3d animation can get.

MD3 essentially uses two MD2s to represent a character -- one for the lower body and one for the upper.

After Quake 3 came out video cards with vertex shaders became prevalent, making skeletal deformations hardware accelerated, so the succeeding file formats stored skeletons, weight maps, and keyframes were stored as skeleton states -- making things much better, but also more complex. B3D is probably the simplest file-format that is (a) well documented and (b) supports this more modern approach.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 4 posts ] 

All times are UTC - 5 hours


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum

Search for:
Jump to:  
cron
Powered by phpBB © 2000, 2002, 2005, 2007 phpBB Group