Hard Light Productions Forums

Modding, Mission Design, and Coding => FS2 Open Coding - The Source Code Project (SCP) => Topic started by: ##UnknownPlayer## on July 20, 2002, 01:21:10 am

Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on July 20, 2002, 01:21:10 am
Basically I'm creating this so we can discuss the idea of upgrading the graphics engine with DX8.1 functionality in a proper thread of its own.

As I see it, this is a good idea but also a huge one and I do not claim to have intricate knowledge of DirectX. Assuming we go through with this though, we need a definite plan on how to do it since we are talking about a very major upgrade. I am imagining preferably that we would document how the existing engine works first before going through with any updates.

Here are a few of my thoughts on what we would be aiming to put in with such an idea:

1) Hardware T&L - FS2 would become insanely fast with this because of the fact that all the models are non-deforming meshes which apparently handle very fast with hardware T&L
2) Overall faster rendering - DaveB claims that there's room for optimization in it, which means we could have more and higher quality models.
3) Some advanced features, maybe allowing multiple maps so we could have specular highlighting and such?
4) Pointsprites for the particle system as mentioned in another thread
5) Antialiasing support built into the engine. 2x antialiasing is handled rather well by all of the Geforce series cards - even the 256's. 3x (Quincunx) makes things look unbelievable, but not everyone has access to this.

These are just some thoughts, so would anyone care to comment on the feasibility and or add to the list? Keep in mind I haven't added things like pixel and vertex shaders since hardware support for these is very limited (GF3 and 4) and I'm unsure of how they handle with only software (I'm imagining they have a large performance hit)
Title: The DX8.1 Engine Upgrade
Post by: Bobboau on July 20, 2002, 01:58:05 am
I think the big question is,
do we have anyone here capable of doing this?
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on July 20, 2002, 03:07:55 am
That's a given.
Title: The DX8.1 Engine Upgrade
Post by: Martinus on July 20, 2002, 08:35:34 am
Given that AFAIK DX9 will be released to the general public sometime soon would it not be advisable to hold off for a bit and upgrade to it?
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on July 20, 2002, 08:39:29 am
Not necessarily, as most of the new functionality will be beyond the hardware of most people. However, since little will be done before it is released I'd say we'll probably end up going DX9 anyway.
Title: The DX8.1 Engine Upgrade
Post by: Martinus on July 20, 2002, 08:41:58 am
Quote
Originally posted by ##UnknownPlayer##
Not necessarily, as most of the new functionality will be beyond the hardware of most people. However, since little will be done before it is released I'd say we'll probably end up going DX9 anyway.


Yeah, I was just considering that we should future proof this thing as much as we can :)
Title: The DX8.1 Engine Upgrade
Post by: phreak on July 20, 2002, 11:07:35 am
we can also do vertex and pixel shading with DX8

looks like im going to run up to the bookstore and buy a DX8 programming book
Title: The DX8.1 Engine Upgrade
Post by: Inquisitor on July 20, 2002, 12:09:32 pm
In the same way the DX5 runs on DX8 enabled computers, I think we can future proff it that way.

I am fond of 8 but can go either way.

I would add, that not only update the graphics, but also update the control code, and possibly the sound.

I have found that rewriting say, joystick controls from DX-whatever to DX 8 is pretty straightforward. so, that MIGHT be a good place to start, for people wanting to get their feet wet with DX8.

Thoughts?
Title: The DX8.1 Engine Upgrade
Post by: JC Denton on July 20, 2002, 03:04:54 pm
I say work on the simple stuff (like input) that doesn't have massive changes from version to version at first, in DX8, so we can get used to programming in it.  Then when DX9 is released someone can go back over whatever we upgraded to DX8, bring it up to 9, and the remainder of the team can work on something like sound or graphics and upgrade that to DX9.

Sound like a plan?
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on July 20, 2002, 07:21:36 pm
Quote
Originally posted by Inquisitor
I would add, that not only update the graphics, but also update the control code, and possibly the sound.

I have found that rewriting say, joystick controls from DX-whatever to DX 8 is pretty straightforward. so, that MIGHT be a good place to start, for people wanting to get their feet wet with DX8.


The one game where the control customizability is extremely comprehensive and you wanna change it?!?! :wtf:
Title: The DX8.1 Engine Upgrade
Post by: Inquisitor on July 20, 2002, 08:39:06 pm
Not the customization itself, the calls to the DX libs.

A difference, ya know :)
Title: The DX8.1 Engine Upgrade
Post by: Bobboau on July 21, 2002, 02:52:12 am
so who's gona be doing this, I'd take a shot at it but I can't even DL the SDK
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on July 21, 2002, 04:05:25 am
Quote
Originally posted by Inquisitor
Not the customization itself, the calls to the DX libs.

A difference, ya know :)


:rolleyes: Again, we really need a sarcasm tag... :D
Title: The DX8.1 Engine Upgrade
Post by: Inquisitor on July 21, 2002, 07:44:51 am
Sandwhich: Thta's what the ";)" is for :)
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on July 21, 2002, 08:39:02 am
Anyways...

Probably one of the most important things we could do if we start tinkering with the graphics engine would be to draw up a diagram on its functioning. We need to document this thing first before we start to mess around with it. When I get time I might start playing around with it in Visio and see what I can get - if anything useful comes out I'll put it up.
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on July 21, 2002, 02:39:45 pm
Quote
Originally posted by Inquisitor
Sandwhich: Thta's what the ";)" is for :)


Point taken. :)
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on July 24, 2002, 06:13:05 pm
One significant thing from going to DX5 to DX8 or 9 is that the use of direct draw has changed. In DX8 you are not mean to use direct draw to make a 3D app but in DX5 you had to.

Also I think its possible to have different direct systems at different versions. If so the input and sound need not change unless problems arrise but direct3D can be upgraded so we can have nice bump mapping and vertex shading and stuff.
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on July 24, 2002, 06:29:29 pm
Quote
Originally posted by RandomTiger
If so the input and sound need not change unless problems arrise but direct3D can be upgraded so we can have nice bump mapping and vertex shading and stuff.


I think that one of the cheapest (performance-wise) yet impressive graphical improvements would be bump-mapping. Even if the standard POF doesn't come with bump-map info, amazing effects can be attained by taking the lightness value of any texture and appling that as the bump-map for that texture - especially on Vasudan ships. ;7
Title: The DX8.1 Engine Upgrade
Post by: Bobboau on July 24, 2002, 09:13:35 pm
we could make a new BUMP chunck for holding bump map names
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on July 25, 2002, 04:56:01 am
Do both - make it look for bump maps and use them if found, otherwise take the lightness value above a certain threshold. It would be a really cool effect, but it is graphically intensive. I'll look into this.
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on July 25, 2002, 05:22:35 am
Quote
Originally posted by ##UnknownPlayer##
Do both - make it look for bump maps and use them if found, otherwise take the lightness value above a certain threshold. It would be a really cool effect, but it is graphically intensive. I'll look into this.


I've heard (but not done research at all, so I could be waaay off) that bump mapping is actually fairly, uhmmmm.... unintense?? :p
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on July 25, 2002, 08:43:07 am
Depends. On my GF4 it works very nicely, but I'm just wondering about other systems.
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on July 25, 2002, 08:45:10 am
As long as its optional who cares. DirectX can automatically detect hardware support and turn it on itself also.
Title: The DX8.1 Engine Upgrade
Post by: HotSnoJ on July 25, 2002, 02:57:16 pm
I got a neato idea. Anyone here ever play The original Rogue Squadron? If so you know that the laser points some what follow the enemy ship/gound force. If you don't get what I'm saying, PLAY THE GAME. Sorry :p 'bout that. What would be cooler is if you could turn this feature on and off.

BTW what would I need besides mountains of books on C++ programming and FS2 to work on the source and stuff?
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on July 25, 2002, 06:15:38 pm
Quote
Originally posted by RandomTiger
As long as its optional who cares...


:yes2: :nod: :yes:
Title: The DX8.1 Engine Upgrade
Post by: IceFire on July 25, 2002, 08:11:21 pm
But we need to make it operational.  And that means that one or more people steps up to the plate with the knowledge and makes it happen.
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on July 25, 2002, 08:25:33 pm
I'll give it a go when my current project is finished.
Title: The DX8.1 Engine Upgrade
Post by: IceFire on July 26, 2002, 06:29:52 pm
Sweet!
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on July 27, 2002, 05:05:03 am
Making it operation will be the difficult part. Because of the dated DirectX code we need to upgrade it's subsystems to call the directx8 routines, since as far as I can tell (I may be wrong) the older interfaces work but don't support the new features (I'm guessing this from the fact that Direct3DCreate8 is the new way to initialize interfaces).

The upside is that once we update it, it shouldn't have to be done again since the new create functions should apparently work on later sdk's for new features.

[EDIT]
With further study, I've determined that most of the upgrading that we will have to do will probably be localized to the initialization routines as far as the rest of the game engine is concerned, since these simply map the basic graphics functions to whatever API is in use.

The real question that presents itself is how to go about this: I propose that we might develop D3D 8 support in parallel to the existing support.
Title: The DX8.1 Engine Upgrade
Post by: IceFire on July 27, 2002, 08:34:15 am
Doesn't everyone already have DirectX 8 anyways?  So why support older versions when its easy to update.  Plus, if there's really a problem, people can still play the original game.  We're looking for the future a bit.
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on July 27, 2002, 08:39:20 am
Well the issue is that we might want to revert to the original, and while we're developing the update other people might want to work on other sections. By working in parallel we can do as we please without harming the original (working!) code.
Title: The DX8.1 Engine Upgrade
Post by: vyper on July 27, 2002, 12:59:12 pm
Quote
Originally posted by sandwich


I think that one of the cheapest (performance-wise) yet impressive graphical improvements would be bump-mapping. Even if the standard POF doesn't come with bump-map info, amazing effects can be attained by taking the lightness value of any texture and appling that as the bump-map for that texture - especially on Vasudan ships. ;7


*has visions of this being DOT3* Nooooo!
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on July 27, 2002, 05:45:15 pm
Quote
Originally posted by vyper


*has visions of this being DOT3* Nooooo!


Pardon my ignorance, but... DOT3? :confused:
Title: The DX8.1 Engine Upgrade
Post by: vyper on July 27, 2002, 05:49:23 pm
Quote
Originally posted by sandwich


Pardon my ignorance, but... DOT3? :confused:


Its a type of Bump Mapping that comes with the Gforce's and the like. Which my Matrox G400 doesn't support. I can only use the original bump mapping.
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on July 27, 2002, 06:14:16 pm
Quote
Originally posted by vyper


Its a type of Bump Mapping that comes with the Gforce's and the like. Which my Matrox G400 doesn't support. I can only use the original bump mapping.


Ahh... well, I'm sure that the whole graphics code improvement will be a case of "Use what's available, and emulate the rest!"... at least, I hope it is...
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on July 28, 2002, 07:24:58 pm
Has anyone thought about resolutions?
We dont have access to the launcher code.
Does anyone know where it stores its data.
Is writing a replacement (at least for D3D) a bad idea?
Title: The DX8.1 Engine Upgrade
Post by: DTP on July 29, 2002, 03:40:16 am
Quote
Originally posted by RandomTiger
Has anyone thought about resolutions?
We dont have access to the launcher code.
Does anyone know where it stores its data.
Is writing a replacement (at least for D3D) a bad idea?


resolutions are set in the Registry aswell as color depth

here is an example of mine

REGEDIT4

[HKEY_LOCAL_MACHINE\Software\Volition\FreeSpace2]
"EregCount"=dword:00000003
"Videocard"="Direct 3D - Primary Display Driver (32 bit) (1024x768)" <- this is where resolution is set aswell as color depth
"Interlaced Movies"=dword:00000000
"Movie Fast Clear"=dword:00000000
"D3DFast"=dword:00000000
"ForceWFOG"=dword:00000000
"Detect Glide"=dword:00000001
"Detect D3D"=dword:00000001
"DisableZbias"=dword:00000000
"Soundcard"="DirectSound"
"LauncherSoundEnabled"=dword:00000000
"EnableJoystickFF"=dword:00000000
"EnableHitEffect"=dword:00000000
"CurrentJoystick"=dword:00000000
"ComputerSpeed"=dword:00000002
"NetworkConnection"="LAN"
"ConnectionSpeed"="Cable"
"SkipVerify"=dword:00000001
"PXOBanners"=dword:00000001
"ForcePort"=dword:00000000
"Language"="English"
"CmdLineOptions"="-window"
"StraightToSetup"=dword:00000000
"Gamma"="5.00"
"LastPlayer"="FrameS"

[HKEY_LOCAL_MACHINE\Software\Volition\FreeSpace2\PXO]
"Login"="dohhimwithstupid"
"Password"="IMwithstupid;note this aint the actaul"
"SquadName"=""

[HKEY_LOCAL_MACHINE\Software\Volition\FreeSpace2\Version]
"Major"=dword:00000001
"Minor"=dword:00000014
"Build"=dword:00000000

Just changing resolutions to something not supported will not work and proberly give you an error.

A whole lot of things would be have to be changed in the code in order to aquire bigger resolutions.
Title: The DX8.1 Engine Upgrade
Post by: YodaSean on August 01, 2002, 10:51:30 pm
Quote
Originally posted by RandomTiger
One significant thing from going to DX5 to DX8 or 9 is that the use of direct draw has changed. In DX8 you are not mean to use direct draw to make a 3D app but in DX5 you had to.


And the fact that there isn't a direct draw(or direct3D) in dx8, just directX graphics.
Title: The DX8.1 Engine Upgrade
Post by: Solatar on August 04, 2002, 04:00:13 pm
If we upgraded the graphics largely, we could maybe talk to Interplay about producing it. We could add some MODs, remake it into an Freespace3, then try to get it published. Maybe even get it published as a sort of "Silent Threat" to Freespace2. If it went well, Freespace3 might be created. Just a thought. Had to get it out.
Title: The DX8.1 Engine Upgrade
Post by: Sesquipedalian on August 04, 2002, 04:07:33 pm
*Pulls HLP standard issue flamethrower from under seat.  Starts fingering it idly, yet menacingly.*
Title: The DX8.1 Engine Upgrade
Post by: phreak on August 04, 2002, 04:11:56 pm
Copyright (C) Volition, Inc. 1999.  All rights reserved.
All source code herein is the property of Volition, Inc. You may not sell
or otherwise commercially exploit the source or things you created based on the source.
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on August 04, 2002, 04:48:19 pm
Quote
Originally posted by Sesquipedalian
*Pulls HLP standard issue flamethrower from under seat.  Starts fingering it idly, yet menacingly.*


*lunges at Sesq, pulling the trigger and dousing Hades in a consuming inferno*

None of that FS3 stuff, y'hear? NONE!!

:p ;) j/k
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on August 04, 2002, 04:50:26 pm
Um... no, lets not do that. For so many different reasons.
Title: The DX8.1 Engine Upgrade
Post by: Bobboau on August 04, 2002, 05:49:12 pm
lets talk about DX8\9, m'key ;)
Title: The DX8.1 Engine Upgrade
Post by: Solatar on August 04, 2002, 08:37:30 pm
I think FS3 is as gone as you guys do. But *shoosh!!* The Noobies don't know that....*sniff* *sniff*. I thought I got it all out. Yeouch!!! I'm on fire!!! Whoa. Shouldn't have eaten all those jalepenos yesterday. They sure burn twice...
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on August 05, 2002, 04:23:46 am
I swear to god I am gonna start coding forum specific insults into the game when it see's those pilot names.
Title: The DX8.1 Engine Upgrade
Post by: DTP on August 05, 2002, 06:13:38 am
He, beware of such drastic measures, some innocent ppl may use does nicks also
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on August 11, 2002, 04:49:11 pm
Anyway.... What state is the directX update in? Who is currently invloved in it?

Can it eventually be split into sections so different coders can go off and do bits at a time? Obviously this would take great orginisation but otherwise it could take forever.

To be honest Im a bit overwelmed by the task of upgrading the fs2_open D3D so I've been playing around with upgrading the Ship Viewer as a way of getting into this and learning some stuff.

Writing D3D8 code from scratch is one thing but a conversion like this is totally different.

Any thoughts?
Title: The DX8.1 Engine Upgrade
Post by: Anaz on August 11, 2002, 08:42:49 pm
I can assure you that DX8.1 does have direct draw, but it is not supported in any of the help files(:mad: ).
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on August 12, 2002, 05:53:55 am
"Complete integration of DirectDraw and Direct3D
Microsoft DirectDraw® and Microsoft Direct3D® are merged into a single DirectX Graphics component. The API has been extensively updated to make it even easier to use and to support the latest graphics hardware. "
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on August 12, 2002, 06:01:01 am
I'm aware of the enormity of the task of the upgrade - hence why I'm not trying to dive right in but am instead messing around with DX8 so I can get a better understanding of it. Yes, essentially I'm learning it as I go, but this is a good way for me to do it.

Additionally - anyone can work on the update if they know what they're doing - all the files (that SHOULD be needed as far as I know) are in the graphics folder under DirectX8. If you want to take a crack at it feel free.
Title: The DX8.1 Engine Upgrade
Post by: IPAndrews on August 12, 2002, 08:02:46 am
OpenGL would be nicer, and even more enormous.
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on August 12, 2002, 12:48:02 pm
Why would it be nicer?
Shouldnt we hold off until the new version of OGL is released (whenever that is)
Title: The DX8.1 Engine Upgrade
Post by: Fry_Day on August 12, 2002, 01:03:06 pm
Just a little note - not only the basic graphics interface would have to be ported, but the transformations are done by custom code right now, and not the graphics API, which is slower if you have a T&L card at your disposal, so that needs to be changed too
Title: The DX8.1 Engine Upgrade
Post by: Anaz on August 12, 2002, 02:52:19 pm
Quote
Originally posted by RandomTiger
"Complete integration of DirectDraw and Direct3D
Microsoft DirectDraw® and Microsoft Direct3D® are merged into a single DirectX Graphics component. The API has been extensively updated to make it even easier to use and to support the latest graphics hardware. "


its not easier to use when you can't find help about it...

hell, I even did the little index search on the SDK help, and it wouldn't find any mention of Blt...

*sigh*

I'll stop ranting now...
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on August 12, 2002, 03:43:37 pm
You perhaps should look into untransformed, unlit objects.
Title: The DX8.1 Engine Upgrade
Post by: YodaSean on August 13, 2002, 10:48:17 pm
Quote
Originally posted by Analazon
I can assure you that DX8.1 does have direct draw, but it is not supported in any of the help files(:mad: ).


No, I'm pretty sure it doesn't.  I think you either create a surface and draw the 2D image onto it, or use the DirectX sprite object to draw 2D.
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on August 14, 2002, 07:29:02 am
Alternately you end up using the old DirectX libraries which are still included for backwards compatability.
Title: The DX8.1 Engine Upgrade
Post by: rambler on August 14, 2002, 09:32:45 am
DX8 requires all drawing to occur onto D3DSurface8 objects. You can load images from disk, file, or other surfaces onto your surface. You can also directly access the bits on the surface yourself but you must be careful to examine the bpp, pitch, etc. of that surface.

Once you have the image you want to display in a surface, you can display it by using a billboard or directly copying to the front or back buffer. There is no longer a "blt" function per se, but the same functionality is present in other APIs (ie Preset() blits from front or back buffer, UpdateTexture() blits to and from texture surfaces, and CopyRect() blits to and from surfaces.

For a HUD you can CopyRect() your HUD images directly to the back buffer prior to page flipping to achieve a simiar effect as in DX7 with direct draw. Or, you can display the HUD as a billboard with z=0 (or whatever).
Title: The DX8.1 Engine Upgrade
Post by: daveb on August 14, 2002, 10:56:57 am
Quote
For a HUD you can CopyRect() your HUD images directly to the back buffer prior to page flipping to achieve a simiar effect as in DX7 with direct draw. Or, you can display the HUD as a billboard with z=0 (or whatever).


You don't want to be doing that. Drawing any significant # of pixels onscreen should always be done through textured primitives. There's simply no need to use DirectDraw in FS2, even (especially) with DX8.

The real benefit of DX8 will come with T&L. These days, with GF2+ class cards, and the ease-of-use of DX8, T&L has finally become a viable (smart, even!) option. Even with the limited messing around I've done with it here and there, its clear that a real T&L implementation is going to blow away the current software based T&L that the current FS2 code does (FS2 just uses D3D as a rasterizer and nothing more, which is pretty old fashioned).

Seems to me the smartest thing to do is take every POF, and turn them into giant triangle stripified objects, broken down by subobject and texture. The NVidia tri-stripper does a decent job of stripping polygon soup objects. Although its real benefit is being able to spit out one giant triangle strip for any arbitrary set of input polygons. Hence, a single call to DrawIndexedPrimitive() accomplishes a _lot_ of work, and offloads it all to the video card (I refuse to use the term GPU).

What the heck, I have code for this at home. I may just give it a shot.
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on August 14, 2002, 12:40:07 pm
Quote
Originally posted by daveb
What the heck, I have code for this at home. I may just give it a shot.


Niice daveb.... good daveb... :p *hands daveb a cookie* :wink:
Title: The DX8.1 Engine Upgrade
Post by: Anaz on August 15, 2002, 01:01:02 am
sigh...I suppose I am gonna have to do the textured primatives...

oh well...there is a good article about it on gamedev.net
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on August 15, 2002, 04:19:31 am
You know what we really need here? Any internal documentation V might have had for the graphics routines. That would make things a whole lot easier.
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on August 15, 2002, 04:26:25 am
Quote
Originally posted by ##UnknownPlayer##
You know what we really need here? Any internal documentation V might have had for the graphics routines. That would make things a whole lot easier.


Try rephrasing that:

Quote
Originally posted by ##UnknownPlayer##
You know what we really need here? Any internal documentation V might have had -==-. That would make things a whole lot easier.


:D
Title: The DX8.1 Engine Upgrade
Post by: WMCoolmon on August 15, 2002, 03:37:56 pm
(http://members.cox.net/~wmcoolmon/images/yes.gif):nod::yes:
Title: The DX8.1 Engine Upgrade
Post by: Alikchi on August 15, 2002, 08:38:29 pm
Quote
Originally posted by WMCoolmon
(http://members.cox.net/~wmcoolmon/images/yes.gif):nod::yes:


*tempted to derail topic*
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on August 16, 2002, 05:32:17 pm
Quote
Originally posted by WMCoolmon
(http://members.cox.net/~wmcoolmon/images/yes.gif):nod::yes:



*sniff*

:(

A moment of silence for those that have departed from amongst us... :wink:
Title: The DX8.1 Engine Upgrade
Post by: WMCoolmon on August 16, 2002, 09:14:37 pm
It hasn't departed, that's the original. :D Here's some proof (http://www.hard-light.net/forums/index.php/topic,7198.0.html).

And it was added by Steak...:(
Title: The DX8.1 Engine Upgrade
Post by: Bobboau on August 20, 2002, 01:54:28 am
I wonder if we'd be able to get this thing upgraded to dx8
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on August 20, 2002, 06:50:15 am
Big job but possible.
Would require a few coders to work together I reckon.
Also we would need a lot of support off the community for testing.
Title: The DX8.1 Engine Upgrade
Post by: Inquisitor on August 20, 2002, 10:33:43 am
Start small. Things like the movie player is a start, then maybe move on to controls. Or the hardware detects stuff. Graphics are gonna have to be thought thru ;)

Basically, start with the easy stuff, DX is more than just graphics ;)

Last I checked, UP was deep into looking at the DX8 SDK, so, maybe we'll hear somethign from him soon :)
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on August 20, 2002, 12:10:26 pm
We obviously need to update Direct3D (just see my poll in MOD forum). And we may have to do something about direct draw at some point.

But is there any need (at this time) to update direct sound, input or any other components of directX?
Title: The DX8.1 Engine Upgrade
Post by: Zarax on August 20, 2002, 03:16:59 pm
Not to be off topic...
But system requirements should be taken with the highest importance...
Not everyone here has a last gen pc...
I think that the average user may have an high-end pentium 2 to medium clock pentium 3 (about 650/700 mhz) and video cards ranging from voodoo 2 to geforce 2 mx (on average).
You should take something similar as target system requirement, by doing the right implementations or making many switches in the code, so that the game automatically detetcs the performance and adjust the graphic level (basically update the small utility that there was in the setup menu if it's still there).
I'm also against any changes that can bring compatibility isses with pof models...
If you don't keep compatibility there is an high risk of losing many great mods...

Just my two bits...
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on August 20, 2002, 04:07:03 pm
Quote
Originally posted by Zarax
Not to be off topic...
But system requirements should be taken with the highest importance...


They are in my mind

Quote

Not everyone here has a last gen pc...


I only have a P3 450 which I consider crap to be honest.
But polls have been done to identify HL members PCU speed, gfx card type and overall benchmark. So I think this is something developers have in mind.

Quote

so that the game automatically detetcs the performance and adjust the graphic level.


In my experience auto detects for PC games are usually rubbish. Most due to the fact they dont treat gfx and cpu power differently.
I would prefer to keep the power with the user as the FS series always has. Which also means less coding which is nice.

Quote

I'm also against any changes that can bring compatibility isses with pof models...
If you don't keep compatibility there is an high risk of losing many great mods...


What exactly has brought this worry on?

If we upgrade FS2 to DX8 then it may not work on win 95, but thats not our fault. Mircosoft has abandonned that OS.

As I see it and I hope this is the case, that the engine will remain back compatable but new features may not be avaliable to those with old tech, ie an old graphics card.
Title: The DX8.1 Engine Upgrade
Post by: IceFire on August 26, 2002, 03:19:02 pm
I think in general, DX8 will help speed up some of the older machines too.  If you've got a decently recent video card with the latest drivers, this will probably boost performance.
Title: The DX8.1 Engine Upgrade
Post by: Fry_Day on August 29, 2002, 09:09:12 am
Quote
think that the average user may have an high-end pentium 2 to medium clock pentium 3 (about 650/700 mhz) and video cards ranging from voodoo 2 to geforce 2 mx (on average).


First of all, according to the system specs poll, this is wrong - more people have CPUs faster than 800MHz, and more people have T&L compatible cards (With the GeForce2 MX being the slowest of the pack) than people under the 'other' part, which I assume are all non-T&L capable (Even though there might be an odd S3 Savage 2000 (which has T&L)).
DX8 will mean SERIOUS preformance increases for anyone with a T&L capable card, and perhaps increases for non-T&L capable cards, since DirectX has indeed improved over the years.
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on August 29, 2002, 09:16:06 am
I hope we dont have too many voodoos. I dont think direct X8.1 is going to get on well with them.

"Voodoo 3 only supports DirectX up to version 7 natively" PC Gamer

I just cant get my DirectShow8 code working properly on a voodoo 2.

You can get third party drives for v3 but I doubt they are perfect.

Serves you all right for buying voodoo's though. You should have bought TNT's (1 or 2) instead. But you bought voodoo's because their boxes were prettier and your stupid mates told you to, DIDNT YOU? (fools)

:mad: - Voodoo rant over -:mad:
Title: The DX8.1 Engine Upgrade
Post by: Martinus on August 29, 2002, 08:42:38 pm
Quote
Originally posted by RandomTiger
I hope we dont have too many voodoos. I dont think direct X8.1 is going to get on well with them.

"Voodoo 3 only supports DirectX up to version 7 natively" PC Gamer

I just cant get my DirectShow8 code working properly on a voodoo 2.

You can get third party drives for v3 but I doubt they are perfect.

Serves you all right for buying voodoo's though. You should have bought TNT's (1 or 2) instead. But you bought voodoo's because their boxes were prettier and your stupid mates told you to, DIDNT YOU? (fools)

:mad: - Voodoo rant over -:mad:


I have a voodoo 3 2000 and I think it's a downright excellent card, it's a doddle to setup and drivers are plentiful and very stable, it was also pretty affordable. There's no question that in todays terms it's showing its age but I don't regret getting it instead of a TNT.

Getting mad about this is silly, anyone who's still running a voodoo card is most likely to own an older machine in any case which means that any significantly upgraded version of FS2 might not run well on their machine.
We can still add new functionality to the executable whilst keeping it compatable on older hardware so where's the problem?

Surely this only truely effects graphics related updates.
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on August 30, 2002, 04:54:54 am
Quote
Originally posted by Maeglamor


I have a voodoo 3 2000 and I think it's a downright excellent card, it's a doddle to setup and drivers are plentiful and very stable, it was also pretty affordable. There's no question that in todays terms it's showing its age but I don't regret getting it instead of a TNT.


Im surprised you havent had any problems yet. Which drivers do you use, offical ones or third party? V3's only officially support up to DX7.

If you have drivers that are stable, reliable and complete for directX8 we could do with knowing which ones they are, perhaps v3 owners wont have to get left behind.

Voodoos are a nightmare to program for, I've had many bad experiences with them that have increased my hate of them.

Up until a few months ago I was using a TNT2 and still could play Max Payne, Medal of Honour, AvP2, black and white.
Title: The DX8.1 Engine Upgrade
Post by: Martinus on August 30, 2002, 12:50:26 pm
I use 3rd party drivers and am currently running Dx8 on both my win95 and 2k partitions. Both sets of drivers are available on voodoofiles. The win 95 drivers are called 'Cuneyt to Adjusted 3dfx Voodoo3 Driver' and the win 2k drivers are 'Dozer 1.0 XP' both are very stable and come with Dx updates.
Title: The DX8.1 Engine Upgrade
Post by: Nico on August 30, 2002, 01:56:46 pm
stupid question number... her... I've stopped counting them:
does the radeon series support T&L?
Title: The DX8.1 Engine Upgrade
Post by: Fry_Day on August 30, 2002, 06:05:19 pm
Of course the Radeons support TnL. That's why they aren't called Rage . Well, that and that the Rage series was horrible :)

Edit: Fixed grammatical error. Also, I didn't say so, but the Rage 128s (Rage FURY, Rage MAXX) were okay chips, but they were both late (supposed to compete with TNT1, but released a short time before the TNT2), and plagued with driver problems (Flickers and other visual artifacts) and bad OpenGL preformance, which I guess is another driver problem.
Title: The DX8.1 Engine Upgrade
Post by: Sandwich on August 30, 2002, 07:53:30 pm
Quote
Originally posted by Fry_Day
Well, that and that the Rage series were horrible :)


*winces* Ouch, don't remind me. :shaking:
Title: The DX8.1 Engine Upgrade
Post by: Nico on August 31, 2002, 05:19:11 am
Quote
Originally posted by Fry_Day
Of course the Radeons support TnL. That's why they aren't called Rage . Well, that and that the Rage series were horrible :)


YES!
Title: The DX8.1 Engine Upgrade
Post by: vyper on August 31, 2002, 05:52:29 am
Heh, didn't know that! :)
Title: The DX8.1 Engine Upgrade
Post by: Fafner on September 02, 2002, 01:06:46 pm
Quote
Originally posted by RandomTiger
I hope we dont have too many voodoos. I dont think direct X8.1 is going to get on well with them.

"Voodoo 3 only supports DirectX up to version 7 natively" PC Gamer

I just cant get my DirectShow8 code working properly on a voodoo 2.

You can get third party drives for v3 but I doubt they are perfect.

Serves you all right for buying voodoo's though. You should have bought TNT's (1 or 2) instead. But you bought voodoo's because their boxes were prettier and your stupid mates told you to, DIDNT YOU? (fools)


Quote
Originally posted by RandomTiger
Im surprised you havent had any problems yet. Which drivers do you use, offical ones or third party? V3's only officially support up to DX7.

If you have drivers that are stable, reliable and complete for directX8 we could do with knowing which ones they are, perhaps v3 owners wont have to get left behind.

Voodoos are a nightmare to program for, I've had many bad experiences with them that have increased my hate of them.

Up until a few months ago I was using a TNT2 and still could play Max Payne, Medal of Honour, AvP2, black and white.


Yea well I bought a TNT2 Ultra and always regretted that I didnt get a Voodoo3 so I could have played Freespace in glide :wink: . Later on I bought a Voodoo5 5500, even though I knew the Geforce2 GTS was slightly faster in most games, coz I wanted Glide and 3dfx's superior FSAA.

My Voodoo5 can run all new games I've tried so far like Aquanox, Jedi Outcast, MOH and Red Faction. According to Mark Rein at Epic the coming UT2003 will work well Voodoo5, even Voodoo3's will run UT2003 at low resolution/low detail.

Concerning drivers, DX8.1 compatible Voodoo5 drivers are under development by the folks at 3dhq, they have had problem with hosting, but their site is rumoured to be up again in a week or so. When this happens I can give you the link for contact if you are interested. Here is a news post from Beyond3D about these drivers:
Quote
Originally posted at Beyond3D
Posted: Wed Jul 17, 2002 7:34 pm   Post subject: Back I am, more news on 3dhq

Latest developments on the 3dhq (formerly 3dfx-Underground) Voodoo Series driver development, straight from the horse's (or Aquouess's) mouth:

The 1.09 Final driver's latest additions include the following:

Direct3D has now been updated, and is now pretty much fully DirectX 8.1 compatible. The WinXP service file 3dfxvsm.sys has been fully updated to work for DX8.1... meaning issues in games such as Grand Theft Auto III and Rally Championship Extreme have been resolved.

Already complete are the OpenGL updates, courtesy of Aquo's own ICD, which includes several special features, for example Anisotropic Filtering (yes, it IS real) and full OpenGL 1.2 compatibility.

Expect the 1.09 Final driver out... as soon as it's finished

http://www.beyond3d.com/forum/viewtopic.php?t=1649

:) Fafner
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on September 02, 2002, 01:25:57 pm
Quote
Originally posted by Fafner
Yea well I bought a TNT2 Ultra and always regretted that I didnt get a Voodoo3 so I could have played Freespace in glide


What was better about glide?

Quote

Concerning drivers, DX8.1 compatible Voodoo5 drivers are under development by the folks at 3dhq


Meanwhile DX9 is in beta.
Title: The DX8.1 Engine Upgrade
Post by: Bobboau on September 02, 2002, 02:17:06 pm
just about everyhing is suposedly beter in glide, but most notably was the ND colors, were you would have glowing red parts of ships on shival ships and blue glowing lights on some others
Title: The DX8.1 Engine Upgrade
Post by: Fafner on September 02, 2002, 02:29:44 pm
Back when Freespace2 was released there were performance issues on most comps with the high detail setting (i think athlon 800 was the fastest there was back then, i was running a cel466 :D ). When this was debated at the Volition bulletinboard I remember a Volition representative saying that FS2 was optimized for Glide and he adviced ppl to buy Voodoo 3's if they wanted to use high detail with ok framerate.

Today glide is offcourse outdated and more can be accomplished with DX if you are updating the engine, no argument there. :)

And yea I know Dx9 is beta, it will be a while before we'll see dx9 games though. And as far as I know the Radeon 9000-series is the only dx9 compliant graphic card around.

:) Fafner
Title: The DX8.1 Engine Upgrade
Post by: wEvil on September 02, 2002, 02:56:08 pm
Quote
Originally posted by Fafner
And yea I know Dx9 is beta, it will be a while before we'll see dx9 games though. And as far as I know the Radeon 9000-series is the only dx9 compliant graphic card around.


OOOOHhh, the MISinformation.

The Matrox Perhelia 512, the 3Dlabs P10 and the ATI Radion 9k's are all DX9 compliant as far as i'm aware, since they're all essentially the same design.
Title: The DX8.1 Engine Upgrade
Post by: Fafner on September 02, 2002, 03:32:32 pm
ohhh, my bad...:o
Title: The DX8.1 Engine Upgrade
Post by: Fry_Day on September 03, 2002, 12:27:26 pm
Two errors there - The Parhelia doesn't fully support dx9 (and it's speed is crappy anyhow), and the Radeon 9000 does NOT support dx9 - it's a stripped-down Radeon 8500.

Edit: Fixed a humiliating typo :)
Title: The DX8.1 Engine Upgrade
Post by: Fafner on September 03, 2002, 03:28:24 pm
So then its the Radeon 9700 and... that are fullty DX9 compliant? (not sure if the 3dlabs p10 has been released?)
Title: The DX8.1 Engine Upgrade
Post by: Fry_Day on September 04, 2002, 10:28:36 am
I don't think the P10 has been released yet either.

The Radeon 9700 is fully DirectX 9.0 compliant.

Btw, did you know that the X-Box is derived from the name 'DirectX-Box,' which was the original name?
Title: The DX8.1 Engine Upgrade
Post by: DTP on September 05, 2002, 02:45:51 pm
thats, kind a old news. read it in some preview article with about the X-box in a local(denmark) PC/console magazine.

X-Box was not so hard to link to the DirectX name
Title: The DX8.1 Engine Upgrade
Post by: Fry_Day on September 06, 2002, 07:50:42 am
Erm, I just wanted to say that this topic is getting more and more pointless, so it needs to be un-stickied or something
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on September 06, 2002, 08:39:18 am
OK, lets try and get it back on track. WHat is the difference between DX9 and DX8. Is there anything that will help us or things that will cause problems?
Title: The DX8.1 Engine Upgrade
Post by: Fury on September 06, 2002, 09:16:58 am
I doubt there is really anything in DX9 that is really usefull.
Most video cards and drivers currently supports DX8, DX9 support would be such a waste.
Title: The DX8.1 Engine Upgrade
Post by: wEvil on September 06, 2002, 09:22:19 am
There are HUGE differences in the two.

DX9 will support, amongst other things, 128bit floating-point pixels (meaning you get nice per-pixel glows, reflection, specularity, diffuse, hell - even Global illumination in hardware!)

However compliant accelerators need to be these new-fangled programmable things.

DX8 and 7 cards do not support this level of programmability.

Still havent found out about the Dsound support tho :(
Title: The DX8.1 Engine Upgrade
Post by: ##UnknownPlayer## on September 07, 2002, 09:22:57 pm
I'm going to go out on limb here and actually like, say something closer to the topic of this thread.

I've just finished putting in the framework of the new D3D8RENDER class which will contain all the new D3D8 functionality. It's linked to the gr_screen structure and stuff, and compiles properly. The resultant exe still crashes because there is no code in the framework, but its there now for others to work on.
Title: The DX8.1 Engine Upgrade
Post by: Fury on September 09, 2002, 05:42:15 am
Not much use of DX9 (and DX9.1) if you don't have hardware that supports DX9(.1).

Why don't you stick with DX8, it is more than enough for FS2 which is quite old game now.

Most of us will be more than happy if you beloved coders can put DX8.1 into a good use for FS2.

Can you pretty please upgrade FRED2 as well? ;)
(Hardware video acceleration instead of software...)
Title: The DX8.1 Engine Upgrade
Post by: Inquisitor on September 09, 2002, 06:40:14 am
Ok, we may need to focus this conversation about the actual design of the DX8 upgrade ;)
Title: The DX8.1 Engine Upgrade
Post by: IceFire on September 21, 2002, 08:34:11 pm
Yes please!!

How is research and development going on the DX8 upgrade?
Title: The DX8.1 Engine Upgrade
Post by: Fury on September 22, 2002, 04:34:41 am
Quote
Originally posted by IceFire
Yes please!!

How is research and development going on the DX8 upgrade?


Very rarely I have seen IceFire to behave like an impatient fan. ;)
Funny. :D
Title: The DX8.1 Engine Upgrade
Post by: IceFire on September 22, 2002, 08:59:14 am
I was just asking, since I haven't been paying much attention.  Did it get started?  Did we run into a roadblock?  Whats the official word?

If I were impaitent...my comments would be something like: "Why don't we have this now??  COme on guys, this isn't so hard!  You can do it in like 2.53332102 seconds.  Your so slow!!!"

But I would never say such a thing (and mean it) :D
Title: The DX8.1 Engine Upgrade
Post by: Fury on September 22, 2002, 11:16:32 am
Whatever you say. :)
You should keep this forum on eye, you're a moderator after all. ;)
Title: The DX8.1 Engine Upgrade
Post by: IceFire on September 22, 2002, 11:37:37 am
Its called University and plenty-o-work :)
Title: The DX8.1 Engine Upgrade
Post by: Darkwarrior on September 24, 2002, 03:37:07 pm
Going to Direct 8.1 first will probably make the transition to DirectX 9 easier anyway.
Title: The DX8.1 Engine Upgrade
Post by: Fury on September 25, 2002, 02:37:23 am
Perhaps but there is more important stuff to be implemented than DX9 support, really. Why to implement support for DX9 when there is what, less than 1% people who can actually take any use out of it?

At least I am not willing to upgrade my system, or at least video card any time soon, my GF3 Ti200 must keep it up for couple more years.
Title: The DX8.1 Engine Upgrade
Post by: RandomTiger on September 25, 2002, 06:22:31 am
Lets stop worrying about DX9 eh?
DX8.1 is good enough for now.
The high level stuff that DX9 will supply is most likely not relevent to FS2's aging engine.
Title: The DX8.1 Engine Upgrade
Post by: Fury on September 25, 2002, 08:26:47 am
RandomTiger, that's what I have tried to say.
But nobody listens as usual. :p