onnoj / DeusExEchelonRenderer

Fixed-Function Pipeline renderer for Deus Ex (2000), for use with Nvidia's RTX Remix
MIT License
82 stars 2 forks source link

[Feature] Implement texture filtering (and honor PF_NoSmooth) #4

Closed DaSk79130569 closed 3 months ago

DaSk79130569 commented 3 months ago

Amazing work on this mod. Just really really great effort for this amazing game!

It seems texture filtering is turned off for me, the textures look pixelated composed of big pixel chunks. If this is an artistic retro choice, how do I re-enable texture filtering.

onnoj commented 3 months ago

Can you include a screenshot?

DaSk79130569 commented 3 months ago

Untitled

Yes, screenshot attached.

onnoj commented 3 months ago

I'll have to check when I'm back from vacation how much of that is normal versus maybe a bug.

RTX Remix and this renderer add raytracing to the game, but doesn't remaster the game in any other way, the textures are the original ones the game shipped with.

In due time, there will hopefully be graphics mods that use this renderer and RTX Remix to do a graphical overhaul, but until then you're stuck with the original textures, just with real-time lighting

DaSk79130569 commented 3 months ago

Untitled2

Here is a screenshot of the same place with a conventional D3D renderer. I understand the textures are the same. But the RTX renderer is definitely doing something to texture filtering.

Thanks for the great work!

onnoj commented 3 months ago

Back home now, and checked the code base. Currently the texture sampler is not configured, so the D3D9/Remix default to D3DTEXF_POINT. This needs to be fixed in the renderer, where it needs to take into account that point filtering is used instead when PF_NoSmooth is set. Not sure if linear filtering should be used or anisotropic filtering with the max supported value.

DaSk79130569 commented 3 months ago

No expert on this but I feel like GPUs capable to run this would likely be OK with 16xAF. Or making trilinear filtering default and letting user to set 16xAF via nVIdia control panel override.

onnoj commented 3 months ago

Fixed by RCGodward and released as per version https://github.com/onnoj/DeusExEchelonRenderer/releases/tag/v0.1.18 Thanks @DaSk79130569 for noticing the issue and reporting it, and thank you @RCGodward for fixing it.