Closed JNechaevsky closed 6 years ago
Hi @JNechaevsky , thank you very much for this idea. In fact, I have already played the thought to introduce a "Rendering" section on the first page of the Crispness menu. This would contain the switches for Truecolor rendering, uncapped framerate and smooth scaling. Honestly, all the items you suggested for the second page seem somewhat "over-engineered" to me. ;)
Let me add comments to some of the items you suggested:
Screen size
This already has its own slider in the top-level menu and I 'd like to avoid cluttering Doom's classical menu as little as possible.
Brightness
My current WIP truecolor code uses gamma in the same way as the paletted renderer. I am not sure if hardware gamma will work on all supported platforms and also in windowed mode at all? Also, there is already a well-known key for that and thus I am not going to add a menu entry.
Truecolor rendering
Will be able to toggle in-game and be disabled by default (of course).
Smoothing
Is already implemented in the features branch and works like a charm in-game.
Field of view
This is a neat idea, but a major effort throughout the entire rendering code.
Wipe speed / Wipe method
Isn't the number of gametics that a swipe takes demo-critical?
Maximum visible sprites
Sure but why? How is the average player supposed to know what's a reasonable value for this?
Text shadows
I think I have already found a reasonable default setting, not?
Diminished lightning
What's that?
Fake contrast
The "smooth" variant has been removed for now, as it blended certain pixels (!) on distant walls that speedrunners may use for alignment before rocket jumps. I consider making it the default in truecolor mode (because then, pixels on distant wall will look differently anyway).
BSP tree view
Sorry, what?
HOM indication
Removed as the command line option that nobody used, but still available via the TNTHOM cheat.
Oh... But well, it is good that no additional work should be in this direction. :)
Truecolor rendering Will be able to toggle in-game and be disabled by default (of course).
I wonder why I still haven't checked it out. Is it available in the "features" branch? Should I start to test it?
Field of view This is a neat idea, but a major effort throughout the entire rendering code.
Doh, I forgot a little bit how actually whole screen picture is building...
Wipe speed / Wipe method Isn't the number of gametics that a swipe takes demo-critical?
I honestly don't know. All I know here - if there is no wipe at all, it does not affect demo synchronization. But am I wrong by thinking that demo is actually not starting until wipe effect fully passes?
Maximum visible sprites Sure but why? How is the average player supposed to know what's a reasonable value for this?
Probably average is Crispy's current. From another hand, this feature is really necessary for ports like (G)ZDoom, where some really bloodbath mods exist.
Text shadows I think I have already found a reasonable default setting, not?
Well, sure, but you know how highly I'm addicted on shadows, so I was not planning to easily give up and say "well, sure". :)
Diminished lightning What's that?
It's a light levels, that's, roughly speaking, becomes more darken in far from player and brighten near player. Here's a screenshot to make myself more clear. AFAIK, there is a variable in the code that naming them, but I can't remember it.
BSP tree view Sorry, what?
Here, take look at examples: one and two. Again, this feature will not give any useful information, but may interesting in technical POV, just to see the "skeleton" of the level.
Diminished lightning
Ah, yes, remembered one more idea. I still can't remember how these light levels are named in the code (sorry), but maybe it will be looking good, if true color mode will have more levels, for making transition from-light-to-dark more smoothened. Something like this, before and after:
I will probably have to add another Crispness menu page that is dedicated to Rendering options. I will close this request whenever that happens, as I don't want to "pollute" Doom's menu with another Crispy-specific sub-menu.
Which of the current "Visual" features should get moved to the "Rendering" menu once it is available?
Rendering Framerate and Smooth Scaling, I think.
Yes, definitely!
"High Resolution Rendering" will follow (and then "True-Color Rendering"). "Smooth Diminishing Lighting" will soon be another item for the "Visual" menu and "Number of sound Channels" for the "Audible" one.
Maybe it will be a good idea to replace "Screen size" item in main menu to whole new page with bunch of elements. It also will be a good place for adding new graphical features thats are planned, I'll also suggest some below. Some of them may be interesting, some not, so let's just say: "any idea is better than no idea". And as always, everything at your discretion.
"Display" title can be drawn through in-iwad M_DISP lump (not sure about BFG Edition, can't check right now). Mockup of first page:
Suggested menu elemets:
Screen size Nothing new here, just standard slider. The slider itself will be good indication of additional screen sizes, suggested in #204.
Brightness At the moment, there are only five modes of gamma-correction available. Maybe I should suggest to use intermediate levels that I made? But if true color will use hardware gamma, hmmm... No idea how it will work.
Truecolor rendering Off by default?
Rendering framarate Which is working perfectly already.
Smoothing Aha! Seems to be a good place for our idea #226. But is it possible to switch SDL's smooting "on fly" without restarting? We know already that "best" method looks kinda awful with big pixels, so this method will require using screen native resolution's pixel size (like it is done in ZDoom/PrBoom+), but that's another story.
Next page >
Here goes few ideas. Just need to keep in mind, that menu will look proper only with following logic - slidered elements first/top, toggable elements second/below. No need to mix it.
Field of view (slider below) Erm. Maybe someone will find it useful for deathmatch. AFAIK, Quake players are mostly using 110, while standard is 90.
Wipe speed (slider below) I.e. speed of screen wiping. From another side, this more looks like featureism...
Maximum visible sprites (slider below) Ahem.
Wipe method More featureism, but may be interesting as traditional / off. I was suggesting it for
-devparm
already, but here it will be definitely better.Text shadows Menu only / Menu and texts / both / off (?).
Diminished lightning Traditional / off.
Fake contrast Was it removed completely? If no, let it be: traditional / smooth / off (?).
BSP tree view Hmmm. May be interesting from technical POV to get a wire-frame view instead of textured. Possible options: off / wire-frame / overlayed (i.e. wire-frame overlay on textures)
HOM indication Was it removed?
Suggestion №77