🎉 Celebrating 25 Years of GameDev.net! 🎉

Not many can claim 25 years on the Internet! Join us in celebrating this milestone. Learn more about our history, and thank you for being a part of our community!

Rendering system is complete!

Published October 10, 2007
Advertisement
Man, it seems like ages since my last post. Wait - it has been ages since my last post! Things have been busy with school/work/family plus development time, but I still managed to get the new renderer more or less roughed in. I just have to add comments and clean up some of the interfaces and it should be all set.
Who's talking about renderer designs???I have been talking in the past few posts about posting the renderer design, which I am still planning on doing. I'm also kicking around the idea of writing an article and submitting it to GDNet about the design. It seems to me that there is actually very little information online about the various ways to design a renderer. Of course there is the Wild Magic engine available for everyone to use and learn from, but if you don't buy the books it is hard to actually see the design intent.

This makes me wonder if there are resources out there that actually compare and contrast the various designs. My personal design is intentionally versatile and upgradeable at some performance expense. An opposing example could be the doom 3 engine, which is extremely optimized for stencil shadow but isn't quite as flexible. It seems that nobody is really talking about what these differences are and why certain designs are better for different applications. What do you guys think? Should we start talking more about the pros and cons of different designs? The scene graph discussions fall into this category as well - there are different applications that could make good use of a graph as opposed to other data structures, but most discussions don't really go into depth about why.

So is anyone interested in a renderer design article? It seems that it would be a fairly large topic and take some time, but it could be (I think) very beneficial to newcomers to see why something is done a certain way. If you don't like the idea, I am actively looking for another topic to write an article on, so if you have any suggestions or possibilities (other than 10 things to do with geometry shaders Jack) I'm all ears!
0 likes 8 comments

Comments

Gaheris
I'd be interested to read about your design.
October 10, 2007 07:13 AM
OrangyTang
Uh, no offense, but has your renderer actually been used in a playable game yet? Because I'm fed up of reading articles written by people who've never actually used the system in question in a working game. You end up with pretty diagrams and elegant architecture descriptions but actually unusable in practice.
October 10, 2007 07:31 AM
zeux
Do you really know 10 uses for GS?

Aside from that, posting a rough class diagram (autogenerated by doxygen from your code perhaps) *before* writing an article will be good. Before - because that way you benefit from the discussion and we don't have to wait for another month while you're working on the article :)
October 10, 2007 11:12 AM
jollyjeffers
Prove that HLSL and a GS is turing complete (probably using SO) and then you'll have a few more than 10 potential uses [grin]

Jack
October 10, 2007 01:23 PM
Jason Z
Quote: Original post by OrangyTang
Uh, no offense, but has your renderer actually been used in a playable game yet? Because I'm fed up of reading articles written by people who've never actually used the system in question in a working game. You end up with pretty diagrams and elegant architecture descriptions but actually unusable in practice.


Indeed my renderer has been used in a playable game. In fact, I released it on the GD Showcase a while back - you can check out Lunar Rift. It isn't a commercial quality game, but I think there are enough rendering effects to warrant the claim that it is 'useable'.

I have also used the renderer in several non-game applications as well, which I think is a testament to the versatility of the design (versatility being one of the key objectives of the design). Where (and why?) have you been reading about renderer designs that haven't even been implemented yet???

To the other responses:
Jack had asked me to write an article about 10 things that are better done with the GS - of which I could only think of about 4-5, so I never went any further with it.

Jack: I don't think a proof of that nature would be appealing at all to the average demographic of GDNet...
October 10, 2007 04:12 PM
OrangyTang
Quote: Original post by Jason Z
Quote: Original post by OrangyTang
Uh, no offense, but has your renderer actually been used in a playable game yet? Because I'm fed up of reading articles written by people who've never actually used the system in question in a working game. You end up with pretty diagrams and elegant architecture descriptions but actually unusable in practice.


Indeed my renderer has been used in a playable game. In fact, I released it on the GD Showcase a while back - you can check out Lunar Rift. It isn't a commercial quality game, but I think there are enough rendering effects to warrant the claim that it is 'useable'.

Ah, thats cool. I had a browse though your recent journal entries but didn't spot anything, I'd completely forgotten to check the showcase.

/me wanders off to try Lunar Rift [grin]
October 10, 2007 06:03 PM
zeux
Quote: Original post by jollyjeffers
Prove that HLSL and a GS is turing complete (probably using SO) and then you'll have a few more than 10 potential uses [grin]

Jack


Well, there are different kinds of uses... GPGPU is not interesting from the POV of game development, one-pass render to cube map is not interesting (because it is slow now, there's no way it's going to be fast later, and I am never going to sacrifice few DIPs (few, because you need to do several DIPs per object only for objects that straddle face frustum boundaries) for 6x geometry hit, sorry), etc.
October 11, 2007 02:19 AM
Jason Z
Quote: Original post by zeux
Quote: Original post by jollyjeffers
Prove that HLSL and a GS is turing complete (probably using SO) and then you'll have a few more than 10 potential uses [grin]

Jack


Well, there are different kinds of uses... GPGPU is not interesting from the POV of game development, one-pass render to cube map is not interesting (because it is slow now, there's no way it's going to be fast later, and I am never going to sacrifice few DIPs (few, because you need to do several DIPs per object only for objects that straddle face frustum boundaries) for 6x geometry hit, sorry), etc.

That's true, but I think the more interesting ones are going to be the ones that make use of the fact that the GS can do scatter operations - this enables a segment of actual rendering algorithms that wasn't really feasible before. Have you ever read about a k-buffer? Things like that (and its applications) are fairly unused so far, and could be interesting to work on...
October 11, 2007 05:14 AM
You must log in to join the conversation.
Don't have a GameDev.net account? Sign up!
Advertisement