Software Renderer Mysteries

Discuss programming topics for the various GPL'd game engine sources.
Baker
Posts: 3666
Joined: Tue Mar 14, 2006 5:15 am

Re: Software Renderer Mysteries

Post by Baker »

Very nice work! I got too involved/frustrated with clipping or the clipping that wasn't happening but actually was, and ended up infinitely sidetracked by other technical diversions (why are there so many of these? Well, for me there are far less now. But way more than I prefer.)
The night is young. How else can I annoy the world before sunsrise? 8) Inquisitive minds want to know ! And if they don't -- well like that ever has stopped me before ..
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: Software Renderer Mysteries

Post by qbism »

I've learned a lot from the clipping discussions here and in the other thread, and banging around in the source, but I don't have much to contribute toward improving the solution.

What I can provide is bsp2 and 2bsp support. That was the mystery of gigantic maps... really just a file format. So far the bsp2 scenes have not broken software limitations on rendering frames. This is based on MH's notes and the quakespasm implementation, which very elegantly laid it out. I'm not ready to put forth a build yet but the code is on the sourceforge svn.

The bsp2 format is layered on the 'big map' format which is actually more complex, many data size changes and limit increases all over the place.

Here's one of the worst cases I could find of the single-pass transparency option: the green arrow shows missing slime through the grate, the red arrow shows missing grate (and slime). Image
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: Software Renderer Mysteries

Post by mankrip »

That's why multi pass is needed. It's very complicated to properly implement, but it's the only real solution.

The latest Makaqu release already has the proper code for turbulent surfaces. Alpha masked surfaces requires a different approach.

By the way, it seems the Half Life software renderer does translucent surfaces in a similar way as Makaqu - a single pass for each BSP entity. I've only played it this year, and it's interesting to see things in it that Makaqu does better, as well as things that Half Life improved in similar ways.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
qbism
Posts: 1236
Joined: Thu Nov 04, 2004 5:51 am
Contact:

Re: Software Renderer Mysteries

Post by qbism »

Some recent maps have alpha textures mixed-in with the world. Does that mean two passes on the world bsp?
mankrip
Posts: 924
Joined: Fri Jul 04, 2008 3:02 am

Re: Software Renderer Mysteries

Post by mankrip »

No. Alpha masked surfaces needs a different renderer, separated from the regular BSP renderer.

Another pass in the BSP renderer isn't enough, and reinitializing the BSP renderer all the time would be much slower than needed.
Ph'nglui mglw'nafh mankrip Hell's end wgah'nagl fhtagn.
==-=-=-=-=-=-=-=-=-=-==
Dev blog / Twitter / YouTube
Post Reply