-
Notifications
You must be signed in to change notification settings - Fork 8
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
Splinter Cell #69
Comments
|
|
|
Note about this game is that neither D3D8 apitrace nor renderdoc+d8vk seem to work. Best I've gotten is D3D9 apitraces of d3d8to9. |
I've tried the game with the I make sure that the game picks up the correct Forcing projector mode in the game's INI renders appropriate shadows (light cones are a bit blocky though), in particular the main character is casting a shadow. Switching to shadow buffer mode no shadows are rendered anymore. I'm currently testing the tutorial level, which has a corridor with a big fan, which also acts as light source. In project mode the fan casts a shadow onto the nearby wall, in buffer mode no shadow can be seen. Going through the commit log the |
@tobiasjakobi I'm not sure I understand what the problem is. I haven't messed with game settings (it's all on high and max) and am seeing shadows (I'm assuming you were referring to the fan below): Have you tried running the game with Since this is an UE game, it could also be something that got fixed by #163 which was merged after the 1.0 release. Long story short, we were not exposing D3DPRASTERCAPS_ZBIAS, and apparently most UE games rely on it to enable character (and potentially other types of) shadows. |
It has been like almost a decade since I first came to know about the problem, and people banging their head against it.. but could it be that the game has a vendor-specific whitelist? Unsure if I actually had read this once, or just dreamt it. Maybe tobias isn't using an nvidia. In which case, assuming it also works with d3d8, you could try |
|
I'm very confident that the game wasn't broken on day one, so it must definitively have some way to decide what to pick up. |
OK, so I've tried a few things. First of all, the game seems to have exactly two shadow rendering algorithms, one being projector mode, the other one being buffer mode. There is nothing else. Automatic mode just means that the game decides on the algorithm based on some (currently unknown) heuristics. I don't think the heuristics is important here, as we can just force/select the mode ourselves. Secondly, the mode passed via argument, i.e. using I did three screenshots with project mode: Image 2 illustrates what I referred to above as Moving on to buffer mode: As one can see, or rather not see, this doesn't look too good. Next I'm going to try to override vendor/device ID and checking out the changes mentioned by WinterSnowfall. EDIT: And as you can probably guess from the HUD, the game is running on a Steam Deck. |
This is how it should look btw And I think presumably the d3d9 override should carry to d3d8. d8vk/src/d3d8/d3d8_interface.cpp Lines 76 to 77 in d3c1331
|
No luck so far. I've tried the vendor/device ID override. Doesn't have any effect. I've cherry-picked the commit from #163 on top of Currently building the EDIT: Oh great, no d3d8 DLL in this branch. Trying again with |
OK, now we're getting somewhere! New screenshot with buffer mode: This is with At least the shadow cast by the fan now looks a lot more like the tech review that mirh posted. However (!) apart from these "unique" light sources, no other light source seems to cast shadows. E.g. the projector mode screenshot I previously posted (this one) clearly shows the wall-mounted light sources in the corridor casting a shadow of Sam Fisher. I can't believe that is is how the game is supposed to look like. I skipped through the tech review and buffer mode always looks vastly superior to projector mode. Any other ideas what I could try here? I'm thinking about trying the scellpt wrapper to see how this one looks. Or maybe dgVoodoo2 if I can get it working. EDIT: This is how it looks like: Looks pretty solid. Fan is casting shadow, Sam Fisher as well. I went back into previous locations of the tutorial and my current impression is: This is how the games was supposed to look like. |
Another update. So first of all: I made a mistake with my last test involving d8vk. The version string in the HUD gave it away. I realized, after reading the d3d8 device code, that the code from I then did a few things. Rebased Restored the Created a new branch Testing was now done with the Still, nothing changed visually. A bit frustrated I began changing the I made two more screenshots. Both from the exact same position, the first one using d8vk, and the second one using dgVoodoo2: |
It seems like there's still some issues with shadows then. I think what we're doing now is probably correct but something just needs to be tweaked to make sure all lights work. What we really need is screenshots from original GeForce 3/4 hardware because I am not confident that dgVoodoo 2 isn't juicing up the shadows with extra samples. |
Just a short note that even with the recently released DXVK v2.4, shadows still don't work properly in SC. Even worse, the game immediately crashes on startup when you use the latest dgVoodoo2 (which is 2.82.5 for me). I went back to dgVoodoo2 v2.81.3 to make it work again. The first screenshot shared by @WinterSnowfall (the one on native HW) is how the game renders with dgVoodoo2. Maybe native looks a bit worse because of filtering tricks that dgVoodoo2 does, but I think that's negligible. |
Report regressions here |
FWIW, there is an incompatibility in v2.82.x under Linux, meaning that v2.81.3 is the latest version that works for any game (and strangely, v2.81.3 is no longer available for download, meaning that v2.81.2 is the latest available for Linux). |
Here's an archive of the page with a working download of v2.81.3: archive.org |
Thanks for pointing this out. At least this means I didn't do anything obvious wrong. Also, I finished SC in the meantime with my DXVK+dgVoodoo2 setup. I have to say that, taking the release date of the game into consideration, lighting/shadows look pretty nice. |
See also: #65
GetClientRect
is returning 160x24 for some reason so it just infinitely tries to recreate the swapchain. Maybe the game is making the window this stupid size? I don't know.The text was updated successfully, but these errors were encountered: