[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/bbcode.php on line 483: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4752: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4754: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4755: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
[phpBB Debug] PHP Warning: in file [ROOT]/includes/functions.php on line 4756: Cannot modify header information - headers already sent by (output started at [ROOT]/includes/functions.php:3887)
FMS Forum • View topic - The future of the FMS graphics: OpenGL or Direct3D

The future of the FMS graphics: OpenGL or Direct3D

Postby qcoldir » Tue Nov 12, 2002 6:14 pm

I vote for anything that will let it run on Linux. I'm tired of saving a Windows partition just for FMS. It truely is the last program I have to save Windows for.

Great program! I Love FMS!!!

Quinn
qcoldir
 
Posts: 3
Joined: Tue Nov 12, 2002 6:03 pm

Postby uli » Mon Dec 02, 2002 2:37 pm

I'd also vote for OpenGL.

For graphics I'd suggest OpenSceneGraph it's a very well designed scenegraph along the lines of SGI Performer, supports a huge number of file formats and also special effects like particle systems.

It also supports loading of DirectX .x files (almost, I'm still cleaning things up...)

-Uli
uli
 
Posts: 1
Joined: Mon Dec 02, 2002 2:31 pm
Location: Berlin, Germany

Postby buij » Thu Mar 06, 2003 1:28 pm

I'd go for OGL.
I haven't programmed anything with DX or OGL so I can't say if either is harder to use, but portability would be a big bonus, and I believe there are good reasons why pros use OGL.. After all, OGL was pretty good from the beginning, while DX has been evolving slowly to this point where it's close to a copy of OGL.

Edit: This freezing problem is still bugging me, no solution yet.. Can't remember any problems like this w/ OGL. (IL-2 looks worse and gives lower fps with DX..)
buij
 
Posts: 2
Joined: Thu Mar 06, 2003 1:12 pm

Postby Cambo » Wed Apr 16, 2003 8:56 pm

Go OpenGL... Graphics cards usually do OpenGL first and DirectX second.

Wow I'm surprised no one has mentioned sdl....

sdl handles most of the incompatibilites between windows and linux/mac/ or any other platform... You only have to write one verison of the code and it compiles on any system. SDL handles all the input/output from keyboards/mice/joysticks on any system as well as handles all the initialization code to start windows(rendering contexts) on a multitude of OS's. The only thing I think it doesn't cover are high perfomance timers, but I could be wrong. There's also an extention to sdl for a network layer that allows for an alternative to the DirectX multiplayer API's. Personally I've tinkered with code that uses sdl and have had no problems. For advice maybe try talking to Gavin Camp from . He's currently converting code from his 3D version of scorched earth to SDL to run on linux/windows/macs. Probably has plenty of advice about it.
User avatar
Cambo
 
Posts: 4
Joined: Wed Apr 16, 2003 12:01 am
Location: Canada

Postby Chris Stoddart » Fri Apr 18, 2003 2:17 am

Regarding the discussion of OpenGL versus DirectX -

Are there any freeware tools available that equal the preformance of Metasequoia which creates models in Directx format?

How do you map complex textures onto the elementary primitives of OpenGL?

What will happen to all the DirectX models?


Happy Landings,
Chris Stoddart
Chris Stoddart
 
Posts: 19
Joined: Mon Aug 13, 2001 12:15 pm

Postby Cambo » Sat Apr 19, 2003 7:27 am

Freeware tools for directx models? Well it's not free but a great little modeller (I've done 3 models for fms in it) is Milkshape3d.. it's only 20 bucks.... but saves and opens just about every 3d format. Unfortunatly it's not quite as advanced as Metasequoia, and it's texture tool needs a little help, but I find that it does everything I need without all the clutter that you'd find in Metasequoia or 3d Studio Max.

As to the textureing in OpenGL, it's a little different than directX, every thing is done a lower level in OpenGL than directX does it... check out for tutorials on OpenGL they've also got great tutorials on texture maping/bump maping/etc.

I find I like OpenGL more... a little more work than directX but you know exactly what's going on, in stead of blindly calling
some function to load/show your model.

Cambo
User avatar
Cambo
 
Posts: 4
Joined: Wed Apr 16, 2003 12:01 am
Location: Canada

Postby Chris Stoddart » Fri Apr 25, 2003 7:57 pm

Thanks Cambo,

My earlier question meant to ask is there a program that builds and save mesh files in a native OpenGL format. i.e. not in a proprietary format like 3DS. There are several free mesh builders for DirectX, Metasequoia being a well known one.

I looked at the NeHe URL examples of texturing in OpenGL. The concept is similar to other 3D graphics formats. I could readily generate it as I did to go from RcCad VRML to FMS DirectX.

As far as I can tell OpenGL does not have a native mesh file while DirectX does. If I have misunderstood please let me know.


Chris Stoddart
Happy Landings,[br]Chris Stoddart
Chris Stoddart
 
Posts: 19
Joined: Mon Aug 13, 2001 12:15 pm

Postby Cambo » Sat Apr 26, 2003 11:59 pm

You're right it doesn't have a native file format. I've searched for code to load directx files in gl.... All I've managed to find are fourm posts by people who said they've whipped up code to load the format, but no code itself.... that being said I did find Check out this guy's site it's amazing for technical 3d info and generalized how-to's...

Anyways using the page specified above I've started my own code to load directx files. It would be usefull to have, but i'm not focusing on it as i've got other things more pressing right now. Someone slightly more dedicated than me could prob. whip something up a lot faster than I could.

Also if you're going to do a major upgrade I'm not sure that directx files would be the proper way to go. As far as I can see it would be difficult to do proper animations for gear/flaps/alieron/elevators using the primitive animation capabilities of directx files. Sure you could do one control at a time, but doing multiple (ie. pulling up and rolling to the left) animations at the same time would be technically difficult or tedious. (some kind of binary or of the animation data points against an idle model and combining the results, or a seperatly animated animation for all control surface movements and all combinations of them). Sure a directx file migration tool would be advantageous. But it might be time to think about a new file format. ??? [#### it might even be time to roll your own... it's not quite as hard as it sounds.... but it makes development for those of us making new models a lot harder :( ] I'm too poor to look at the other rc simulators and their assosiated file formats to see how they've done it...

Cambo

P.s. The defacto standard for OpenGL is ususally md2 (John Carmack's format from quake 2) or some other model code from the quake engines. My learning OpenGL book I bought a few years back even has code to load md2 models!
User avatar
Cambo
 
Posts: 4
Joined: Wed Apr 16, 2003 12:01 am
Location: Canada

Postby Michael_Moeller » Tue Apr 29, 2003 8:10 am

Regarding OpenSceneGraph, CrystalSpace:

Both seem to be very good engines, but both are in C++ and we still prefer to continue the work in Delphi. Writing headers and all that for Delphi seems to be a lot of work ... though I had to look for something else ...

Here a short review of my latest thoughts:

We have been using DelphiX (Direct3D RM for Delphi) till now, and the first steps were very easy, but once we wanted to extend it to features that weren't implemented already in DelphiX we found that it was a big problem to add them. And after Hori ended the development on DelphiX and Microsoft anounced to stop the develomepment on Direct3D RM, we were faced with many lines of FMS code that based on an engine that just wont be developed any further ...

That's why I wan't in the first place to build the FMS code no more on one of these nice and large engines, that I would never understand all the code, and this we always be limited to what features they offer ...

After that I have started to code a bit around on low level 3D (Direct3D IM and OpenGL) and realized, that making OpenGL application for both Kylix and Delphi isn't as easy as I thought first. By the way there was the problem with the mesh format. There is a library to load 3ds with Delphi ... but with what good and free tool can you make 3ds files ... ?

If it is not that easy to make the FMS portable to Kylix (Linux), I thought that Direct3D IM may not that bad at all, after all it is the "nearest" to DelphiX and Direct3D RM ...
It took not long to have a small application load the .x files in Direct3D IM though I continued to work on some very small engine that shouldn't get so big with features that we wouldn't need for the FMS ... and as it should remain very small, it shouldn't be a very big problem to extend it to new functionality ...

This brought me to were I am a the moment. I have now a small object oriented 3D engine working ion Delphi, based on DirectX9 Direct3D IM that can easyliy load the .x files. I use still .x files because it is one of these file format's that can be generated with freeware tools, and it supports most of the needed features. Animating rudders and props for the models is no problem, beacuse you can save hierarchical trees into the files and with an independent transformation on every frame you can to quite alot.
One feature that I really miss in the .x format is more than one texture coord set per vertex. I want to use this for lightmaps for example. First I thought 3ds could be the solution I found out that it isn't easy at all to produce 3ds files, if you are not converting from .x to 3ds (and have this way still only one texture coord set per vertex)
... But these is solved as well now ... has a very nice tool to generate lightmaps, and I can now directly load his .lmts files into my engine ...

Beside the file format details, I can render spherical envirenment maps, two color textures, hav a little smoke engine, a skybox ... soon perhaps a collision detection engine, frustum culling ... and I'm quite happy tough far ... if it continues like this I will soon have most of what I was looking for ... no Linux support though ... :-( but this seems not very easy in Delphi/Kylix anyway at the moment ...

unfortunately I have to finish this post now ... (time) ... though perhaps later more ...

I'm open to any critics / ideas / comments ...

Michael Möller



Edited By Michael Moeller on April 29 2003 at 10:10
Michael_Moeller
 
Posts: 88
Joined: Thu Feb 28, 2002 10:38 am

Postby Chris Stoddart » Thu May 01, 2003 12:39 am

Michael,

I think that what you want to do with multiple textures can be done in DirectX with the flexible vertex format, FVF. This format allows up to 8 textures may be assigned to a vertex and processed at runtime.

See URL http://msdn.microsoft.com/archive/defau ... g_50kz.asp and other related ones at the Microsoft website for C/C++/C# examples .

I think that there are similar VB examples in the SDK which might be readily transported to Delphi. I'll check on my copy of the DirectX/VB SDK. I've done a little coding of DirectX with VB but nothing as complex as you are describing

Happy Landings,
Chris Stoddart
Chris Stoddart
 
Posts: 19
Joined: Mon Aug 13, 2001 12:15 pm

Postby Michael_Moeller » Fri May 02, 2003 8:06 am

Rendering multiple textures is no problem at all (eh ... it was but I have solved thatone already ;-)) ... but getting the data for this out of a file is a problem.
There is no way to load two texture coords per vertex from a .x file, as far as I know. The .x file supports only one texture per material ...
Though I have been looking around and found that .3ds files support multiple textures ... and I found a library to load .3ds files ... but I haven't found a free tool to generate models with more than on textureset per face and export from these into .3ds ...

My solution for the moment is this:
- for lightmaps: I use the lmts file format (supports one color texture and one lightmap texture). These lmts files can be generated (lighmaps calculated) from .x files with a opensource tool from Lord Trancos
- giving the option in some headerfile to add a second texture to a .x file at loadtime. The texture coords are calculated by a transformation matrix from the vertex position in space. This allows the use of planar projected textures as second color texture with .x files

Michael Möller
Michael_Moeller
 
Posts: 88
Joined: Thu Feb 28, 2002 10:38 am

Postby DiMarzio » Fri May 02, 2003 5:12 pm

Why all this fuzz about which 3d engine to use? I would stick to the Direct3D stuff because
1 You already have a lot of experience with this
2 When choosing a new format all old planes will become absolete
3 You can probably re-use alot of code

Also isn't it more important to first create a better simulator instead of a better looking simulator?

regards,
Pieter
DiMarzio
 
Posts: 4
Joined: Thu Mar 20, 2003 2:09 pm

Previous

Return to General Discussions

Who is online

Users browsing this forum: No registered users and 113 guests

cron