VOGONS


WIP versions

Topic actions

  • This topic is locked. You cannot reply or edit posts.

Reply 20 of 1111, by CoolGamer

User metadata
Rank Member
Rank
Member

Dege,

Ultimately it is your call, but I think that a directx9 wrapper will be very cool especially when combined with the upcoming and current graphics enhancement features of dgVoodoo (such as high res texture replacement, resolution scaling, texture filtering, high quality shading, MSAA etc.) and will increase the user base a lot. It will also make dgVoodoo the first tool that can upconvert dx9 to dx11. Converting games to dx11 will also make them compatible with dx11 exclusive features of Nvidia drivers and 3rd party tools such as Reshade and ENB.

While we are on the subject of enhancements, how difficult is it to add nVidia's hardware accelerated "Horizon Based Ambient Occlusion (HBAO)" to dgVoodoo? I am asking because there are some forums dedicated to enabling HBAO for dx9 and dx11 games just by editing nVidia's game profiles using "Nvidia Inspector". Since you are already upconverting games to use DX11, is it possible to ask nVidia driver to apply HBAO to the game?

Edit: I fixed some typos regarding HBAO acronym above. Please see below post for sample screenshots with dgvoodoo + HBAO .

Last edited by CoolGamer on 2017-02-01, 14:39. Edited 1 time in total.

Reply 21 of 1111, by VirtuaIceMan

User metadata
Rank Oldbie
Rank
Oldbie
Dege wrote:
nVidia and ATI colorkeying is distincted in dgVoodoo, that's why they look different. The virtual card has nVidia style colorkey […]
Show full quote
VirtuaIceMan wrote:
Dege wrote:

- Bugs fixed, like one in DX8 device handling, unexpected forced windowed mode (Soulbringer movies), vertex shader (missing fog in CM Rally)

I tried McRae, the fog is now present! I did notice that if you use ATI Radeon 8500 instead of GeForce4/default Direct3D then the edges of trees/fences etc will show a black key around them, which I think looks better than the ropey/"bitty" look when you don't use ATI Radeon 8500 setting.

I'm not sure which is actually correct on period era hardware though; perhaps the edges should fade to transparent, I can't remember!

nVidia and ATI colorkeying is distincted in dgVoodoo, that's why they look different.
The virtual card has nVidia style colorkeying.

VirtuaIceMan wrote:

p.s. the fix DOESN'T fix Shadows Of The Empire fog, that's table fog I think, which is probably more pain!

Are you using gog/steam version?
I'm playing the original and have the fog

Shadows_2017_01_31_06_45_43_58.jpg

I've got the original. I'll give it another go tonight.

Regarding CoolGamer's comment above, there are some DX9 games that could badly do with rescaling ability, but I'm sure it'd be a lot of work.

One more thing: ToCA Touring Cars - the first one, I can't get dgVoodoo to do anything, except render the opening videos. I feel it'd really benefit from higher resolutions (like Colin McRae Rally) but haven't had much luck, mainly (I think) because the game has to be launched from a launcher than needs Win95/98 compatibility against it 😒

My PC spec: Win10 64bit, i7-4970K (not overclocked), KFA2 GeForce RTX 2070 SUPER, Creative Soundblaster ZXr, 16GB RAM, Asus Z97-A motherboard, NZXT 410 case, ROG Swift GSYNC monitor

Reply 23 of 1111, by CoolGamer

User metadata
Rank Member
Rank
Member

Dege,

It seems like DX9 wrapper idea is getting some support from other fellow users 😀)

In the mean time I did some experimenting to demonstrate the DX11 conversion benefits of dgVoodoo to everybody. It seems like it is possible to enable HBAO on games using Nvidia profile inspector after upconverting them to DX11 by using dgVoodoo. Please see the attached zip file with Screenshots from Hitman 3 Contracts (a directx 8 game). The first screenshot is without HBAO and the second one is with HBAO. Difference is more obvious when you download and switch between the images via Windows photo viewer.

NO HBAO
Hitman_Contracts_no_HBAO_Copy.jpg

HBAO
Hitman_Contracts_HBAO_Copy.jpg

All I did was to set the game profile's Ambient occlusion compatibility to "0x00060000 (Call of Juarez(DX10), Call of Juarez)" via Nvidia Profile inspector. I picked that setting via trial and error. I also set ambient occlusion to "Quality" and Ambient Occlusion usage to "Enabled".

This is a simple hack that proves that dgVoodoo is an extremely useful graphical enhancement software. If you can add a "HBAO" setting to control panel it will be much better than profile hacking via trial and error. And if you can develop a DX9 wrapper, we can use these enhancements on dx9 games as well 😀)

Since HBAO is "horizon based", it seems like HBAO only works on games where dgVoodoo provides "depth map access" to the driver. For example, I couldn't get HBAO to work on "Star Wars Racer 1 Pod racer" via dgVoodoo. Reshade3's depth map based effects (such as DOF and MXAO) also do not work on "Star Wars Racer 1 Pod racer" via dgVoodoo. If you can come up with a way to always provide "depth map access", HBAO will work with all 3d games via dgVoodoo.

Attachments

Reply 24 of 1111, by Dege

User metadata
Rank l33t
Rank
l33t
CoolGamer wrote:
Dege, […]
Show full quote

Dege,

It seems like DX9 wrapper idea is getting some support from other fellow users 😀)

In the mean time I did some experimenting to demonstrate the DX11 conversion benefits of dgVoodoo to everybody. It seems like it is possible to enable HBAO on games using Nvidia profile inspector after upconverting them to DX11 by using dgVoodoo. Please see the attached zip file with Screenshots from Hitman 3 Contracts (a directx 8 game). The first screenshot is without HBAO and the second one is with HBAO. Difference is more obvious when you download and switch between the images via Windows photo viewer.

NO HBAO
Hitman_Contracts_no_HBAO_Copy.jpg

HBAO
Hitman_Contracts_HBAO_Copy.jpg

All I did was to set the game profile's Ambient occlusion compatibility to "0x00060000 (Call of Juarez(DX10), Call of Juarez)" via Nvidia Profile inspector. I picked that setting via trial and error. I also set ambient occlusion to "Quality" and Ambient Occlusion usage to "Enabled".

This is a simple hack that proves that dgVoodoo is an extremely useful graphical enhancement software. If you can add a "HBAO" setting to control panel it will be much better than profile hacking via trial and error. And if you can develop a DX9 wrapper, we can use these enhancements on dx9 games as well 😀)

Since HBAO is "horizon based", it seems like HBAO only works on games where dgVoodoo provides "depth map access" to the driver. For example, I couldn't get HBAO to work on "Star Wars Racer 1 Pod racer" via dgVoodoo. Reshade3's depth map based effects (such as DOF and MXAO) also do not work on "Star Wars Racer 1 Pod racer" via dgVoodoo. If you can come up with a way to always provide "depth map access", HBAO will work with all 3d games via dgVoodoo.

Hmmm!! It's nice! 😁
So, nVidia's HBAO works only on DX>=10...? (I guess the HBAO needs compute shaders or pixel shaders that are too complicated for DX9 level (or lacks some of the shader needed features)).
Anyway, it's good to hear and see that!

Yes, basic DX9.1 would be cool. The only obstructive factor for me is the time... (and my workplace 😁)

Reply 25 of 1111, by CoolGamer

User metadata
Rank Member
Rank
Member

Thanks Dege, I will anxiously wait for your next dgVoodoo release 😀

I did some more research. Official nvidia page on HBAO+ (linked below) states that DX11 is a dependency of HBAO+.
https://developer.nvidia.com/shadowworks

Nvidia provides example source code (free of charge) that shows programmers how to use HBAO+ in their games. It is on Github but you have to signup through Nvidia's website to request access to the HBAO+ repository (it is hidden from public view). Instructions are shown on the link below. It seems like you first need to get a Github account (if you don't already have one) before you signup through nvidia's website.
https://developer.nvidia.com/gameworks-source-github

After you complete the signup you should be able to access the "hidden HBAO+ repo" under the following web page when you login to Github.
https://github.com/NVIDIAGameWorks

I am not a programmer, but I am hoping that these resources will be useful to you. I am hoping that they contain list of information and flags that need to be sent to the drivers to enable HBAO.

Reply 26 of 1111, by UCyborg

User metadata
Rank Member
Rank
Member

Isn't HBAO just an algorithm that can be implemented on any D3D11 capable card? Just NVIDIA has the option to force it through control panel. And supposedly one of their guys thought of it, hence the hype and NVIDIA bias when it comes to that feature.

Arthur Schopenhauer wrote:

A man can be himself only so long as he is alone; and if he does not love solitude, he will not love freedom; for it is only when he is alone that he is really free.

Reply 27 of 1111, by CoolGamer

User metadata
Rank Member
Rank
Member
UCyborg wrote:

Isn't HBAO just an algorithm that can be implemented on any D3D11 capable card? Just NVIDIA has the option to force it through control panel. And supposedly one of their guys thought of it, hence the hype and NVIDIA bias when it comes to that feature.

UCyborg, you are right. Both Nvidia and ATI support HBAO through their drivers. Nvidia claims that it is the fastest and the best ambient occlusion method. That's what the hype is.

From our (dgVoodoo user base's) point of view HBAO is significant because Dege might be able to develop a "HBAO Injector" in his dgVoodoo wrappers that activates the graphics card driver's built in HBAO functions.

Reply 29 of 1111, by CoolGamer

User metadata
Rank Member
Rank
Member
Dege wrote:

Some revise:

I haven't try HBAO myself, but, according to browsing on the net, shouldn't it work for DX9 too (enabling it on nVidia cpl)?

It seems like I jumped the gun when I said that HBAO only works on DX11. Nvidia website section that I posted above says that it works only on DX11, but another Nvidia website section that I found (linked below) lists the DX9 games that support ambient occlusion through Nvidia's profiles (such as Mirror's Edge).
http://www.geforce.com/whats-new/guides/ambient-occlusion#6

Turning ambient occlusion ON in control panel's "Global Settings Tab" does not work on its own unless the Nvidia game profile has ambient occlusion support (e.g. reportedly Mirror's Edge DX9, Call of Juarez DX10, etc.) or unless the game has built in HBAO support. When you browse the game profiles under "Program Settings Tab", you will see that it says "Ambient Occlusion: Not supported for this application" for most of the games. As far as I know, in order to force/try HBAO on an unsupported game (DX9,DX10 or DX11), you also need to edit the game's profile using the third party tool named "Nvidia Inspector" as I did for Hitman 3.

Several facts still remain from my previous posts 😀:

1) HBAO surely works on dgVoodoo wrapped games through game profile hacking if there is "depth map access" (e.g. works on Hitman 3, but does not work on Star Wars Racer).
2) If you can come up with a way to always provide "depth map access", HBAO will work with all 3d games via dgVoodoo.
3) After looking at Nvidia's HBAO example source code on github, if you can come up with a way to develop a "HBAO Injector" that can be enabled in dgVoodoo's control panel, we won't need profile hacking. Proper HBAO injection support will also be much cleaner and faster than applying other game profiles via trial and error.
4) DX9 to DX11 wrapper is cool 😀 no matter what. It will also enable us to use the current and upcoming dgVoodoo enhancements (Depth map access, HBAO injection, MSAA, high res texture replacement, etc.) on all DX9 games.

Reply 30 of 1111, by VirtuaIceMan

User metadata
Rank Oldbie
Rank
Oldbie
Dege wrote:
nVidia and ATI colorkeying is distincted in dgVoodoo, that's why they look different. The virtual card has nVidia style colorkey […]
Show full quote
VirtuaIceMan wrote:
Dege wrote:

- Bugs fixed, like one in DX8 device handling, unexpected forced windowed mode (Soulbringer movies), vertex shader (missing fog in CM Rally)

I tried McRae, the fog is now present! I did notice that if you use ATI Radeon 8500 instead of GeForce4/default Direct3D then the edges of trees/fences etc will show a black key around them, which I think looks better than the ropey/"bitty" look when you don't use ATI Radeon 8500 setting.

I'm not sure which is actually correct on period era hardware though; perhaps the edges should fade to transparent, I can't remember!

nVidia and ATI colorkeying is distincted in dgVoodoo, that's why they look different.
The virtual card has nVidia style colorkeying.

VirtuaIceMan wrote:

p.s. the fix DOESN'T fix Shadows Of The Empire fog, that's table fog I think, which is probably more pain!

Are you using gog/steam version?
I'm playing the original and have the fog

Shadows_2017_01_31_06_45_43_58.jpg

Yep, still no fog. I've got the original UK release, patched to version 1.1. I put the CPL file and the MS dll's into the Sdata sub-folder (where they need to be to work). If I launch the game from SHADOWS.EXE I've then got it set to:

Display Device: dgVoodoo DirectX Wrapper
3D Device: dgVoodoo Hardware Accelerated Device
Display Mode: whatever! 1280x960 16bpp for example, as your wrapper scales it up
Options: Enable Fog and CD Audio ticked (nothing else)

In the dgVoodoo CPL, the DIrectX tab, I have dgVoodoo Virtual 3D Accelerated Card or GeForce4 set (ATI = blue screen, like running with no dgVoodoo in-game), 64MB, res 1440x1080, Antialiasing at 8x, Application controlled fullscreen/disable alt-enter both ticked and the Watermark ticked (so I know it's running!).

I'm running an Nvidia 980 GTX, if that helps?

My PC spec: Win10 64bit, i7-4970K (not overclocked), KFA2 GeForce RTX 2070 SUPER, Creative Soundblaster ZXr, 16GB RAM, Asus Z97-A motherboard, NZXT 410 case, ROG Swift GSYNC monitor

Reply 31 of 1111, by PaperBen

User metadata
Rank Newbie
Rank
Newbie

Hi,

Thanks Dege for the WIP version, your work is very appreciated !

Dege, i use DgVoodoo with Splinter Cell 1, it works very well and emulate almost perfectly the Shadow Buffer mode. Now i want to force HBAO+ in the game trought NVidia Inspector panel, but i can force it in Splinter Cell, because it's a DX8 game, i don't know why but according many forums and answers i need to run the game in DX9. Ok, so i figured out how with ENBconverter, a DX8toDX9 wrapper. But, and that's the point, DgVoodoo use a file called D3D8.dll and ENBconverter use also a file called d3d8.dll so i cannot copy both in the system folder because the name cannot be changed.
ENBconverter works well and i can force HBAO+ in SC1, even force MSAA, SGSSAA and AF in the Nvidia Inspector panel, but without DgVoodoo activate ! It's one or other, and i need to use DgVoodoo with GeForce 4 Ti 4800 enabled because with Projected Shadow SC1 is very ugly and simply unplayable...

It is possible to have a DgVoodoo with a renaming D3D8.dll in D3D8a.dll or other or it must be exactly this name ?

I don't know if you undestand what i mean, im a french guy from Switzerland and my english is not very good.
Best regards.

Reply 32 of 1111, by daniel_u

User metadata
Rank Member
Rank
Member
PaperBen wrote:
Hi, […]
Show full quote

Hi,

Thanks Dege for the WIP version, your work is very appreciated !

Dege, i use DgVoodoo with Splinter Cell 1, it works very well and emulate almost perfectly the Shadow Buffer mode. Now i want to force HBAO+ in the game trought NVidia Inspector panel, but i can force it in Splinter Cell, because it's a DX8 game, i don't know why but according many forums and answers i need to run the game in DX9. Ok, so i figured out how with ENBconverter, a DX8toDX9 wrapper. But, and that's the point, DgVoodoo use a file called D3D8.dll and ENBconverter use also a file called d3d8.dll so i cannot copy both in the system folder because the name cannot be changed.
ENBconverter works well and i can force HBAO+ in SC1, even force MSAA, SGSSAA and AF in the Nvidia Inspector panel, but without DgVoodoo activate ! It's one or other, and i need to use DgVoodoo with GeForce 4 Ti 4800 enabled because with Projected Shadow SC1 is very ugly and simply unplayable...

It is possible to have a DgVoodoo with a renaming D3D8.dll in D3D8a.dll or other or it must be exactly this name ?

I don't know if you undestand what i mean, im a french guy from Switzerland and my english is not very good.
Best regards.

If i remember well ENB has an option called LoadLibrary. If this exists there, try to rename Dgvoodoo d3d8 to something else and load it through enb. Might work.
I saw that other members are using ReShade for post processing. this can hook d3d8 processes.

Reply 33 of 1111, by PaperBen

User metadata
Rank Newbie
Rank
Newbie

I tested AutodllInjector, it works well for multiple dll with same name. When DgVoodoo is active, all other dll i inject won't works and when DgVoodoo is inactive, all other dll i inject works.
So i just proper reinstalling the game, without DgVoodoo, ENBconverter, etc...and whats my surprise ? i can force HBAO+ !
In fact, i don't need the ENBconverter.
Ok, not sure if the problem was DgVoodoo, but when is active, it bypass all and you can't use the Nv Inspector settings, or other dll. Reshade works with all the features, except MXAO (Ambient Occlusion) !

It can be also due to how the Depth Buffer (Z-Buffer) work in this game.

I don't know, this next week i will build a oldschool gaming PC with a GeForce TI 4 4600, and then install the game proper and see if i can force HBAO+. If i can, it's a DgVoodoo issue and if i can't, it's another issue like Depth Buffer or other.

See soon.

Reply 35 of 1111, by Dege

User metadata
Rank l33t
Rank
l33t
PaperBen wrote:
Hi, […]
Show full quote

Hi,

Thanks Dege for the WIP version, your work is very appreciated !

Dege, i use DgVoodoo with Splinter Cell 1, it works very well and emulate almost perfectly the Shadow Buffer mode. Now i want to force HBAO+ in the game trought NVidia Inspector panel, but i can force it in Splinter Cell, because it's a DX8 game, i don't know why but according many forums and answers i need to run the game in DX9. Ok, so i figured out how with ENBconverter, a DX8toDX9 wrapper. But, and that's the point, DgVoodoo use a file called D3D8.dll and ENBconverter use also a file called d3d8.dll so i cannot copy both in the system folder because the name cannot be changed.
ENBconverter works well and i can force HBAO+ in SC1, even force MSAA, SGSSAA and AF in the Nvidia Inspector panel, but without DgVoodoo activate ! It's one or other, and i need to use DgVoodoo with GeForce 4 Ti 4800 enabled because with Projected Shadow SC1 is very ugly and simply unplayable...

It is possible to have a DgVoodoo with a renaming D3D8.dll in D3D8a.dll or other or it must be exactly this name ?

I don't know if you undestand what i mean, im a french guy from Switzerland and my english is not very good.
Best regards.

Hi!

Yes, you can't use them together.
ENB wraps DX8 to DX9, while dgVoodoo wraps DX8 to DX11.

Reply 36 of 1111, by Dege

User metadata
Rank l33t
Rank
l33t

A few fixes have been done again:

http://dege.fw.hu/temp/dgVoodooWIP30.zip

WIP30:

- Glide fix (far background in front of the 3D world: Mig29, Uprising)
- Bug in surface state handling (bad/missing motion blur in GTA 3)
- Z-buffering fixes again
* Potential bad driving of D3D11 at FL10.1 when no resolution and MSAA is forced (Gorky17)
* Erroneous resolving when MSAA is forced (bad shadows in Splinter Cell) - refactoring is not a lightweight process...
- DX8 compatibility fixings, now handling managed textures is compatible with Phantasy Start Online Blue Burst
(corrupt mipmapping)
- Some of the DDraw code is guarded to avoid the unexpected worst-way DLL unloading
Now LithTech engine games (Blood2, NOLF, Kiss Psycho Circus, ...) should tolerate Alt-Tab on Win10
- Some other extra guarding to prevent crashes, Virtua Cop2 now works in D3D mode

Reply 39 of 1111, by Dege

User metadata
Rank l33t
Rank
l33t
VirtuaIceMan wrote:

Yep, still no fog. I've got the original UK release, patched to version 1.1. I put the CPL file and the MS dll's into the Sdata sub-folder (where they need to be to work). If I launch the game from SHADOWS.EXE I've then got it set to:

I think I have version 1.0. Maybe that's the problem, I'll patch it to 1.1.