VOGONS


Tech demos - general discussion

Topic actions

Reply 40 of 103, by Dege

User metadata
Rank l33t
Rank
l33t

I tried the Matrox Parhelia-512 Coral Reef Tech Demo.

Interestingly, the demo itself doesn't seem to care about card Vendor/hw ID.
If I launch it through dgVoodoo (or natively) it fails to start because it wants to use depth/stencil format D24X4S4 which must be a Matrox-specific format. Neither dgVoodoo supports it, nor natively is supported.
If I modify this format in debugger to the common D24S8 instead then the demo starts and runs. Speed is OK, the only problem is, caustic (spatial water surface refraction) is totally missing.
As it turned out, the demo utilizes volume textures for this which is also not supported in dgVoodoo, but it doesn't exit with an error message, it just replaces volume textures with null-textures.

The D24X4S4 problem can be helped by mapping it to DX24S8 (altough, theoretically, there are cases when the 2 are not equivalent).
Adding volume texture support is not so easy, requires more work but I now have a very good reason at least. 😁
(so far I only encountered a single scene demo requiring volume textures, nothing else)

Reply 41 of 103, by Dege

User metadata
Rank l33t
Rank
l33t
Nucleoprotein wrote:

@Dege
You tried to pin your DLL ? ie. create thread inside your DllMain and in that thread call GetModuleHandleEx to 'self' with GET_MODULE_HANDLE_EX_FLAG_PIN - https://msdn.microsoft.com/en-us/librar ... s.85).aspx it can be little unsafe trough.

You mean, for fixing initializing D3D11 from DllMain?
CreateThread from DllMain is dangerous, shouldn't be called.

Reply 42 of 103, by Dege

User metadata
Rank l33t
Rank
l33t

I modified the Matrox G400 tech demo executable, to allocate much larger memory chunk for the font creation process. It doesn't crash (there 😀 ) now, but fonts are still missing for some reason (when pressing Tab in-demo), in spite of the demo has its own font file in the data pack. 😖

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

An .sdb should also be installed, to avoid the crash when entering the demo from the menu, but it contains only one option: Fault tolerant heap.
In spite of all that, I cannot guarantee the demo executable always starts: I experienced unexplainable crashes sometimes, always coming from some heap corruption.
This demo seems to be multithreaded, so I tried single proc affinity but didn't help.

For the Matrox Parhelia Reef Demo don't forget to set MSAA to 'app driven' on the control panel (and use the Internal Virtual card). When it's set to any other value then dgVoodoo doesn't expose
MSAA support to the application (but silently forces the one set). The demo always open D3D8 with 4x MSAA, that's why it's needed. May worth to get through the demo
config first.
Another thing: the initial demo loading screen is drawn by GDI which in currently not supported in dgVoodoo. So, in fullscreen it starts with a period of black screen.

Reply 43 of 103, by CoolGamer

User metadata
Rank Member
Rank
Member

Thanks for the new WIP and the Matrox G400 demo fix. I got it to work on Windows 7 64bit OS but I had to add "Emulate heap" to the compatibility sdb file in addition to "Fault Tolerant Heap". Otherwise it crashed during loading. I guess compatibility options depend on the host OS.

Matrox Parhelia Reef Demo v1.0 works. Thanks a lot for that. As stated by lowenz, and confirmed by you, patched v1.1 gives an error message due to GPU check. I will just wait for the new WIP on that.

Did you have the chance to take a look at the STMicroElectronics Kyro II Tech Demos (DX7)?

Reply 44 of 103, by Dege

User metadata
Rank l33t
Rank
l33t

Reef demo 1.1 with WIP32.1 should also work now.
This demo seems to adjust the camera FOV according to the resolution (tdrg_v2.ini) (because of 'surround mode', I guess), but I'm not sure.
Anyway, I tried it in 2560x1440 and it looks beautifully, like an aquarium in my room. 😁

CoolGamer wrote:

Did you have the chance to take a look at the STMicroElectronics Kyro II Tech Demos (DX7)?

I hope. But I'd like to concenrate on bugs noted on my priority list, to release a new version as soon as possible.
(Reef demo was a big exception because that's so cool that I couldn't miss that. 😀 )

Reply 45 of 103, by daniel_u

User metadata
Rank Member
Rank
Member

Here's another DX 8.1 demo:

http://gamesystemrequirements.com/game/final-fantasy-xi

Download:
https://www.guru3d.com/files-details/final-fa … hmark-2-v1.html
https://www.techpowerup.com/download/final-fa … xi-benchmark-3/

Did not tried it yet because i'm not at home PC. Might help you nail some other bugs.

Update

it seems that the demo does not start at all, to begin with. I have windows 7 64 bit. Dual monitors. Not sure what the cause is.
Too bad looked interesting on you tube.

Reply 46 of 103, by CoolGamer

User metadata
Rank Member
Rank
Member

I have great news. Nvidia HBAO+ works on Matrox Parhelia Reef Tech Demo via dgVoodoo and nvidia profile inspector. 😁 HBAO+ Effect is the most visible on the faces of the rocks that have deep grooves.

Instructions and download link:
http://www.majorgeeks.com/files/details/nvidi … _inspector.html

Using Nvidia Profile inspector create a new profile and add fishdemoclient.exe to the profile.

Ambient Occlusion Compatibility: 0x00060000 (Call of Juarez(DX10), Call of Juarez)
Ambient Occlusion setting: Performance (or select Quality/High Quality if you have a fast GPU)
Ambient Occlusion usage: Enabled

HBAO+ effect looks a little intense, but we won't be able to get anything better until you develop the API with Gameworks DLL support. When you have the API ready (API for Splinter Cell, other games and nvidia gameworks), you can test Gameworks HBAO+ on the Matrox reef tech demo.

How is the API going by the way?

Last edited by CoolGamer on 2017-03-22, 17:24. Edited 3 times in total.

Reply 48 of 103, by CoolGamer

User metadata
Rank Member
Rank
Member
lowenz wrote:

Performance? HBAO+ <=> quality mode

Performance, Quality or High Quality modes all use the HBAO+ algorithm. I get bigger performance drops with Quality and High Quality modes, but of course the effect looks better (softer more refined shadows).

Dege,

I found an example implementation code for Gameworks DLL HBAO+ in the link shown below. In the example they only use 23 lines of code to implement the effect. I hope it is as simple as they market it.

http://docs.nvidia.com/gameworks/content/game … ao/product.html

parent document is below:
http://docs.nvidia.com/gameworks/#gameworksli … sualFX%7C_____0
https://developer.nvidia.com/gameworks-visualfx-overview

On a separate note, Nvidia Gameworks has an even more advanced Ambient Occlusion method named VXAO: Voxel Accelerated Ambient Occlusion. But Nvidia says that VXAO is more difficult to implement and more resource intensive relative to HBAO+. VXAO also works on all DX11 cards. HBAO+ is a much easier and better candidate to start Gameworks integration. Imagine how cool it will be when we can choose between HBAO+ and VXAO for Splinter Cell 1 via dgVoodoo 😁 . Not even most of the modern games have those options.
https://developer.nvidia.com/NVIDIA-VXAO

Reply 49 of 103, by dr.zeissler

User metadata
Rank l33t
Rank
l33t

ReefDemo works on my P4 1,6 with 64Bit! GF6200 and looks GREAT!
The G200 Demo does not work for me yet, I think I should go for the patches that were mentioned at the beginning of the thread.

Retro-Gamer 😀 ...on different machines

Reply 50 of 103, by Dege

User metadata
Rank l33t
Rank
l33t
CoolGamer wrote:
Performance, Quality or High Quality modes all use the HBAO+ algorithm. I get bigger performance drops with Quality and High Qu […]
Show full quote
lowenz wrote:

Performance? HBAO+ <=> quality mode

Performance, Quality or High Quality modes all use the HBAO+ algorithm. I get bigger performance drops with Quality and High Quality modes, but of course the effect looks better (softer more refined shadows).

Dege,

I found an example implementation code for Gameworks DLL HBAO+ in the link shown below. In the example they only use 23 lines of code to implement the effect. I hope it is as simple as they market it.

http://docs.nvidia.com/gameworks/content/game … ao/product.html

parent document is below:
http://docs.nvidia.com/gameworks/#gameworksli … sualFX%7C_____0
https://developer.nvidia.com/gameworks-visualfx-overview

On a separate note, Nvidia Gameworks has an even more advanced Ambient Occlusion method named VXAO: Voxel Accelerated Ambient Occlusion. But Nvidia says that VXAO is more difficult to implement and more resource intensive relative to HBAO+. VXAO also works on all DX11 cards. HBAO+ is a much easier and better candidate to start Gameworks integration. Imagine how cool it will be when we can choose between HBAO+ and VXAO for Splinter Cell 1 via dgVoodoo 😁 . Not even most of the modern games have those options.
https://developer.nvidia.com/NVIDIA-VXAO

Yes, it indeed very simple. Except for one thing...
The algorhytm needs the projection matrix which prevents those AO's from applying generally and automatically for all games. 🙁
Advanced DX8 titles like Splinter Cell do they work through vertex shaders, so dgVoodoo has no idea what the projection matrix is in those cases. Since shaders are fully programmable, it all is up to the game, blackbox for dgVoodoo. The problem is similar to the wide-screen patchings.
(Vertex shaders may not even do calculations with projection matrix directly, but with one coming from multiple matrices multiplied together (like world*view*projection)).
Even for fixed vertex function games (mostly DX<=7) it's a problem because the game doesn't necessarily submit its vertex transformations to the DX runtime, feeding that with TL-vertices (Transformed and Lit) is very common.
I think it all could only be done game by game, by reverse engineering them and calling the AO algorhytm from a dgVoodoo addon. API is nowhere at the moment however, I don't want to deal with that until the next version is released.

Reply 51 of 103, by CoolGamer

User metadata
Rank Member
Rank
Member

I am sorry to hear that HBAO+ is not an easy feature to implement. I guess in worst case you might be able to create Profiles for some games/demos with HBAO+ when the API is ready in the future.

Gameworks DLLs have tons of cool effects in them in addition to HBAO+, such as TXAA, Depth of Field (Bokeh), Percentage Closer Soft Shadows (PCSS), Hybrid Frustum Traced Shadows (HFTS), God Rays, Global Illumination (Voxel Cone Tracing), etc. If you can create a hack that can get one or some of these to work in games, it will be amazing.

On a separate note, is it possible to implement 16x Anisotropic texture filtering in dgVoodoo? I try to add 16x anisotropic texture filtering to dgVoodoo Games through Nvidia control panel, but I am not sure if it is working or not.

Reply 53 of 103, by Tuxality

User metadata
Rank Newbie
Rank
Newbie
Dege wrote:
CoolGamer wrote:

Did you have the chance to take a look at the STMicroElectronics Kyro II Tech Demos (DX7)?

I hope. But I'd like to concenrate on bugs noted on my priority list, to release a new version as soon as possible.
(Reef demo was a big exception because that's so cool that I couldn't miss that. 😀 )

Dege, in case you want pre-patched Kyro demos for use on non-Kyro GPUs, just grab them from my website:

http://redtux.rocik.net/?page=download&file=1

Archive contains four demos, although Temple wasn't Kyro locked I've included it in this package. They are UPX compressed as the original releases.

Reply 54 of 103, by Dege

User metadata
Rank l33t
Rank
l33t
Tuxality wrote:
Dege, in case you want pre-patched Kyro demos for use on non-Kyro GPUs, just grab them from my website: […]
Show full quote
Dege wrote:
CoolGamer wrote:

Did you have the chance to take a look at the STMicroElectronics Kyro II Tech Demos (DX7)?

I hope. But I'd like to concenrate on bugs noted on my priority list, to release a new version as soon as possible.
(Reef demo was a big exception because that's so cool that I couldn't miss that. 😀 )

Dege, in case you want pre-patched Kyro demos for use on non-Kyro GPUs, just grab them from my website:

http://redtux.rocik.net/?page=download&file=1

Archive contains four demos, although Temple wasn't Kyro locked I've included it in this package. They are UPX compressed as the original releases.

Thanks!! 😎 dgVoodoo had 2 minor issues that I fixed, so all of them works with it now!

Reply 55 of 103, by CoolGamer

User metadata
Rank Member
Rank
Member

Thanks for fixing the compatibility issues in Kyro demos. I have some more bug reports.

The following DX8 scene demos by LKCC do not work with dgVoodoo WIP32. They give an error message that says "IndexBuffer UnLockInt 16bit out of bounds". It seems like they all use the same engine. They work fine natively.

Perfect Love DX8
http://www.pouet.net/prod.php?which=18740
Fern DX8
http://www.pouet.net/prod.php?which=13276
Above DX8
http://www.pouet.net/prod.php?which=30255

Fog City (DX6) and Tirtanium (DX6 and DX7) Benchmarks do work with dgVoodoo WIP32 but there are minor issues. In DX6 mode, spinning logo at the beginning does not look right. Colors of the buildings, lights and logos in the demos also do not look right. And there are performance problems. In DX7 mode, device list does not seem to display all options (no dgVoodoo T&L HAL Device). These demos work fine natively.
http://www.benchmarkhq.ru/english.html?/b_e.html
https://www.youtube.com/watch?v=V7OKQeQnEo0
https://www.youtube.com/watch?v=dlKDZh99wzQ

I have another MadOnion (Futuremark) DX7 Benchmark Demo named XL-R8R that is awaiting UCyborg's input on DllMain thread.
https://www.futuremark.com/benchmarks/legacy

Were you able to get Matrox G200 demo to work with dgVoodoo?

Edit:

Video2000 DX7 Video Benchmark by MadOnion (Futuremark)
https://www.futuremark.com/benchmarks/legacy

Video2000's GUI does start via dgVoodoo but when I try to start the benchmark it gives an error that says "Surface Exception: Couldn't query VideoPort interface!". Default DVD filters list is empty via dgVoodoo. This benchmark might shed some light into the reason why videos do not work in some old games. This benchmark works fine natively. You can choose the tests that you want to perform such as image upscaling/downscaling, mpeg encoding/decoding, video memory copy, etc.

Reply 56 of 103, by Dege

User metadata
Rank l33t
Rank
l33t

Kyro demos, LKCC demos, Fog City and Tirtanium should now work with the new WIP.
However videoport interfaces are not implemented in dgVoodoo, so Video2000 won't work.

CoolGamer wrote:

Were you able to get Matrox G200 demo to work with dgVoodoo?

Unfortunately not. 😐

Reply 57 of 103, by CoolGamer

User metadata
Rank Member
Rank
Member

It seems like there are still some issues with the Fog City demo (DX6) via WIP33. I listed them below:

1) Revolving logo in the beginning (the one that is overlaid on desktop) works with WIP33, but the word "MT" Logo (that is over the marble base) flickers/disappears and black bars flicker. When you run the demo natively there is no flickering.
2) When you click options, you will see that Anti-aliasing settings are greyed out. Anti-aliasing settings do work when you run the demo natively.
3) Please see the attached zip file with screenshots. Colors and lighting of some of the buildings and the exit logo do not look right.

Tirtanium demo DX6 also have lighting glitches (see attached screenshots).

Attachments

Reply 58 of 103, by UCyborg

User metadata
Rank Member
Rank
Member
CoolGamer wrote:

On a separate note, is it possible to implement 16x Anisotropic texture filtering in dgVoodoo? I try to add 16x anisotropic texture filtering to dgVoodoo Games through Nvidia control panel, but I am not sure if it is working or not.

I'm assuming this should be as straightforward as the anti-aliasing. Speaking of anti-aliasing, I like the idea of having things set globally via NVIDIA Profile Inspector, but anti-aliasing can't be overridden by drivers when I run via dgVoodoo. Am I missing something here?

About anisotropic filtering, forcing it via drivers definitely works both natively and via dgVoodoo. Not the expert on texturing, but it must be related to how the game handles them. Typically, if you see textures getting blurrier with the distance, that's the case where anisotropic filtering can help a lot.

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.