Jump to content

Why do you like software rendering?


Gougaru

Recommended Posts

I don't know what it is but, hgmhmgmhgmhfgmghm its so fuycking nutworthy

OpenGL rendering always looked washed out and wrong to me. 256-color software hits me the right way. It's probably the limited colors that gives it that higher contrast look.

That's also why I have a knack for palette hacks

Edited by Quill

Share this post


Link to post

The main problem with hardware rendering in ports is simulating the light banding effect. While this effect is primitive, it's annoyingly difficult to do correctly in a shader and is very important to the aesthetic of Doom. The method is most apparent with light strobe sectors. I put a lot of effort to render this correctly in Helion. Done correctly it should look like the 32 bit software rendering used in Odamex where you get the best of both worlds (at least in my opinion).

Here is the light strobe in Helion from E1M5:

lightstrobe.gif.12c9f58c2b9023af045a60f26737e409.gif

Light band on vs off:
 

Spoiler

screenshot_Helion_DOOM1.png.a4b11f9f0587a74083934cb8197dcbc4.pngscreenshot_Helion_DOOM2.png.168073e5ebdb836b41d6a4f869cbb45f.png

 

Edited by hobomaster22

Share this post


Link to post
2 hours ago, Edward850 said:

Note for the unaware, shifting to 64bit means actually rewriting it to use 64bit data an operations, not just compiling in 64bit.

 

I assume this is quite expensive in terms of time? Otherwise more ports probably would have done it.

Share this post


Link to post
1 hour ago, Edward850 said:

Incorrect! Doom64 and Strife:VE both have correct sprite clipping in hardware.

It would be really good to see sprite/texture clipping fixed in more hardware-rendered Doom ports someday...

Share this post


Link to post
25 minutes ago, maxmanium said:

 

I assume this is quite expensive in terms of time? Otherwise more ports probably would have done it.

@GooberMan seemed to have gotten it done relatively quickly, though I couldn't say how much prep work was done prior.

Share this post


Link to post

Software mode uses the colormap lump and those can be sexy as fuck. I can make GZDoom's hardware renderer look Mostly like software with the palette tonemap setting and all but it doesn't use the colormap, and in games like Hexen that have such nice colormaps, it muddies the colors in dark places. And in general software is just nice and crisp and honestly the only thing i don't like about it is the y-shearing mouselook which gives me heartburn lmao

visual comparison of software vs palette-tonemapped hardware with regards to colormap, using a random hexen test map i made in 1 minute:

Spoiler

image.png.34e8327aa81f2ec0a004f042db838428.png

as you can see, blues and purples fade into grayish and the lava fades to brown instead of reds because hardware just fades to black, essentially turning this:

image.png.8efc04fe852b0452a2624aee3a714da7.png

into something like this:

image.png.fee88626605aaa3de3f683a273bab502.png

 

Every day i wish there was a hardware renderer that uses the colormap tbh (iirc build engine polymost renderer kinda uses it in a way but blurs the transition between shades as the light level fades? At least that's what i noticed when last playing a build game w/ polymost. I would die to see it done like that in a doom port. And i know most ports are free real estate to fork so i "could" do it myself in theory but my ability to code ends at setting up a simple acs script)

 

edit: didn't gzdoom have an experimental not-y-sheared-but-colormapped softwareish renderer at some point???? i vividly remember testing a hexen wad with it, but tbf it ran like hot garbage everytime it had to render translucency so i can see why it got cut though

Edited by 129thVisplane

Share this post


Link to post
5 hours ago, Edward850 said:

Incorrect! Doom64 and Strife:VE both have correct sprite clipping in hardware.

It isn't Doom (though Dark Forces has similar considerations being a sector engine), but TFE (The Force Engine) also handles object vs floor/ceiling sorting correctly when using the GPU Renderer. In addition, the TFE GPU Renderer produces the exact same lighting/colors as the software renderer - it uses the same palette and colormap. So these things are possible to do pretty efficiently with semi-modern hardware, and on that hardware, the GPU renderer is orders of magnitude faster than the software renderer at higher resolutions. It is even possible to emulate the Y-Shearing effect if desired (off-center projection), though this hasn't been implemented in TFE yet. Of course, the software renderer can still be used if desired.

 

The point is that GPU rendering can look just like software rendering if desired.

Edited by lucius

Share this post


Link to post
5 hours ago, banjiepixel said:

Modern hardware has no trouble running sofware rendered Doom and even in the situations where hardware renderer can result in better performance, difference isn't really that big.

 

Tell that to my 5 year old laptop (it ain't the newest, but it's not that old) that shows massive difference between hardware and software renderer. There are places when sw rendering lags as hell bu hardware renderer gives smooth performance. Applies for both GZDoom and DSDA Doom.

Share this post


Link to post
44 minutes ago, ReaperAA said:

 

Tell that to my 5 year old laptop (it ain't the newest, but it's not that old) that shows massive difference between hardware and software renderer. There are places when sw rendering lags as hell bu hardware renderer gives smooth performance. Applies for both GZDoom and DSDA Doom.

 

What the heck are you playing to have such issues? I mean there are some extreme cases where hardware renderer gives a good boost but in most normal play, it really shouldn't be needed. GZDoom is of course a clear exception to that rule and I think that it's bit silly for it to even have software renderer at this point. Not sure why DSDA Doom would have issues in software rendering on a 5 year old laptop, I personally use Crispy Doom and Woof mostly and those seem to run very smoothly even much older hardware than that. But it does probably help that Crispy and Woof just upscale to HD instead of rendering in HD. Also, what resolution are you using?

Share this post


Link to post
17 hours ago, banjiepixel said:

What the heck are you playing to have such issues? I mean there are some extreme cases where hardware renderer gives a good boost but in most normal play, it really shouldn't be needed. GZDoom is of course a clear exception to that rule and I think that it's bit silly for it to even have software renderer at this point. Not sure why DSDA Doom would have issues in software rendering on a 5 year old laptop, I personally use Crispy Doom and Woof mostly and those seem to run very smoothly even much older hardware than that. But it does probably help that Crispy and Woof just upscale to HD instead of rendering in HD. Also, what resolution are you using? 

 

Some examples include the outdoor parts of Ancient Aliens map23 and starting area of Eviternity map26. In both of these cases, DSDA tends drops to around 35-40 fps with sw rendering (GZDoom drops to around 30-ish fps). With hw rendering, the performance remains almost stable 60fps for both ports.

 

I play at 1920x1080 res.

Share this post


Link to post
18 hours ago, banjiepixel said:

Not sure why DSDA Doom would have issues in software rendering on a 5 year old laptop, I personally use Crispy Doom and Woof mostly and those seem to run very smoothly even much older hardware than that.

Largely depends on what you're playing, but generally any computer running software will eventually be brought to its knees with enough monsters and complex architecture... amplified if you're running at modern resolutions (1080, 1440, 4k). The age doesn't really have much to do with it, if you're not running a CPU with some monstrous single-core performance, you're gonna see drops in stuff like later Sunder, Abandon, Cosmogenesis, that one map from Antaresian Reliquary, etc.

Edited by Maribo

Share this post


Link to post
2 hours ago, ReaperAA said:

 

Some examples include the outdoor parts of Ancient Aliens map23 and starting area of Eviternity map26. In both of these cases, DSDA tends drops to around 35-40 fps with sw rendering (GZDoom drops to around 30-ish fps). With hw rendering, the performance remains almost stable 60fps for both ports.

 

I play at 1920x1080 res.

 

Did little testing and especially Evilternity map26 starting area seems to be pretty clear example of engine just being pushed too far. Rare problem that could be avoided if mappers didn't try to push software renderer to it's limits. These are the situations where hardware rendering is useful but personally I don't see map pushing the framerate down to 35-40fps range as huge issue. I actually kinda like it as a sign that map is pushing software renderer to it's limits and 35-40fps is still totally playable. But if you want stable 60fps in these rare and extreme cases, hardware rendering is there to help you. Outside of GZDoom, I see hardware rendering as nice optional extra, like colored blood, brightmaps or vertical mouselook.

Share this post


Link to post

These cases aren't actually extreme by today's standards, or even the standards of nearly the past decade. A map like Eviternity MAP26 is extremely easy to render on modern hardware. The problem is using the BSP tree has so many issues choking the performance, and is just a bad method to use for hardware rendering. We have been working to remove this bottleneck and I am able to get Eviternity MAP26 to render at about 300fps on my integrated AMD Radeon card. If I use my mobile RTX 3070 in my laptop, the averages are about 1.5k. This is rendering at 1920x1080.

 

Spoiler

Note these were resized slightly after to bring the sizes down a bit.

Integrated Radeon:

radeon.PNG.91c1515ff1626333dc04f03b44d09b29.PNG


Mobile RTX 3070:

rtx.PNG.377cec6ef7d4724fe4f954b296537673.PNG

 

Share this post


Link to post
  • 1 month later...

Lighting effects of software renderer are better than OpenGL. As OG Doom and even Boom had Software renderers, it gives the classic 90's feel, espicially when you are playing on 320X200.

 

I use 640X400 tho, just because game looks very blurry in 320X200.

 

Also, many people prefer to use OpenGL for performance reasons, but if you want to keep performance satisfactory even in Software renderer, use low resolutions, because they will give you more fps!

Edited by Heck Yeah
Idk

Share this post


Link to post
On 11/16/2022 at 1:44 PM, banjiepixel said:

I liked software rendering more in Quake so it's only natural I like it more in Doom too. And in general I love raw unfiltered low resolution graphics in games. I like that software rendering is very universal way to render graphics so there will be always better hardware compatibility for it. And I that in a game like classic Doom, there is really no need for hardware rendering so it is basically pretty useless feature. Modern hardware has no trouble running sofware rendered Doom and even in the situations where hardware renderer can result in better performance, difference isn't really that big.

I always thought this too! Software rendering in Quake feels more cozier than Doom, but I guess that's because Doom is much more colorful and vibrant than Quake ever was.

Share this post


Link to post

The software renderer in Doom makes harsh lighting contrast look better, there is more color pop generally. I'd be interested to see a good, fine tuned hardware renderer that gets filtered to a 256 color palette, but I have a feeling it'd fade to grey on the shadows more than the software which tends to retain a lot of chroma/saturation in lower light levels

Share this post


Link to post

I had a pretty neutral feel on software rendering as I really disliked the harsh lightbanding in software for the longest time (unlike everyone else in this thread), plus even when I did come around to it, it always felt out of place in higher resolutions that I prefered playing in anyways.

 

That was until I read a thread on specters and after learning that doom's original sprite fuzz algorithm did refracting that no other sprite fuzz option in opengl even tried to replicate, I turned my back on not only opengl but hi-res dooming in general because the software sprite fuzz scales horribly on higher resolutions!

https://www.doomworld.com/forum/post/2587374

Which kinda sucks for me, as while I have grown to appreciate the way that software's draw distance looks, it feels like dating someone for their money instead of for who they are. I would really like to see someone try and implement a good vanilla predator-cloak clone for opengl or atleast figure out how to make it scale well in software while retaining the refracting

Share this post


Link to post

I don't know, I don't particularly like software mode but, to me, it's just the way Doom is. It's the historically  appropriate way to play, regardless of tastes.

Share this post


Link to post

To me the software renderer is part of Doom's core visual identity. Like, hardware renderers are certainly nice especially when it emulates the diminishing lights correctly, but the 256-color limit/renderer quirks from the software renderer is just more Doomy, y'know?

Share this post


Link to post

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.

×
×
  • Create New...