Author Topic: Engine Overhauls  (Read 10365 times)

0 Members and 1 Guest are viewing this topic.

Yeah, the title makes it sound like I'm insane, but this is actually just a project proposal.

I'd like to propose the near-future (hightlight near - I'm not actually available to work on this right now) creation of a new branch off the main branch dedicated to the re-writing the core rendering engine of FS2 to support the most up-to-date tech's available (actually mainly just HW T&L since this will require a serious engine overhaul).

Essentially the purpose of this branch would be the identification of the current functioning of the Freespace 2 render engine (we still don't have a very good understanding of how it works) and the subsequent removal and implementation of a new render engine (or something that allows us to achieve a similar effect).

I believe we need to do this, since as has been stated many times before, the way the engine is currently we can't implement HW T&L and expect to get any significant performance gains. However, with a re-written rendering pipeline in the engine, we could get excellent performance gains out of it while still keeping the rest of the game independant and functioning. This leads us to the primary advantage of this idea, in that it would allow us to implement many additional cool features to the engine and potentially bring it up to par with modern space sim engines (i.e. we could have full bumpmapping going with specular highlights and FSAA - that would give us almost 3D Render quality visuals).

What do you all say?

 
good luck, you'll need it.

honestly,after the bugs are wokred out, this sounds like a good project for the SCP, but it will be a lot of work.
just another newbie without any modding, FREDding or real programming experience

you haven't learned masochism until you've tried to read a Microsoft help file.  -- Goober5000
I've got 2 drug-addict syblings and one alcoholic whore. And I'm a ****ing sociopath --an0n
You cannot defeat Windows through strength alone. Only patience, a lot of good luck, and a sledgehammer will do the job. --StratComm

 

Offline Nico

  • Venom
    Parlez-vous Model Magician?
  • 212
what do I say? fix the damn clipping first :p
SCREW CANON!

 
In light of the way the ability to create mods seems to have outpaced the capabilities of the render engine, I think it might not be a bad idea. From what little I can understand of programming, I have to agree though that this would be a pretty big job.  Good luck.
All I ask is a tall ship and a star to steer her by.
And a laughing yarn from a merry fellow rover.
And a quiet sleep and a sweet dream when the long trick's over.
- JOHN MASEFIELD

 

Offline RandomTiger

  • Senior Member
  • 211
I didn’t want to make this public until I was finished but I don’t want to waste coder time by have you guys go off and start on the same kind of project I started a while ago. I have only been making code changes for HT&L for a few weeks but I have been thinking about it before I even started upgrading the engine to D3D8 and have done a fair bit of research. But recently I’ve had some time off so I have spent some full days on this.

I have managed a fair bit but I’m no where near finished and I cant afford to spend as much time on it as I have been recently so the progress is slowing.

For a number of reasons I have started this project from a fresh fs2 code base (i.e. not fs2_open):

I don’t have cable internet access any more and want to keep personal time on the net to a minimum
This project has required vast structural changes breaking all the other graphics engines
Previous use of branches in cvs didn’t seem to turn out as good as we hoped

What have I done:

Hardware fog
Most objects are projected on the gfx card
Half way through a total restructure of how the texture system works
Implemented hardware lighting code, doesn’t work properly yet though, positions are messed up

What I still have to do:

Address the main problem the vertex, index and poly structure coming from the pof files
Sort out the rest of the texture restructure
Sort out a few tricky bits like engine glows
Fix clipping plane orientation problem
Optimize
Other stuff I’ve probably forgotten about (I will check my notes when I get home)

I am developing this on a AMD XP 2400 GF4 Ti but also now have a test machine to check how it works on a lower spec, a P3 450 TNT2.

I have done this work in D3D8 but it could as easily be applied to OpenGL. I would prefer not to release source code at this time but first try and make it a bit more complete and tidy some stuff up.

The problem with implementing this has mostly been lack of understanding of how the current FS2 engine works, so UP is totally right, we need to lock down how this all works. I can be of help there with some things, at some point I will try and write a document on what I know and post it here.

The main reason I kept so quiet is that I didn’t know how successful this attempt would be or how long it might take. I don’t like to promise something unless I know I can deliver it. I cant be 100% certain I’ll get this all finished but I know I 100% want to and in either event the results will in one way or another be useful to fs2_open.

I imagine there might be a few questions for me now.
« Last Edit: May 29, 2003, 07:29:44 am by 848 »

 

Offline RandomTiger

  • Senior Member
  • 211
Fog in FS2 D3D5 works by rendering a low quality nebula coloured background (probably onto a sphere) and taking a copy of it into system memory. Then when its time to render a ship each vertex (which is already projected into 2D) position is found on this background copy. The pixels around this area are averaged to make up a colour at that vertex is blended with the current colour depending on how far away the object is.

Now the vertices have their colours the polys are rendered shading with colours between the point colours. SOmetimes this doenst look very good because the only the point not the edges shading match the background. Looks like there might also be a table fog option in the code but I've never seen it operation.

Notice that low poly objects (like cargo boxes) suffer texture loss in fog on some tri's using this method, a bug I've never been able to lock down, and now dont have to.

In DX8 HT&L you are more likely (like I did) to use pixel / table fog simply because it looks so much better. However using a simple method this just takes a colour and fogs objects to that colour, this means that they wont be made to match the background like in the old system. In my code to sort this out I simply chucked away the background since it didnt look that great anyway. Now the fog is control by a RGB value. To keep backcompatibility I simply manually matched the colour given by the backgrounds with a new hardcored colour thats set depending on the filename passed in. Would be good to add the option to fred to set the RGB value to give FREDers total control.

I wrote this up in 5 mins so sorry if its a bit rough.

 
should i post news about this on the scp website,or is it to much an loose idea to do that?
just another newbie without any modding, FREDding or real programming experience

you haven't learned masochism until you've tried to read a Microsoft help file.  -- Goober5000
I've got 2 drug-addict syblings and one alcoholic whore. And I'm a ****ing sociopath --an0n
You cannot defeat Windows through strength alone. Only patience, a lot of good luck, and a sledgehammer will do the job. --StratComm

 

Offline Scuddie

  • gb2/b/
  • 28
  • I will never leave.
Oh...  GAME engine overhaul...  I thought you were wanting to let users reconstruct the engine, so you would be able to put an anti-fusion head on the block, or use a Shivan crankshaft that has dual cams :).

Yes, I am an idiot

BTW, before deciding to do anything major, consider that stability and compatibility are premium.
Bunny stole my signature :(.

Sorry boobies.

 

Offline diamondgeezer

Also very important is bug fixing - and I don't mean SCP-induced bugs. I mean those annoying little things that V left in there because they didn't affect their campaign. Like my turret thread, which The Claw seems to have bumped. And the constant collisions. I'd like to see the basic stupidities ironed out of the game more than fancy, Ge-Force-melting lighting effects :nod:

 

Offline RandomTiger

  • Senior Member
  • 211
Quote
Originally posted by diamondgeezer
Also very important is bug fixing - and I don't mean SCP-induced bugs. I mean those annoying little things that V left in there because they didn't affect their campaign. Like my turret thread, which The Claw seems to have bumped. And the constant collisions. I'd like to see the basic stupidities ironed out of the game more than fancy, Ge-Force-melting lighting effects :nod:


You've got a good point but in the end none of us are getting payed for this so we get to do what interests us. I would like some texturers to update the standard game textures but no-ones interested because they want to make something new. Which is fair enough.

 I did fix one of V's bugs (fogged HUD when targetting debris in nebula) but thats visual and probably not what you are on about.

I dont have cable access anymore and I've decided it would be too much hassle to be a direct coder provider to this project at the moment.

 

Offline phreak

  • Gun Phreak
  • 211
  • -1
rt, can you upload the code somewhere so i can start with opengl
Offically approved by Ebola Virus Man :wtf:
phreakscp - gtalk
phreak317#7583 - discord

 

Offline RandomTiger

  • Senior Member
  • 211
I think its a bit early for that, still doing major restructuring.

If you are serious about making it work in OGL as well give me an e-mail and we can discuss it further.

 
I have to say good work RT - once again you've shot ahead where I was only beginning to consider the possibilities. Yeah, as I was saying at the start of this thread, I intended this to be a near future thing since right now I have a much more pressing issue of finishing my school software development project, but once that's done I'd like to fly back into FS2 development, especially considering I've now got a whole lot of new knowledge on using DX8.

 

Offline diamondgeezer

Quote
Originally posted by RandomTiger
You've got a good point but in the end none of us are getting payed for this so we get to do what interests us.

Well furry muff.

*pays less attention to the SCP forum* :p:ha:

 

Offline RandomTiger

  • Senior Member
  • 211
Quote
Originally posted by diamondgeezer

Well furry muff.

*pays less attention to the SCP forum* :p:ha:


Im sorry that you are not getting what you want from the SCP at the moment but please keep on trying. Im a graphics programmer, put me near the AI (Im assuming you are on about colliding ships) and I'll probably do more damage than good.

 

Offline Martinus

  • Aka Maeglamor
  • 210
    • Hard Light Productions
[color=66ff00]RT why do the textures have to be on existing models?
You need models with similar poly counts as the original but higher texture detail (larger maps) right? Venom and aldo already have messed with putting 1024*1024 single maps on fighters if I remember correctly, why not use one of those as your test subject?

I can't think of why those models would be sidestepped in preference of the :V: ones.
[/color]

 

Offline Martinus

  • Aka Maeglamor
  • 210
    • Hard Light Productions
[color=66ff00]Oh and by the way...
Nice work. :)
[/color]

 

Offline Nico

  • Venom
    Parlez-vous Model Magician?
  • 212
Quote
Originally posted by RandomTiger


You've got a good point but in the end none of us are getting payed for this so we get to do what interests us. I would like some texturers to update the standard game textures but no-ones interested because they want to make something new. Which is fair enough.


you've got it all right there. making new textures for the existing pofs would be a real plus ( imagine 2048*2048 maps for the fighters, etc - that is, for cards that can handle those ). but that's a lot of work, I see myself easily spending a whole weak on one ship for such a task. as you said, we ( modellers/mappers ) aren't paid either for that, so we do what interests us :D
in the light of this, it would be only fair to "trade" ;)
for exemple, it would be great to have some sort of lod0 for the fighters, but that can be done only with a SCP work ( improiving the clipping, so, for exemple, a detailled cockpit -like the one I did on that F22- wouldn't look like a big mess ). think about it ;)
SCREW CANON!

 

Offline KARMA

  • Darth Hutt
  • 211
    • http://members.fortunecity.com/aranbanjo
in my opinion RT you should look for mods supporting scp rather than updating original :v: artwork, since you can get much more interest to scp modifications from a tbp mod (or maybe a SW one:doubt: ) with a "new" story/models etc, than from a game of 4 years ago.
btw, if you really will manage to build a new rendering engine with more actual standards, better, faster, w/o those clippings(i drop a line too for trading about them;)), well... i think you will be worshipped by the community for, oh well, the eternity:)...surely by me, at least:)
so good luck and good work for what you have already done:)

 

Offline Bobboau

  • Just a MODern kinda guy
    Just MODerately cool
    And MODest too
  • 213
you know there are some advantages to useing TBP, R1 loads like fifteen times as fast as the origonal ;7
Bobboau, bringing you products that work... in theory
learn to use PCS
creator of the ProXimus Procedural Texture and Effect Generator
My latest build of PCS2, get it while it's hot!
PCS 2.0.3


DEUTERONOMY 22:11
Thou shalt not wear a garment of diverse sorts, [as] of woollen and linen together