Hardware T&L

Post your Feature Requests here...
User avatar
QuestOfDreams
Site Admin
Posts: 1520
Joined: Sun Jul 03, 2005 11:12 pm
Location: Austria
Contact:

Post by QuestOfDreams » Sat Apr 07, 2007 4:23 pm

Puh... long time since my last post here... unfortunately I lost almost all of the dx9 driver code during my last harddrive crash so I had to restart this project from scratch, which I did just a few days ago ... :(
Status:
D3D9 initialization and basic (brutal force/not hardware accelerated) geometry rendering completed.

The current plan is to have a dx9 driver with the functionality of the current dx7 driver at least by the end of this year.

User avatar
wackedoutbiker
Posts: 189
Joined: Tue Jul 19, 2005 9:11 pm

Post by wackedoutbiker » Wed Apr 18, 2007 2:35 am

Man, how did you lose everything like that? You should back your stuff up. I'm making an off-site copy of my current files that only I can access in case my stuff blows up or freezes and doesn't come back.

Or maybe a backup disc? I'm not ssaying you did anything wrong, it still sucks to lose everything like that.
More atrocities are committed in the name of that which is holy and righteous than that which is wicked and evil

Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post by Jay » Sat May 05, 2007 12:54 pm

Quest, i have looked at the genesis code that handles the rendering and the transformations, as far as i have understood it (it's very ugly code and not very well structured) the rendering is done in the driver, while the transformations are done in genesis3d (not in the driver).

It's also pure c code, which means it is not very object oriented. That makes it even harder to understand for someone who hasn't dealt with genesis before.

I don't like this at all. So let's say we want to change one feature, then we had to first change the genesisLib, then the driver, and then the realityfactory.exe. Not to mention the legibility und understandability of the code gets worse because of the pure c structs which don't have member functions or something like that.

I think it would be better if we just dumped that whole genesis3d-driver model and write our own rendering pipeline. I mean we are just banishing the rendering pipeline and nothing else.

We could write classes for the d3d9driver and every thinkable object. We would 'communicate' with the driver over a global object of it.

We could also have classes for Meshes, Quads (in this case i mean like hud pictures), Sprites, dynamicPictures(that are created and destroyed automatically, this would be like AddPolyOnce(...) from the genesis engine) because all of them may be rendered a bit differently.
Everyone can see the difficult, but only the wise can see the simple.
-----

Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post by Jay » Tue May 15, 2007 9:29 pm

Forget it Quest, it would be too much work.

If you already have done this, you can keep it, but i now think that doing this is (almost) like writing RF2, or rewriting the engine completely, if wouldn't do this we would get some bottlenecks when we tried to interpret the genesis bitmaps or the actors in runtime...

How is the project going?

A note:
Maybe you could upload the source to an external place (like the Rf site) where first it is relatively save, and also everyone that wants to help can access it. You would have a 'backup' and an 'official' folder, so that other programmers can help you with this not-so-easy task. We would download the files from the official folder, and then when we are finished, we send them back to you...
Everyone can see the difficult, but only the wise can see the simple.
-----

User avatar
QuestOfDreams
Site Admin
Posts: 1520
Joined: Sun Jul 03, 2005 11:12 pm
Location: Austria
Contact:

Post by QuestOfDreams » Tue May 15, 2007 10:42 pm

I've done a bit of work on the driver and it's almost in the state I had it before my hardrive crashed. I've set up a svn repository for this project but I'd like to do some more work before opening it to other programmers to give the development a clearer direction...

Jay
RF Dev Team
Posts: 1232
Joined: Fri Jul 08, 2005 1:56 pm
Location: Germany

Post by Jay » Wed May 16, 2007 4:37 pm

ah that's ok. I thought you wouldn't open the code yet but it was just a suggestion.

That's good work on the driver so far...
Everyone can see the difficult, but only the wise can see the simple.
-----

Agentbromsnor
Posts: 37
Joined: Wed Jun 13, 2012 6:22 pm

Re: Hardware T&L

Post by Agentbromsnor » Fri Jun 22, 2012 2:49 pm

Mega-bump! :D

I was wondering how Hardware T&L is coming along after all these years, since I do think its an important feature that can increase FPS in RF. :)

User avatar
QuestOfDreams
Site Admin
Posts: 1520
Joined: Sun Jul 03, 2005 11:12 pm
Location: Austria
Contact:

Re: Hardware T&L

Post by QuestOfDreams » Mon Jun 25, 2012 2:12 pm

I haven't worked on the DX9 driver for years now. The problem was that to really benefit from the update you not only have to adjust the rendering engine (and there are quite a few areas that require major changes) but probably also the bsp compiler (face splitting, lightmap generation ...) and in further consequence the level editor. Still Genesis3d would not be able to compete with other modern engines that have a much larger community of developers. Eventually I/we came to the conclusion that it is more reasonable to spend the time on building a new toolset around a modern engine like Ogre3D (-> Reality Factory 2).
Unfortunately, for personal reasons, I was not able to really spend time on this project as well. Paradoxnj should be able to give you more information on the current status of RF2. That's the way things are going.

Post Reply