Duke4.net Forums: OpenGL vs Software Render - Duke4.net Forums

Jump to content

  • 4 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • This topic is locked

OpenGL vs Software Render

User is offline   shoober 

#1

I was wondering if there's any differences (besides graphics detail) between OpenGL and the original Software render? I know in Doom there's as special software render fuzz effect used on the Spectre Demons that OpenGL can't emulate. So along the lines of that. If someone has any reason to recommend the Software render over the OpenGL render I would like to know your reasons why.

This post has been edited by shoober: 02 January 2013 - 07:22 AM

0

User is offline   Inspector Lagomorf 

  • Glory To Motherland!

#2

View Postshoober, on 02 January 2013 - 07:21 AM, said:

I was wondering if there's any differences (besides graphics detail) between OpenGL and the original Software render? I know in Doom there's as special software render fuzz effect used on the Spectre Demons that OpenGL can't emulate. So along the lines of that. If someone has any reason to recommend the Software render over the OpenGL render I would like to know your reasons why.


Someone can do a better job of explaining this than me, I'm sure. OpenGL, or Polymost rendering I believe it's called in eDuke32, allows for texture filtering (which makes textures look a bit smoother), anisotropic filtering, and most importantly the use of high-resolution textures and models (though the HRP is intended for use with Polymer). Other than that there's nothing special. Unless the usermap or graphics demand it, I always play with the original Software rendering, but then again I like to emulate the old-school experience as much as possible. I even have the AdLib music pack.

This post has been edited by Achenar: 02 January 2013 - 07:54 AM

0

User is offline   Hank 

#3

View Postshoober, on 02 January 2013 - 07:21 AM, said:

I was wondering if there's any differences (besides graphics detail) between OpenGL and the original Software render? I know in Doom there's as special software render fuzz effect used on the Spectre Demons that OpenGL can't emulate. So along the lines of that. If someone has any reason to recommend the Software render over the OpenGL render I would like to know your reasons why.

I honestly have no idea if Duke 3D has any effect that OpenGL can't reproduce, as for the Spetres (funny Daemons in Doom), I doubt a good programmer could not emulate the effect; See here

This post has been edited by Hank: 02 January 2013 - 09:19 AM

0

User is offline   ReaperMan 

#4

View PostHank, on 02 January 2013 - 09:17 AM, said:

I honestly have no idea if Duke 3D has any effect that OpenGL can't reproduce...

Voxels.
2

User is offline   Plagman 

  • Former VP of Media Operations

#5

Here's a list of how the OpenGL render modes differ from the SW renderer in EDuke32 today:
  • Looking up and down has a unique incorrect skew in SW renderer, whereas it's "boring" true perspective in GL
  • Shading is performed by applying an offset to the palette lookups at different distance thresholds; in practice it means that tiles in the distance will look different in SW mode, whereas in GL mode it'll just be the brightest shade with darkening applied.
  • Voxels are rendered with cubes in GL instead of little screen-aligned squares.
  • Drawing is performed in such an order than sprites won't poke through their sector
  • There are three different parallax sky modes in classic, only one in GL; however that's a "hidden" feature since you can cycle through them in the editor but can't save it in the map.


There's probably more subtleties but that's the major points. Now don't get me wrong, modern HW is programmable enough that GL mode could be a fully pixel-accurate representation of the SW renderer if enough work was done to that end, but there isn't too much interest in that regard since, well, you can still use SW mode if you want to.
6

User is offline   Hank 

#6

deleted, no way I follow Plagman Posted Image

This post has been edited by Hank: 02 January 2013 - 10:08 AM

0

User is offline   Inspector Lagomorf 

  • Glory To Motherland!

#7

Oh, yes, I suppose it's also worth pointing out that Polymost rendering under OpenGL cannot effectively take advantage of eDuke32's ROR feature without severe graphical glitches as it was designed for Polymer mode; Software mode is significantly more compatible, however.
0

User is offline   shoober 

#8

View PostHank, on 02 January 2013 - 09:17 AM, said:

I honestly have no idea if Duke 3D has any effect that OpenGL can't reproduce, as for the Spetres (funny Daemons in Doom), I doubt a good programmer could not emulate the effect; See here


I personally asked on the ZDoom forums if OpenGL can emulate the Spectre Demon software fuzz effect, and got this answer. Its at the bottom of the page from a dude named Gez. And I quote,

Gez said:

"No, nobody did anything where the fuzz is 100% identical, because it is absolutely impossible.

Let's look at a small pixel grid:
123
456
789

To render pixel 5, the software fuzz effect will "borrow" a pixel from 2, 4, 6, or 8 from the background (not the actual sprite) and then darken its color by shifting it through the colormap.

With OpenGL shaders, you cannot get pixels from the background (strictly impossible) and also you do not use the colormap. Finally, shaders do not have access to pixels (or texels) at all, they don't know the dimensions of the image they're changing. They work with relative coordinates in floating point (so that 0.0 is left or top, and 1.0 is right or bottom), meaning that any attempt at making it pixely like the original effect will fail since you won't get the same pixel size on a fuzzy clip as you'll get on a fuzzy spider mastermind.

Being 100% identical to software is therefore absolutely impossible on at least three counts.


So you can't emulate the Spectre Demon software fuzz effect accurately.

View PostAchenar, on 02 January 2013 - 07:53 AM, said:

I always play with the original Software rendering, but then again I like to emulate the old-school experience as much as possible. I even have the AdLib music pack.


I'm the same way. Except I have the Roland SoundCanvas SC-55 FLAC music pack lol.

Since this game was designed using the software render, I will play it using the software render. Thanks guys.

This post has been edited by shoober: 02 January 2013 - 12:14 PM

0

User is offline   Hank 

#9

View Postshoober, on 02 January 2013 - 12:04 PM, said:

So you can't emulate the Spectre Demon software fuzz effect accurately.

The link I gave shows one option. The only difficulty would be to synchronize the sprite coords. - Bottom line, a lot of work for this effect, but it can be done.

p.s. A long, long, long time ago, while I had no clue about programming, one guy Steve Heller wrote: The moment someone tells you that something can't be done, change programmers. I live by that. Posted Image

This post has been edited by Hank: 02 January 2013 - 12:53 PM

3

User is offline   shoober 

#10

Gez clearly says no shader can reproduce this fuzz effect. But if you insist its possible, I would really like to see it. Because according to many people, its impossible to emulate the software fuzz effect in OpenGL.

This post has been edited by shoober: 02 January 2013 - 01:19 PM

0

User is offline   Plagman 

  • Former VP of Media Operations

#11

He's wrong, though. All of what he describes can be done, fairly easily too. Sampling from the destination is possible if you also set it up as a texture, you can use unnormalized coordinates, modern cards support integer operations, etc etc.
1

User is offline   Plagman 

  • Former VP of Media Operations

#12

And maybe he meant "strictly impossible by modding what is in ZDoom today" rather than "stricly impossible in general".
1

User is offline   Micky C 

  • Honored Donor

#13

View PostPlagman, on 02 January 2013 - 02:33 PM, said:

He's wrong, though. All of what he describes can be done, fairly easily too. Sampling from the destination is possible if you also set it up as a texture, you can use unnormalized coordinates, modern cards support integer operations, etc etc.


It's guys like Plagman that make me proud to be a member of the eduke32 community Posted Image
0

User is offline   shoober 

#14

Well I hope someone out there can prove him wrong, because there have apparently been lots of people who have tried to emulate the effect with OpenGL and failed.
0

User is offline   Plagman 

  • Former VP of Media Operations

#15

They probably haven't tried to replicate it exactly; sometimes stuff is good enough. Just like using a black fog instead of actually using the shade tables is good enough for our own GL modes, because we focus on trying to improve other stuff first.
2

User is offline   shoober 

#16

That's another thing OpenGL can't emulate accurately, is the diminishing light around the character in Software mode. Sure, you can make something that kind of looks like it, but its not the same as Software lighting and you can immediately tell the difference. You can make something that looks similar, but it won't be the real thing. People have tried to replicate the fuzz effect exactly in the past using OpenGL, its just no one has succeeded because its impossible to replicate. When someone has replicated it, please let me know.

This post has been edited by shoober: 02 January 2013 - 05:13 PM

0

User is offline   Tetsuo 

#17

So this whole thread was just to justify or confirm to yourself your anti-GL stance? Saying this and that is impossible and saying you'll stick to software rendering because of it (or maybe trying to build an argument to persuade others to stick to software mode).

If software mode is good enough for you then by all means use it. Especially if you want just what the original provided and nothing more. Sometimes solutions may come up but they end up being better than the original & that may not be desirable for one who just wants a carbon copy of the original.

However, like others have said nothing is impossible. I'm reminded of the time when people where saying Nintendo 64 emulation is impossible due to the hardware being "much more powerful than the PC will ever be". Eventually, it was possible. All you need is the right mind with enough drive and inspiration and in the example I gave faster and faster hardware with more features doesn't hurt either. I doubt that's the case with Doom though... I doubt it's just that no hardware or GPU has enough features or power for those effects in GL.

Also, from what I know even when you are using a graphics API you can still do some thing in software if necessary.

This post has been edited by Tetsuo: 02 January 2013 - 06:12 PM

0

User is offline   Mblackwell 

  • Evil Overlord

#18

shoober:

There's absolutely no reason that the GL renders can't use the lookup tables already provided by the game engine and both darken things in exactly the same way and shift colors to the same proper palette lookup. In fact, someone could write a simple shader that forces all of the HRP textures to color shift to the nearest Duke palette color (which could produce some awful results mind you since the HRP textures aren't made with that in mind). With programmable shaders the sky is the limit. There's no actual limitation to GL that makes it unable to do the things Software can do, there's just no point to making GL the same as Software, since part of the port is that Software is available for those who want to play the Vanilla game.

If you believe otherwise it points more to a lack of knowledge of GL and GPU's for the last decade than anything else.
0

User is offline   Hank 

#19

I played around with my fav search engine and found this


http://forum.zdoom.o...=34984&p=658659
a quote from a poster also named 'shoober'
"I like the software render because it keeps the grittiness and dirty look that makes Doom a much scarier game. Trying to pretty it up with OpenGL doesn't do it justice."
1

User is offline   Mike Norvak 

  • Music Producer

#20

View Postshoober, on 02 January 2013 - 07:21 AM, said:

I was wondering if there's any differences (besides graphics detail) between OpenGL and the original Software render? I know in Doom there's as special software render fuzz effect used on the Spectre Demons that OpenGL can't emulate. So along the lines of that. If someone has any reason to recommend the Software render over the OpenGL render I would like to know your reasons why.



What about the panning sky on E4L1 "It's Impossible" ? Poly modes can't reproduce that effect.
1

User is offline   Plagman 

  • Former VP of Media Operations

#21

I thought I added support for that at some point; hmmm.
0

User is offline   shoober 

#22

View PostTetsuo, on 02 January 2013 - 05:42 PM, said:

So this whole thread was just to justify or confirm to yourself your anti-GL stance? Saying this and that is impossible and saying you'll stick to software rendering because of it (or maybe trying to build an argument to persuade others to stick to software mode).


I have no anti-OpenGL stance. I love OpenGL. Its just when it comes to older games, sometimes software render is better in terms of rendering specific effects. Especially if those effects can't be seen anywhere else except when using the software render.

View PostMblackwell, on 02 January 2013 - 06:11 PM, said:

shoober:

There's absolutely no reason that the GL renders can't use the lookup tables already provided by the game engine and both darken things in exactly the same way and shift colors to the same proper palette lookup. In fact, someone could write a simple shader that forces all of the HRP textures to color shift to the nearest Duke palette color (which could produce some awful results mind you since the HRP textures aren't made with that in mind). With programmable shaders the sky is the limit. There's no actual limitation to GL that makes it unable to do the things Software can do, there's just no point to making GL the same as Software, since part of the port is that Software is available for those who want to play the Vanilla game.

If you believe otherwise it points more to a lack of knowledge of GL and GPU's for the last decade than anything else.


If this were the case, I'm sure somebody by now would of made a 100% accurate software fuzz effect for the Spectre Demons in Doom. But no one has. Until someone actually succeeds, I will have to draw the conclusion that it is impossible to replicate the fuzz effect in OpenGL.
0

User is offline   MusicallyInspired 

  • The Sarien Encounter

#23

That's a very narrow-minded view. You've just been told two or three times by experts that it is possible. Just because you don't understand how it's done doesn't mean it's impossible. And to continue to believe it is impossible is just short-sighted and kind of obnoxious.

This post has been edited by MusicallyInspired: 03 January 2013 - 02:22 PM

1

User is offline   shoober 

#24

I would be narrow-minded if someone was currently working on replicating the software fuzz effect, and very close to mimicking it, but no one has succeeded in replicating the software fuzz effect. If it was do able, it would have been done by now.
0

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!

#25

Phew, like MusicallyInspired said, just because you don't understand how it's done doesn't mean it's impossible.

The "fuzz" effect simply don't accommodate well with OpenGL modes, which doesn't mean it can't be done. The effect is rendered by performing some calculation involving different layers of pixels, which doesn't work properly with, for example, translucent textures. For that reason most of the ports choose not to use it.

Still, there are some very good alternatives for OpenGL modes:

Posted Image

This post has been edited by Fox: 03 January 2013 - 04:55 PM

0

User is offline   MusicallyInspired 

  • The Sarien Encounter

#26

View Postshoober, on 03 January 2013 - 04:41 PM, said:

I would be narrow-minded if someone was currently working on replicating the software fuzz effect, and very close to mimicking it, but no one has succeeded in replicating the software fuzz effect. If it was do able, it would have been done by now.


No, narrow-minded is the reason behind this very post. You can't accept something that doesn't exist and you can't trust people who know what they're talking about in their respective fields of knowledge (above yours) that it is indeed possible. I'm afraid that is the very definition of narrow-mindedness. It's just like sticking your head in the sand or covering your ears screaming "You're wrong, I'm right. I'm not listening". Nobody has to be working on it for it to be possible or for you to be narrow-minded. Just because it's doable does NOT mean it would have been done by now. It just so happens that it's not worth the effort to duplicate exactly. That's like saying it's impossible to recreate a voxel-like object as a polygonal model because nobody has done it yet. In fact, it is possible by creating each cube in 3D space and building the model exactly as the original voxel object looks. It would just take a heck of a lot more time because you'd have to build each cube manually, which isn't worth it. Especially when you can achieve something that looks close to it, or even better than it, via much easier means.

This post has been edited by MusicallyInspired: 03 January 2013 - 05:29 PM

0

User is offline   shoober 

#27

View PostFox, on 03 January 2013 - 04:54 PM, said:

Phew, like MusicallyInspired said, just because you don't understand how it's done doesn't mean it's impossible.


Just because you know how something works doesn't mean anything is possible.

I know how it works, Gez explains how it works in the quote I posted from him earlier in the thread.

View PostFox, on 03 January 2013 - 04:54 PM, said:

Still, there are some very good alternatives for OpenGL


I have used GZDoom (which is probably where that picture is from) with the fuzz effect on, and it didn't quite match how it looks in software mode. Spectre Demons are way harder to see in software then in OpenGL.

View PostMusicallyInspired, on 03 January 2013 - 05:24 PM, said:

No, narrow-minded is the reason behind this very post.


I'm not being narrow-minded, I have two sides that are saying it can and can't be done. They are both educated in there answers. So all I can say is, until someone actually replicates the software fuzz effect, talk is cheap.
0

User is offline   Hendricks266 

  • Weaponized Autism

  #28

View Postshoober, on 03 January 2013 - 05:52 PM, said:

Just because you know how something works doesn't mean anything is possible.

But it can mean that if we know how something works then we know that that thing is possible. This is the case in this circumstance.

View Postshoober, on 03 January 2013 - 05:52 PM, said:

I'm not being narrow-minded, I have two sides that are saying it can and can't be done. They are both educated in there answers. So all I can say is, until someone actually replicates the software fuzz effect, talk is cheap.

Why are you choosing to be a blind centrist? Plagman knows his shit.

Ever tried Polymer?

Posted Image

Two opposing sides of dialogue are not zero-sum, even if "there" answers are educated. It's not wise to raise your chin and claim "impossible" just because no one has devoted their own time and effort to a task.
0

User is offline   Fox 

  • Fraka kaka kaka kaka-kow!

#29

View Postshoober, on 03 January 2013 - 05:52 PM, said:

Just because you know how something works doesn't mean anything is possible.

But in this case it is, this is nothing but an effect being applied to an image. You are not asking for smells to come out of your speakers.

View Postshoober, on 03 January 2013 - 05:52 PM, said:

I have used GZDoom (which is probably where that picture is from) with the fuzz effect on, and it didn't quite match how it looks in software mode. Spectre Demons are way harder to see in software then in OpenGL.

Of course it is not identical, you are using a different renderer.

View Postshoober, on 03 January 2013 - 05:52 PM, said:

I'm not being narrow-minded, I have two sides that are saying it can and can't be done. They are both educated in there answers. So all I can say is, until someone actually replicates the software fuzz effect, talk is cheap.

I don't know what your definition of "replicate" is, I just showed a picture that is close enough.
0

User is offline   Mblackwell 

  • Evil Overlord

#30

Look, there are so many shaders that do nothing but sample adjacent pixels and reference tables for values (which is what the Doom effect is/does) that the problem isn't that it's impossible to create but that no one wants to bother to take the time to do it.

Nearly every visual effect these days that's not a particle uses simple shaders (and the particles themselves will use shaders) in order to distort images, recolor them, get depth samples to do DOF and SSAO, remove parts of images... basically you name it and it can be done. You want Doom 3 in only Black and White?

Posted Image
Hey look someone did that!
2

Share this topic:


  • 4 Pages +
  • 1
  • 2
  • 3
  • Last »
  • You cannot start a new topic
  • This topic is locked


All copyrights and trademarks not owned by Voidpoint, LLC are the sole property of their respective owners. Play Ion Fury! ;) © Voidpoint, LLC

Enter your sign in name and password


Sign in options