Hard Light Productions Forums
Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: IPAndrews on November 06, 2002, 11:23:15 am
-
I was wondering what everyone's thoughts are about a true 3D (hardware rendering) build of the game using OpenGL? How difficult it would be to code? What's the best way of approaching it?
My thoughts are that getting geometry up and running would be relatively easy. The .pof loading code could be modified to create OGL display lists, and geometry's world co-ordinates used to translate it into position relative to the current view point. I have no idea how to tackle the 2D bitmaps such as explosions. Possibly create a 3D polygon at the impact position and rotate so that it's facing the view point. I imagine it's fiddly stuff like that and the HUD which would be the most difficult to implement.
I do not believe this could be done as a bolt-on to the current rendering system. So it would probably be easier to let DX and Glide die.
Am I on the right track here people?
-
I don't know about you others, but I am a bit vary of OGL.
As far as I know, graphics card chipset manufacturers have made so many of their own extensions for OGL because OGL is not updated swiftly enough for gaming standards.
Doesn't this mean that you need to think of and include ATI, NVIDIA and Matrox made extensions as well?
I don't know... I think DX is the best gaming API at the moment. It is often updated and it's all made by single company, eg. no third party extensions.
Of course OGL would be required for Linux port... but still...
OK, I will end my rant here and let the wiser speak. :p
-
wrong MR.fury open GL is the profesional one and the is used by many developers...ex Il2 run better in OGL then DX...it has nothing to do with Linux.
-
he isn't saying it's the best one period, he's saying it's the best one for games built on a windows operating system, wich is a point I agree with him on
now if we had some specal renderer for some sort of high end profesional cgi work I could understand OGL over DX but were just trying to make a game with a primary audience on windows machines, most of the things we are going to need is what DX exels at
-
and seeing as the "true 3D" thing will probly be needed for DX8 TL it'll probly get done anyway, I think the current rendering system could have this jamed into it, mearly go into model_render and before it goes into interpeting each polygon just tell it to render the model in hardware and send the model data to the card,
wich would need to loaded diferently baised on renderer
everything other than ship and weapon models is mearly a single poly or two
-
Originally posted by Bobboau
he isn't saying it's the best one period, he's saying it's the best one for games built on a windows operating system, wich is a point I agree with him on
Thank you. :) That's what I was trying to say. :)
-
I do not believe this could be done as a bolt-on to the current rendering system. So it would probably be easier to let DX and Glide die.[/B]
Um.. we have one fully functional DX5 engine and a damn near finished DX8 engine. OGL state, currently cant draw ships if Im correct.
-
well they've almost got the main hall animations working :D
-
Originally posted by Bobboau
well they've almost got the main hall animations working :D
Cool, Im not trying crap on the OGL work, its difficult stuff. But I need to point out that DX is alive and kicking and is not going to lie down and die just because OGL might be on the way.
I dont understand why IPAndrews is looking only to OGL.
I did a bit of coding on HT&L before I started DX8 and I got a fair bit done I might add. Dont worry, I still have the code hanging about for reference, though it did run into some interesting problems that will apply to any engine trying to move FS2 into HT&L.
-
phreak was updating that code, but the committs seem to have dried up :)
-
I think DirectX is still the best way to go...but OGL has some interesting possibilities too...I think the source team should leave the OGL issue alone...if an independant group wants to get it in there then I think we should support that but there are other cool things to do with DX8 once its in.
-
Originally posted by IceFire
I think DirectX is still the best way to go...but OGL has some interesting possibilities too...I think the source team should leave the OGL issue alone...if an independant group wants to get it in there then I think we should support that but there are other cool things to do with DX8 once its in.
With a little extra effort, it should be perfectly possible to run the game on top of any 3d api you should wish. It just takes writing an abstraction layer. That would slow things down a bit of course, but we're talking about an engine that runs painfully fast on a modern processor anyway.
Barring that, there's still no reason to discourage an OpenGL port. It opens the engine up for other platforms, for one, and is a worthwhile and interesting pursuit in its own right.
-
Originally posted by RandomTiger
I dont understand why IPAndrews is looking only to OGL.
It's portable, it's 100x easier for novice programmers than D3D, I can understand code written using it. I'm slowly getting my head around how this could be done in OGL. I wouldn't have a frickin' clue where to start in D3D :).
-
Originally posted by mikhael
With a little extra effort, it should be perfectly possible to run the game on top of any 3d api you should wish. It just takes writing an abstraction layer. That would slow things down a bit of course, but we're talking about an engine that runs painfully fast on a modern processor anyway.
Good practice for updating it to OGL 2 and DX 50 or whatever.
-
Originally posted by Inquisitor
phreak was updating that code, but the committs seem to have dried up :)
RL - don't you just love it?
-
Is there any backwards compatibility vis-a-vis OpenGL and Glide? Because - i think - Glide was originally developed as cut-down subset of (the fairly bulky then) OpenGL?
I remeber seeing this somewhere - not really check - so correct me if I'm wrong :)
-
Originally posted by IPAndrews
It's portable, it's 100x easier for novice programmers than D3D, I can understand code written using it. I'm slowly getting my head around how this could be done in OGL. I wouldn't have a frickin' clue where to start in D3D :).
What is it that you want to do thats so low level? I think it would be better if a few skilled people provided functionality that could be used at a higher level.
The thought of lots of novices running about the core of the 3D engine may not be the best idea.
I already have a basis to work on for HT&L, I will mostly likely put the code up somewhere at some point, but for now finishing DX8 and OGL is what we need to do.
Note: It would be maddness to try and take OGL straight to HT&L.
-
Um... on a slight tangent; is there somewhere I can get the OpenGL sdk? (I'm possibly deciding agianst learning directx... no sure yet, but I'd like to check out both beforehand). I checked opengl.org, but i don;t see it...
-
A quote from OpenGL 2.0 review by xTreme Pc Central
OpenGL has been a primary component of three dimensional rendering technology since its inception in 1991. OpenGL is implemented in a wide variety of applications, ranging from professional design software to multimedia presentations to interactive games. Currently available as version 1.4, OpenGL has proven to adapt with the evolution of graphics hardware, though it's age is becoming starkly apparent as compared to Microsoft's latest DirectX D3D technology. In hopes of revitalizing the decade old standard, 3Dlabs recently offers a new approach outlining the features of a possible OpenGL 2.0 revision.
Read full article. (http://www.xtremepccentral.com/articles/opengl2/)
If you really like to build a new engine or seriously modify current, then I suggest you wait for OGL 2.0.
-
Originally posted by aldo_14
Um... on a slight tangent; is there somewhere I can get the OpenGL sdk? (I'm possibly deciding agianst learning directx... no sure yet, but I'd like to check out both beforehand). I checked opengl.org, but i don;t see it...
Try here, Aldo: http://lahs.losalamos.k12.nm.us/departments/computers/opengl/Libraries.html
Mr. Fury, if we wait for OpenGL 2.0, we'll be waiting...um... forever. We've moved from v1.1 to v1.4 in something like FIVE YEARS. Don't bother waiting.
Besides, OpenGL 2.0 will likely be highly backward compatible to the current version anyway.
-
Originally posted by mikhael
Mr. Fury, if we wait for OpenGL 2.0, we'll be waiting...um... forever. We've moved from v1.1 to v1.4 in something like FIVE YEARS. Don't bother waiting.
Besides, OpenGL 2.0 will likely be highly backward compatible to the current version anyway.
Most likely true, but I don't see any real bonuses on making an OGL engine at all, neither 1.4 or 2.0. We are now moving to DX8.1, and it should be relatively easy to move to DX9 after that. Or since DX9 lifetime will be quite short, could be best to move from DX8.1 to DX9.1 and skip DX9.
-
Originally posted by Mr. Fury
Most likely true, but I don't see any real bonuses on making an OGL engine at all, neither 1.4 or 2.0. We are now moving to DX8.1, and it should be relatively easy to move to DX9 after that. Or since DX9 lifetime will be quite short, could be best to move from DX8.1 to DX9.1 and skip DX9.
Some of us don't use Windows if we can avoid it. DirectX is platform lockin, no matter what you do.
OpenGL is... well, Open (not exactly, but close enough for this point).
-
Yeah but FS2 is also a Windows game. ;)
-
Originally posted by Mr. Fury
Yeah but FS2 is also a Windows game. ;)
And we have an opportunity to fix that little oversight by Volition, along with the rest, don't we?
-
Yes we do.
We just need interested coders to take up the *nix flag and run with it.
-
If such a project receives enough support, then go for it.
But it shouldn't be a priority.
-
Originally posted by Mr. Fury
If such a project receives enough support, then go for it.
But it shouldn't be a priority.
It should be as much of a priority as coders are willing to make it. We have no budgets, no schedules and no marketters to appease. There's no reason not to consider this as much a priority as adding glow points or upping table limits.
-
mikhael, true. But in my opinion there are or should be priorities.
In top of priority list should be features that are most usable and needed.
Linux support is pretty low on this list because 99% of FS2 players are using Windows. Why? Because FS2 is a windows game. Few ppl are known to be moved to Linux, but they knew the risks. If they can play FS2 on Linux, that's fine, in that case it shouldn't become too difficult in the future either.
-
Originally posted by Mr. Fury
mikhael, true. But in my opinion there are or should be priorities.
In top of priority list should be features that are most usable and needed.
The priority should be on what people want. Some people want OpenGL, so let them code it.
There's nothing 'needed'. The engine is four years old (five?). Everyone has gotten along pretty well in all that time. Further, most of the ideas people put forth seem to be stuff that can already be done in the stock game with some creativity, or else get shot down by other people because it would be "Freespace".
Linux support is pretty low on this list because 99% of FS2 players are using Windows. Why? Because FS2 is a windows game. Few ppl are known to be moved to Linux, but they knew the risks. If they can play FS2 on Linux, that's fine, in that case it shouldn't become too difficult in the future either.
Screw Linux. Give me FreeBSD support. ;)
There's no reason to force the project to stick with a Windows only course. I'm no *nix zealot, I just think that the project should go in whichever direction the people coding it want to take it, including down the OpenGL path.
-
OK OK! Whatever, get on with it and stop arguing already. :p
-
It currently is a low priority, for all those reasons :)
That and no programmer :)
-
Originally posted by Mr. Fury
OK OK! Whatever, get on with it and stop arguing already. :p
That seems like a good idea. The people who actually get stuck in and do the coding will deside how this turns out.
Glide or OGL or D3D will not be removed or 'broken' to further progress another without debate and good reason. We can always use code branches to make big changes while protecting old functionality.
At some point we may have to make some difficult choices but we're not there yet. If you want OGL or DX to be the best engine, the way to do that is to help, and work on it yourself.
If you can't code, then you're entitled to your opinions but we are the people doing the work so we get to make the choices of which engines (or whatever) we want to spend our time on.