VOGONS


First post, by VSR

User metadata
Rank Newbie
Rank
Newbie

Hello!
I'm using dgVoodoo2 (v2.81.1/v2.81.2; never tried earlier versions) with a game called Gothic 1 (made by Piranha Bytes in 2001).

There is an unpleasant bug with disappearing textures in the woods.
I tried another renderer for Gothic 1 called GD3D11 (https://github.com/Kirides/GD3D11/releases) and it somehow manages to fix this problem.
GD3D11 is a good renderer (though some stuff isn't implemented at all, like meteors in the night sky - they are present in a vanilla game and in dgVoodoo2 of course), but i prefer a vanilla look and play of the game. dgVoodoo2 delivers in that department (and it gives a lighter load on PC).

Here is the link to the screenshots and the savegame file (in case anyone will want to test it - just turn around with your mouse and textures will disappear):
https://disk.yandex.ru/d/mL_7Bt3DtoLe3Q

Internet users were experiencing this bug back in 2009, and texture patches didn't help:
https://forum.worldofplayers.de/forum/threads … tures-in-forest

So maybe it is game/driver related?
I wonder how GD3D11 is fixing it then (without modifying game's executable file).

PS: 1) Bug appears even with unofficial patches/fixes applied:
https://steamcommunity.com/app/65540/discussi … 70913756312743/
2) I'm using version from GOG, but i assume it's the same for Steam version.

Reply 1 of 6, by Darkstorm

User metadata
Rank Newbie
Rank
Newbie

There was a bug in dgvoodoo's d3d11 with AMD cards ever since 2.55. Dege found what was causing it, but he needs more data to fix it for all the GPUs affected by it. Versions 2.81.1 and 2.82.2 got first GPUs fixed, but there can be more GPUs affected and it needs more data from users.

Are you using AMD or NVIDIA?
If AMD you can try:
- version 2.54 for the d3d11 specifically
- any current release(2.81.x) that you downloaded and use d3d12 renderer(create config file-you need either run the dgvoodooCpl with admin permissions or create config file on desktop and copy paste it to gothic directory, because d3d11 runs by default)
If you are using AMD and any of these solve the problem, then it would be nice of you if you said what GPU u use. If it doesn't fix anything or you got NVIDIA then forget it, and wait for Dege response 😁

Reply 2 of 6, by VSR

User metadata
Rank Newbie
Rank
Newbie
Darkstorm wrote on 2023-08-23, 07:00:
Are you using AMD or NVIDIA? If AMD you can try: - version 2.54 for the d3d11 specifically - any current release(2.81.x) that y […]
Show full quote

Are you using AMD or NVIDIA?
If AMD you can try:
- version 2.54 for the d3d11 specifically
- any current release(2.81.x) that you downloaded and use d3d12 renderer(create config file-you need either run the dgvoodooCpl with admin permissions or create config file on desktop and copy paste it to gothic directory, because d3d11 runs by default)
If you are using AMD and any of these solve the problem, then it would be nice of you if you said what GPU u use. If it doesn't fix anything or you got NVIDIA then forget it, and wait for Dege response 😁

Hi! Thanks for replying.

I'm using Intel's UHD770 integrated graphics. OS is Windows 11 (21H2 if it matters).
I did run dgvoodooCpl of course and have dgVoodoo.conf file in Gothic's "system" directory.

I tried all possible Output Rendering API's - bug appears all the time. And tried all possible "Videocards" on the DirectX tab in dgvoodooCpl as well.
I have chosen correct game's [Config folder / Running instance] before applying changes to Output Rendering API in dgvoodooCpl. So it's not that i have messed something up with the dgVoodoo2.

PS: I have copied all dgVoodoo2's libs (4 dll's) from MS/x86 dir to Gothic's "system" dir, all according to a dgVoodoo2 guide on Steam for this game:
Link to Steam guide i used (in Russian): https://steamcommunity.com/sharedfiles/filede … /?id=2218884257
Link through Google translate: https://steamcommunity-com.translate.goog/sha … &_x_tr_pto=wapp

Reply 3 of 6, by Dege

User metadata
Rank l33t
Rank
l33t

I ran into this problem years ago, but actually the missing parts of the meshes are missing because they are not drawn by the game.
Maybe it's coming from some internal visibility calculation in the game, but anyway, dgVoodoo does not know about the missing mesh parts. It's not the textures that are missing but the mesh triangles themselves.
I just did a quick try and got exactly the same with D3D9on12 with your savegame as with dgVoodoo.

I don't know how the GD3D11 renderer works. I wanted to test it but it just said that it didn't work with my version of the executable. It needs a special executable that it can hook or sg like that?

Reply 4 of 6, by VSR

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2023-08-23, 18:46:
I ran into this problem years ago, but actually the missing parts of the meshes are missing because they are not drawn by the ga […]
Show full quote

I ran into this problem years ago, but actually the missing parts of the meshes are missing because they are not drawn by the game.
Maybe it's coming from some internal visibility calculation in the game, but anyway, dgVoodoo does not know about the missing mesh parts. It's not the textures that are missing but the mesh triangles themselves.
I just did a quick try and got exactly the same with D3D9on12 with your savegame as with dgVoodoo.

I don't know how the GD3D11 renderer works. I wanted to test it but it just said that it didn't work with my version of the executable. It needs a special executable that it can hook or sg like that?

Hello Dege!
First of all thank you for developing dgVoodoo2! And thanks for replying.

To make GD3D11 work all you need to do is just copy contents of the GD3D11's archive (there are 5 dll files and GD3D11 folder) to Gothic's "system" directory. Then run the game - it will use GD3D11.

There is a DDraw.dll in Gothic's "system" dir, that will be overwritten by DDraw.dll bundled with GD3D11 (so it might be worth it to backup game's original ddraw.dll). Looks like that file is used to select which renderer to use. When I want to use dgVoodoo2 with Gothic, i just copy the DDraw.dll bundled with dgVoodoo2 to Gothic's "system" dir. Same with GD3D11, but DDraw.dll should be copied from GD3D11 archive this time.

Installation & Usage 1. Download the GD3D11-LATEST_VERSION-ci.zip file from the Assets section in the latest release of this rep […]
Show full quote

Installation & Usage
1. Download the GD3D11-LATEST_VERSION-ci.zip file from the Assets section in the latest release of this repository (e.g. kirides/releases).
2. Unpack the zip file and copy the content into the Gothic\system\ or Gothic2\system\ game folder.
3. When starting the game you should see the version number of GD3D11 in the top-left corner.
4. As soon as you start the game for the first time after the installation you should press F11 to open the renderer menu and press Apply(*). This saves all the options to Gothic(2)\system\GD3D11\UserSettings.ini.
https://github.com/SaiyansKing/GD3D11#installation--usage

PS: 1) in case it won't work anyway, there is a fork of GD3D11 on github, which has a fresh build from July:
https://github.com/SaiyansKing/GD3D11/releases
2) i don't think that is necessary, but might be worth a try to install playerkit 1.08k, PlayerKit 2.8, SystemPack 1.8. I saw these mods as prerequirements to GD3D11 on Steam guide, but GD3D11's github info doesn't mention them as required.
My full modlist (in order of installation) is: playerkit 1.08k, PlayerKit 2.8, SystemPack 1.8, "Union_Primary_4gb 17.01.2022.zip", "Union 1.0m 26.06.2022 v3.zip", "Ninja-2.7.12.exe", "G1CP-1.2.0.exe", "GD3D11-17.8-dev12.zip".

Reply 5 of 6, by Dege

User metadata
Rank l33t
Rank
l33t

Sorry for the late respond. The last time I tested GD3D11 (the latest version from github) and it didn't work, only a message box appeared that my executable is not compatible with GD3D11. I could test other versions, and maybe I could get them to work, but as I pointed it out, the missing polygons is not a bug in dgVoodoo since it works the same way natively. Maybe it'd be simpler to ask the author of GD3D11 if he/she did some extra effort in their dll to make the game render the whole terrain meshes all the time (some DD device capability or sg like that), or it just works with that magically.

Reply 6 of 6, by VSR

User metadata
Rank Newbie
Rank
Newbie
Dege wrote on 2023-08-31, 18:49:

Sorry for the late respond. The last time I tested GD3D11 (the latest version from github) and it didn't work, only a message box appeared that my executable is not compatible with GD3D11. I could test other versions, and maybe I could get them to work, but as I pointed it out, the missing polygons is not a bug in dgVoodoo since it works the same way natively. Maybe it'd be simpler to ask the author of GD3D11 if he/she did some extra effort in their dll to make the game render the whole terrain meshes all the time (some DD device capability or sg like that), or it just works with that magically.

I've read GD3D11 project's github page and it seems it is self-explanatory:

This mod for the games Gothic and Gothic II brings the engine of those games into a more modern state. Through a custom implementation of the DirectDraw-API and using hooking and assembler-code-modifications of Gothic's internal engine calls, this mod completely replaces Gothic's old rendering architecture.
https://github.com/Kirides/GD3D11

So, it was written specifically for Gothic I and II to overcome theirs problems and add new features.
Initially i thought that maybe it's a bug in dgVoodoo2, but now i understand that this is not the case.

Anyway, i've recorded a 30-seconds video to show that GD3D11 is indeed fixing that invisible meshes problem.

PS: I know that dgVoodoo2 helps to run a lot of old games on modern hardware. And fixing individual game's bugs/intricacies never was the purpose of it. It does it's job very well. Thanks again for all your work on this great tool!