Jump to content
Search In
  • More options...
Find results that contain...
Find results in...
hidfan

Doom Neural Upscale 2X [v 1.0]

Recommended Posts

4 hours ago, DefectiveByDesign said:

That said, Ken Silverman has made some demos and released source code for voxels, but I don't think anyone has done anything with it, other than voxelstein.

Nobody can because nobody understands Ken's voxel code.

 

On 3/5/2021 at 6:45 PM, DefectiveByDesign said:

GZDoom in particular seems to have removed texture compression and ruined performance in newer versions.

Give us citation for that. There was optimizations done in the recent GZDoom versions increasing performance.

 

On 3/5/2021 at 6:45 PM, DefectiveByDesign said:

Doom went from running on a 486 and ported to SNES, to requiring expensive and unavailable RTX nvidia cards. Those people lucky enough to have one probably don't care about doom either, so gzdoom is clearly taking the wrong approach, and no other engine is compatible with these mods.

Most console ports with the exception of the Jaguar and the PS1 ports were either (1) rushed or (2) ran slowly. 3DO Doom is infamous for being horribly slow, 32X Doom is known for being the most rushed and buggy port, GBA Doom 2 is known for being a Doom game on a completely different engine and Saturn Doom was bastardized thanks to John Carmack's mistake. Doom 64 doesn't count because it isn't a port, more like a standalone and canon Doom game.

 

And since when Doom required the RTX Nvidia cards? Remember that GZDoom's built-in texture scaling can tank the framerate of the game due to the absurd amount of VRAM required.

Share this post


Link to post
21 hours ago, DefectiveByDesign said:

I doubt true voxels perform worse than converted voxels, it's more likely that the gzdoom guys don't know how to implement it, being a dead technology.

 

The 3 voxels versus over 20 polymesh models that JMartinez2098 is referring to is from my own testing that I conducted while working the first version of a pb 3.0 voxel pack. Granted these tests are from a couple years ago when then added support for obj, but the fact still remains the same. The voxel renderer in gzdoom and lzdoom has been mostly neglected sadly. It doesn't help that Ken's kvx format is archaic, but one of the reasons they have no interest in trying is because polymesh is considered superior in many ways.

 

I love voxels. They have that retro charm and fit doom much better than the smooth tapers of a polymesh model. This is why I build the voxel in MagicaVoxel and then export and convert it to a polymesh. If you were to give pb 3.0 a try and turn on the built in "voxel" feature (which is a work in progress), you wouldn't really notice much of a (if any) difference between kvx and my conversions.

 

Share this post


Link to post
On 3/7/2021 at 4:59 PM, Cacodemon345 said:
On 3/5/2021 at 12:45 PM, DefectiveByDesign said:

GZDoom in particular seems to have removed texture compression and ruined performance in newer versions.

Give us citation for that. There was optimizations done in the recent GZDoom versions increasing performance. 

Anyone who runs GZ and LZ can see the compressed texture mode has been removed, you mentioned GZ's texture scaling tanks FPS, and this highlights how bad it was to remove compressed texture support.

 

The performance issue only affects lower end hardware, not high end. I suspect Vulkan is to blame. GZDoom will stutter and tank FPS in situations that LZDoom shrugs off. It doesn't even make sense for some situations. FPS drops to single digits by standing in a specific location but not in another, the game stutters for no reason, and FPS is much lower. Dynamic lighting also has a much bigger performance hit in GZDoom for whatever reason.

 

You aren't going to notice it unless you test on low end hardware. Try some cards that predate Vulkan like Kepler or Maxwell, but it probably hits mobile systems the worst, being they have much lower specs. The most common complaint I've seen is stuttering, while APUs are outright unplayable in GZ, unless you disable 90% of the graphics, and it still only gets ~45 FPS, compared to full performance in LZDoom.

 

Due to this nature, people who aren't affected don't care. There is no incentive for them to care. Meanwhile, this hurts indie developers like the Hedon team, who is not updating GZDoom, although there may be side issues like breaking compatibility, which seems to be a problem with GZ in general. Mods like Doom Slayer Chronicles are only playable using specific older versions of GZ for example. This isn't a good path for updates, as it is mirroring the old school linux vs windows issues, where old linux games would get completely broken from OS updates, and it took steam to start addressing it. This isn't a sustainable update model. Compatibility and performance need more focus.

Share this post


Link to post
On 3/12/2021 at 2:02 PM, DefectiveByDesign said:

You aren't going to notice it unless you test on low end hardware.

 

 

Of course it can be tested with high end hardware. Just enable the fps counter, and if the fps goes from 200 to 10 fps in some point, that's bad (because you can easily extrapolate that in lower end computers it will go from 60 to 30 fps).

Share this post


Link to post

I mainly use this mod. Thank you for letting me download and use it for free.

Edited by sweety80

Share this post


Link to post

Hi,

 

I just want to share with you how I got this pack working with the Zandronum Source Port.

Zandronum does not support lump filtering - or at least I did not find a way to make use of that. So the game-specific, overlapping contents of the single PK3 file need to be split into separate PK3 files and these can be stacked together depending on which game (IWAD) will be played. These separate PK3's will work with GZDoom as well.

 

I split the single PK3 as follows (Linux commands):
 

Spoiler

 

unzip -o NeuralUpscale2x_v1.0.pk3 -d NU2X

cd NU2X

mkdir -p HIRES/HUD && mv FILTER/DOOM/HIRES/HUD/STBAR.png FILTER/DOOM/HIRES/HUD/STARMS.png HIRES/HUD/. && zip -r ../NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3 HIRES && rm -Rf HIRES

mv FILTER/DOOM/HIRES . && zip -r ../NeuralUpscale2x_v1.0-Base.pk3 HIRES SOUNDS SPRITES stepfix.wad && rm -Rf HIRES SOUNDS SPRITES stepfix.wad

mv FILTER/DOOM.DOOM1/HIRES . && zip -r ../NeuralUpscale2x_v1.0-Addon-Doom1.pk3 HIRES && rm -Rf HIRES

mv FILTER/DOOM.DOOM2/HIRES . && zip -r ../NeuralUpscale2x_v1.0-Addon-Doom2.pk3 HIRES && rm -Rf HIRES

mv FILTER/DOOM.DOOM2.PLUTONIA/HIRES . && zip -r ../NeuralUpscale2x_v1.0-Addon-Plutonia.pk3 HIRES && rm -Rf HIRES

mv FILTER/DOOM.DOOM2.TNT/HIRES . && zip -r ../NeuralUpscale2x_v1.0-Addon-TNT.pk3 HIRES && rm -Rf HIRES

 

 

As a result, I get 6 different PK3 files:

Spoiler
  • NeuralUpscale2x_v1.0-Base.pk3 - needed for every game
  • NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3 - moved two HUD textures here that do not work with Zandronum. I only use this PK3 when playing with GZDoom instead of Zandronum
  • NeuralUpscale2x_v1.0-Addon-Doom1.pk3 - Doom 1 specific contents to be used in addition to -Base.pk3
  • NeuralUpscale2x_v1.0-Addon-Doom2.pk3 - Doom 2 specific contents to be used in addition to -Base.pk3
  • NeuralUpscale2x_v1.0-Addon-Plutonia.pk3 - Plutonia specific contents to be used in addition to -Base.pk3 and -Doom2.pk3
  • NeuralUpscale2x_v1.0-Addon-TNT.pk3 - TNT specific contents to be used in addition to -Base.pk3 and -Doom2.pk3


 

I would start Zandronum / GZDoom as follows. Please note that the order of the PK3 files is important:

 

Example DOOM1:

zandronum -iwad DOOM.WAD -file NeuralUpscale2x_v1.0-Base.pk3 NeuralUpscale2x_v1.0-Addon-Doom1.pk3

 

Example Plutonia:

zandronum -iwad PLUTONIA.WAD -file NeuralUpscale2x_v1.0-Base.pk3 NeuralUpscale2x_v1.0-Addon-Doom2.pk3 NeuralUpscale2x_v1.0-Addon-Plutonia.pk3

 

When using GZDoom, also add NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3 to get the nicer HUD.

 

Have a nice day.

 

 

 

Share this post


Link to post
5 hours ago, nuku said:

Hi,

 

I just want to share with you how I got this pack working with the Zandronum Source Port.

Zandronum does not support lump filtering - or at least I did not find a way to make use of that. So the game-specific, overlapping contents of the single PK3 file need to be split into separate PK3 files and these can be stacked together depending on which game (IWAD) will be played. These separate PK3's will work with GZDoom as well.

 

I split the single PK3 as follows (Linux commands):
 

  Hide contents

 

unzip -o NeuralUpscale2x_v1.0.pk3 -d NU2X

cd NU2X

mkdir -p HIRES/HUD && mv FILTER/DOOM/HIRES/HUD/STBAR.png FILTER/DOOM/HIRES/HUD/STARMS.png HIRES/HUD/. && zip -r ../NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3 HIRES && rm -Rf HIRES

mv FILTER/DOOM/HIRES . && zip -r ../NeuralUpscale2x_v1.0-Base.pk3 HIRES SOUNDS SPRITES stepfix.wad && rm -Rf HIRES SOUNDS SPRITES stepfix.wad

mv FILTER/DOOM.DOOM1/HIRES . && zip -r ../NeuralUpscale2x_v1.0-Addon-Doom1.pk3 HIRES && rm -Rf HIRES

mv FILTER/DOOM.DOOM2/HIRES . && zip -r ../NeuralUpscale2x_v1.0-Addon-Doom2.pk3 HIRES && rm -Rf HIRES

mv FILTER/DOOM.DOOM2.PLUTONIA/HIRES . && zip -r ../NeuralUpscale2x_v1.0-Addon-Plutonia.pk3 HIRES && rm -Rf HIRES

mv FILTER/DOOM.DOOM2.TNT/HIRES . && zip -r ../NeuralUpscale2x_v1.0-Addon-TNT.pk3 HIRES && rm -Rf HIRES

 

 

As a result, I get 6 different PK3 files:

  Hide contents
  • NeuralUpscale2x_v1.0-Base.pk3 - needed for every game
  • NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3 - moved two HUD textures here that do not work with Zandronum. I only use this PK3 when playing with GZDoom instead of Zandronum
  • NeuralUpscale2x_v1.0-Addon-Doom1.pk3 - Doom 1 specific contents to be used in addition to -Base.pk3
  • NeuralUpscale2x_v1.0-Addon-Doom2.pk3 - Doom 2 specific contents to be used in addition to -Base.pk3
  • NeuralUpscale2x_v1.0-Addon-Plutonia.pk3 - Plutonia specific contents to be used in addition to -Base.pk3 and -Doom2.pk3
  • NeuralUpscale2x_v1.0-Addon-TNT.pk3 - TNT specific contents to be used in addition to -Base.pk3 and -Doom2.pk3

 

 

I would start Zandronum / GZDoom as follows. Please note that the order of the PK3 files is important:

 

Example DOOM1:

zandronum -iwad DOOM.WAD -file NeuralUpscale2x_v1.0-Base.pk3 NeuralUpscale2x_v1.0-Addon-Doom1.pk3

 

Example Plutonia:

zandronum -iwad PLUTONIA.WAD -file NeuralUpscale2x_v1.0-Base.pk3 NeuralUpscale2x_v1.0-Addon-Doom2

 

When using GZDoom, also add NeuralUpscale2x_v1.0-Addon-GZDoomHUD.pk3 to get the nicer HUD.

 

Have a nice day.

 

To use an outdated term: Oy Vey.

 

I'm also a linux user( Mint 20) and while this may look like a decent shortcut, this is also not the way I would really recommended either. When compiling or rearranging Pk3 files it is best to use Slade3 as it compiles PK3 files with Doom directives rather than using zip file organizers, or Icon of Sin forbid a dang Terminal.

 

Next: The reason Zandronum will not read Neural Upscale2x is due to one folder named Filter. Zandronum, for all intents and purposes, is a glorified ZDoom 2.8 with OpenGL and multiplayer support, and it doesn't understand the Filter pathway of GZ/ LZ Doom pk3 structure; or as said above = filtering lumps. 

 

Neural Upscale 2x uses a very simple but effective folder called HIRES which then uses the same names of Doom textures and Sprites to overlay the art on top of the intended targets. So basically Zandronum won't read any of the Pk3 because it doesn't have Filter support, and all the HIRES folders are deeper inside the Filter folder. 

 

Basically to do what the Quoted person has done without a Linux Terminal, open Slade3-> Open Neural Upscale 2x-> Open a New Zip Archive for each new PK3 and then Move each Doom folder to their respective new PK3 -> Save the Files as The name it should be IE NeuralUpscale 2x Base -> Rename the Doom Folder inside each new PK3 to HIRES. Then  save and you're done.

 

Just remember to use the Neural Upscale Base pk3 and the appropriate other ones (Doom2 base as well if not using Ultimate Doom) with the right games and everything should work fairly well. 

Share this post


Link to post

I'm not the author but I did use much of the same methodology described in this thread to do the tnt/plutonia upscale work and can tell you it won't turn out nearly as well. The vast majority of Doom's textures are based on photographs which AI algorithms have been trained well and are surprisingly good at interpreting and upscaling into higher resolution artwork. This goes for most Doom monsters which are digitized models. If you look at the imp and pinky in the neural upscale project, they aren't nearly as detailed as the other monsters and feel a bit muddled... that's because they were hand drawn and pixeled--the same as all the assets in Wolfenstein3D. Any AI algorithim is going to give you bizarre smeared artwork as it attempts to interpret the tiny pixel artwork. You'd need a specially trained AI for hand-drawn pixel art but the process used in this thread is not goign to yield good results (yet?).

Share this post


Link to post

I notice a problem. When I beat a level in episode 3 of Doom 1, the image after you beat the level is completely malformed.

 

grvaLBR.png

Share this post


Link to post
4 hours ago, Scuba Steve said:

You're using GZdoom with the included widescreen assets, correct?

 

Ive been using this in private custom mods for awhile. I just ended deleting/turning-off the Map transition photos so that the originals would show instead.

Share this post


Link to post

This looks like a problem related to the new GZdoom widescreen assets, which is why I asked. If you are using GZdoom, make sure that the "widescreen artwork" is unchecked in the launcher... The new assets change the size of episode 3 animated elements which causes problems when they are replaced.

Share this post


Link to post

Ok just fixed that issue.

 

Another thing I noticed is that even with custom megawads, the names of the levels of the original IWAD (Doom 2) are still shown.

Share this post


Link to post

What I also want to do is use Project Brutality, along with Beatiful Doom for enhancing the decorations. When I use it with Neural Upscale 2x with BD, it replaces PB's barrels with BD's ones. If I want to use PB's barrels, I have to turn off the enhanced decorations.

Edited by vgmaster9

Share this post


Link to post

So you are trying to mix two 'graphical enhancements' mod together, Neural Upscale 2x + BD. That will cause issues like the ones you have...

Share this post


Link to post
On 4/7/2022 at 5:17 AM, Turin Turambar said:

So you are trying to mix two 'graphical enhancements' mod together, Neural Upscale 2x + BD. That will cause issues like the ones you have...

 

I'm trying to use BD for the decorations and Neural Upscale 2x for the level textures. If I could be able to get the best of both worlds, that would be marvelous.

Share this post


Link to post

Here potential fix for the Support2 texture issue.

 

Edit: Nevermind, it seemed to work in most id maps, but its aligned incorrectly in some of the 3rd party maps I have tested it with. 

 

 

SUPPORT2.png

Edited by BKIIKilla : Issues found in testing

Share this post


Link to post

You do raise a good question... enough time has lapsed since this was created... are there better solutions to some of the workarounds using ZScript?

Share this post


Link to post

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×