diasurgical / devilutionX

Diablo build for modern operating systems
Other
7.74k stars 759 forks source link

Assets up-scaling (future request) #3

Open baszczewski opened 5 years ago

baszczewski commented 5 years ago

Please support modern resolutions and post processing filters for up-scaling. This will allow to presents game in modern, but maybe little cartoonish way. I made some samples with Waifu2x filter: inventory-after dungeon-after diablo-after

ghost commented 5 years ago

I plan on adding this in.

It shouldn't be too hard either.

Thanks for issue.

ghost commented 5 years ago

You can now resize the window after game start

AJenbo commented 5 years ago

At the moment we have it using a virtual resolution so it's not locked to anything specific. Tee scaling is very basic though.

AJenbo commented 5 years ago

The game now runs in fullscreen (native desktop resolution) and uses bilinear scalling.

Waifu2x appears to not be perfomant enough to be used for post processing and processing the assets would require a rewrite of the render engine. hqx might be a more realistic route to go. Implementing it here should be fairly straight forward: https://github.com/diasurgical/devilutionX/blob/master/Stub/dx.cpp#L83 though you would probably have to disable logical LogicalSize and handle scaling of coordinates manually. https://github.com/diasurgical/devilutionX/blob/master/Stub/DiabloUI/sdlrender.cpp#L203

https://github.com/diasurgical/devilutionX/blob/master/Stub/DiabloUI/sdlrender.cpp#L405

sheepo99 commented 5 years ago

I have a question. Will advanced features such as HQ resolutions and other advanced features be supported by the DevilutionX build, or will they be exclusive to the future Devilution Plus Plus package?

AJenbo commented 5 years ago

I have a question. Will advanced features such as HQ resolutions and other advanced features be supported by the DevilutionX build, or will they be exclusive to the future Devilution Plus Plus package?

The groundworks are being laid, the very first step of making the graphics more configurable is basically ready #44. The render is being cleaned up (this is also a huge step toward 64bit support), this will give us the opportunity for making it hardware accelerated and resolution independent. So it may take a bit of time, but it is on its way.

AJenbo commented 5 years ago

Adding Waifu2x asssets depends on #46

ivan89el commented 5 years ago

@baszczewski Tried topaz ai gigapixel turned out even more cute: med

ghost commented 5 years ago

@ivan89el This issue is closed.

I like though the Russian in this. How much of the game is translated into Russian? Can we talk about this in our discord?

ivan89el commented 5 years ago

@ApertureSecurity The exe translation was done in hex and the old (1998) translated MPQ resources were used.

AJenbo commented 5 years ago

This one was pointed out on the GOG forums: https://github.com/atheros/xbrzscale

med

qndel commented 5 years ago

Yeah but the thing is none of these are fast enough to be applied in realtime and modifying a screenshot is not a big deal

AJenbo commented 5 years ago

@qndel we could implement this as part of the loading routine, of cause that we rewrite the render to support upscaled tile, but that's on the road map anyway.

BF3000 commented 5 years ago

What can I say, there is more than enough scaling algorithms to do the job. Bilinear,Bicubic, Lanczos, Blackman, Spline. Something super heavy, like Nnedi3 or Waifu2x can be used to upscale sprites during level loading, but not for realtime rendering.

dcworldwide commented 4 years ago

Interesting to note, ESRGAN project results are promising.

https://github.com/xinntao/ESRGAN https://www.youtube.com/watch?v=zpwG2uNWhiQ https://www.youtube.com/watch?v=FsoyC9j9MV0

dcworldwide commented 1 year ago

5 years on since op.... Has the technology's scalability improved enough to make this feasible?