VOGONS


First post, by antrad

User metadata
Rank Member
Rank
Member

Many people are excited about the possibilities of using new AI algorithms to enhance textures in old computer games. The problem is most games have their files encrypted and people don't have access to the textures, so there is a great need for some kind of texture extractor/injector.

I was thinking would it be possible to use dgVoodoo to intercept and override stuff like D3DXCreateTextureFromFile() calls and that kind of stuff to extract and then load custom textures from a dgTextures folder that would contain new textures ?

Pexioto's game patcher can already do texture swapping, but only on a limited number of games. I haven't tried using it yet and I wont pretend to know how all of this works under the hood and can it be applied to dgVoodoo.
Peixoto's patches for a few old games

I think dgVoodoo would be perfect for something like this since it is used to fix and enhance old games already. A feature like this would also increase the popularity of the program in the modding scene and media also likes to write articles about this kind of stuff.

Here is an example I made using ESGRAN to enhance a texture from 256x256 to 512x512. It is literally magic (when it works), because it does not only upscale and sharpen the image, but actually adds new detail. There are other examples all around the web.
https://i.imgur.com/RP6x3Cy.png

Reply 2 of 10, by antrad

User metadata
Rank Member
Rank
Member
Deffnator wrote:

in my opinion, i think that the best way could be ThirtheenAG's method combined with dgvoodoo2

I know about ThirteenAG widescreen fixes, but never heard anything about a texture injector. Any links ? All I know is he did upload some texture packs, like for Splinter Cell, but those are just textures extracted from the PS3 version and copied over the existing files, because the PS3 version is based on the PC version, so the files are compatible.

Reply 4 of 10, by Dege

User metadata
Rank Oldbie
Rank
Oldbie

Yes, it could be, I think.
The idea about it is not to modify 'core dgVoodoo' but let open the door to hook it with external dll's instead.

I can imagine an 'add-on', given in the config file, that hooks part of dgVoodoo through an internal interface.
dgVoodoo could provide texture bitmaps (say, the ones allocated in the MANAGED pool) to the dll and let it change that to another one.

This would require c++ coding from the modding side, but provide the best way to mess with dgVoodoo.
I myself could make an (open source) example for a hooking dll, for others to begin with.

But it's a mere plan/vision right now.

Reply 5 of 10, by antrad

User metadata
Rank Member
Rank
Member
Dege wrote:
Yes, it could be, I think. The idea about it is not to modify 'core dgVoodoo' but let open the door to hook it with external dll […]
Show full quote

Yes, it could be, I think.
The idea about it is not to modify 'core dgVoodoo' but let open the door to hook it with external dll's instead.

I can imagine an 'add-on', given in the config file, that hooks part of dgVoodoo through an internal interface.
dgVoodoo could provide texture bitmaps (say, the ones allocated in the MANAGED pool) to the dll and let it change that to another one.

This would require c++ coding from the modding side, but provide the best way to mess with dgVoodoo.
I myself could make an (open source) example for a hooking dll, for others to begin with.

But it's a mere plan/vision right now.

Thanks for taking the time to respond. I hope the idea will grow and one they you make something.

Reply 6 of 10, by antrad

User metadata
Rank Member
Rank
Member
Dege wrote on 2019-05-08, 11:16:

But it's a mere plan/vision right now.

I want to show you what I did for Dungeon Siege using ESRGAN. This is of course a very moddable game, so textures could be replaced easily.
https://www.youtube.com/watch?v=V8WMZhyBg7k

Reply 8 of 10, by ZellSF

User metadata
Rank Oldbie
Rank
Oldbie

If texture replacement is under consideration, have you also considered automatic texture replacement?

Normal2X (or higher) for example is great for making games retain their pixelated feel without having to turn off texture filtering (which makes for a lot of shimmering artifacts). Here's an example of Doom with normal4X textures for example:
https://www.youtube.com/watch?v=BJg9i-Oj7-M

A lot of people also seem to like xBRZ scaling.

Reply 9 of 10, by Dege

User metadata
Rank Oldbie
Rank
Oldbie

It didn't come to my mind but it's quite a good idea.

I started to work on another feature though (that's why there are no releases nowadays), so I don't know when I'll find some time to implement texture replacing.

Reply 10 of 10, by Deffnator

User metadata
Rank Newbie
Rank
Newbie

Oblivion's ENB recognizes reshade as dxgi renamed D3d9.dll when you change the file

[PROXY]
EnableProxyLibrary=true
InitProxyFunctions=false
ProxyLibrary=dxgi.dll

it would be interesting to see that at work in oblivion since MSAA is a must for this game