The Vulkan API in gzdoom does not display deleted middle textures if texture filtering is enabled.

Need help running G/Q/ZDoom/ECWolf/Zandronum/3DGE/EDuke32/Raze? Did your computer break? Ask here.

Moderator: GZDoom Developers

Forum rules
Contrary to popular belief, we are not all-knowing-all-seeing magical beings!

If you want help you're going to have to provide lots of info. Like what is your hardware, what is your operating system, what version of GZDoom/LZDoom/whatever you're using, what mods you're loading, how you're loading it, what you've already tried for fixing the problem, and anything else that is even remotely relevant to the problem.

We can't magically figure out what it is if you're going to be vague, and if we feel like you're just wasting our time with guessing games we will act like that's what you're really doing and won't help you.
skaladin
Posts: 2
Joined: Sun Jan 05, 2025 12:46 pm
Operating System Version (Optional): Windows 8.1/ 11
Graphics Processor: nVidia with Vulkan support

The Vulkan API in gzdoom does not display deleted middle textures if texture filtering is enabled.

Post by skaladin »

Good afternoon.
Grid textures, etc. when texture filtering is enabled in gzdoom, they are displayed only at a fairly close distance from the player. But when you move away from these textures, they disappear before your eyes, which is a wrong visual trick. And this is observed in Vulkan API rendering, while in OpenGL, with the same texture filtering settings, the lattice textures are displayed at fairly large distances and do not disappear. In gzdoom 4.14.0, in the Vulkan API rendering, the texture mapping problem persists when filtering is enabled (nearest mipmap or linear mipmap or trilinear or bilinear) Anisotropic filtering and multisampling do not improve the situation of displaying lattice textures, in addition, scaling by 6 times does not improve the situation and reduces productivity. Below I will attach screenshots of this problem.
My configuration: intel i7 10700kf processor, nvidia 4080 graphics card. The resolution I'm playing at is 1920 x 1080. Windows 11 home. All drivers are fresh.
I use texture filtering (none nearest mipmap) in gzdoom 4.14.0.
In gzdoom 4.11.0, it's the same in the Vulkan API rendering.
With the smoothing settings and texture quality settings in the nvidia panel, the texture display and disappearance situation does not change in gzdoom 4.14.0.
Vulkan API Gzdoom:
frozenT, the far grilles are not displayed, marked in red in the picture https://iimg.su/i/unqHn
Sunder. The grid disappears and appears when approaching, a very incorrect display of the MIDDLE. https://iimg.su/i/YcUpc
Sunder. The grid is the same place, just a little closer. https://iimg.su/i/of4E2
Sunder. At this distance, a grid begins to appear. https://iimg.su/i/C4a4h
There should be grids, although very small, but in OpenGL everything is rendered well, with the current texture filter. And with Vulkan, the void... https://iimg.su/i/gqtpR
My DIY maps. The standard texture of the grid is erased from the eyes too early, the distance is small https://iimg.su/i/eH7qO
frozenT https://iimg.su/i/SBwji
So, the texture filter, for some reason in Vulkan API Gzdoom does not display textures properly, regarding Middle textures (grids, grids, crossbars, etc.)
Without a texture filter Vulkan API Gzdoom displays everything completely over long distances. Only the visualization without the texture filter is bad, there are a lot of spidery distortions on distant textures.
A question for the developers of gzdoom, is it possible in rendering Vulkan API to increase the rendering distance of textures, grids, etc. with filtering of textures with a filter (none nearest mipmap) enabled in 1920 x 1080 resolution, at least to the OpenGL level? It is necessary to increase the rendering range of the MIDDLE texture so that it does not disappear before our eyes.
I am attaching the configuration file.
Thank you for your attention!
You do not have the required permissions to view the files attached to this post.
User avatar
Hellser
Global Moderator
Posts: 2747
Joined: Sun Jun 25, 2006 4:43 pm
Preferred Pronouns: He/Him
Operating System Version (Optional): Manjaro Linux
Graphics Processor: ATI/AMD with Vulkan/Metal Support
Location: Citadel Station

Re: The Vulkan API in gzdoom does not display deleted middle textures if texture filtering is enabled.

Post by Hellser »

I do believe this is caused by texture filtering - or lack of. The middle texture is being rendered correctly, otherwise you won't see the bar on the top and bottom. Judging by your pictures, you aren't using anisotropic filtering. I'd also recommend to leave NVIDIA's driver settings out of the equation as that could cause some sort of conflict. From my experience Vulkan and OpenGL looks identical and I have yet to experience this problem. I run with Nearest (Mipmap) with 16x Anisotropic Filtering to help with the details at a further distance.

If all else fails, reset your NVIDIA settings back to default, rename your gzdoom.ini to something like gzdoom.ini.old, start with a fresh ini file, set your renderer to Vulkan. Then select your filtering of choice and max out your anisotropic filtering. The important part to this is to try with a fresh ini and no custom settings for NVIDIA. No smoothing, no supersampling, no forcing FXAA, no changing what Anisotropic Filtering NVIDIA handles in its drivers - nothing. Just default. You could be running into a conflict somewhere in the line.
skaladin
Posts: 2
Joined: Sun Jan 05, 2025 12:46 pm
Operating System Version (Optional): Windows 8.1/ 11
Graphics Processor: nVidia with Vulkan support

Re: The Vulkan API in gzdoom does not display deleted middle textures if texture filtering is enabled.

Post by skaladin »

Hellser
Thanks for the reply.
I always use x16 anisotropic filtering. I reset the nvidia settings by default, disabled everything by smoothing, reinstalled the driver on the video card from scratch, installed the 566 driver. I turned off multisampling. However, this did not bring results. Also, as you recommended, I deleted the old gzdoom.ini file and performed a clean install of gzdoom 4.14.0 in another folder, the problem was not solved. What resolution are you playing in? What do your long-range grids look like in the Vulkan api rendering?
Video:
https://disk.yandex.ru/i/QdeoFmnW3txIKA
Last edited by skaladin on Tue Jan 07, 2025 7:23 am, edited 1 time in total.
User avatar
phantombeta
Posts: 2147
Joined: Thu May 02, 2013 1:27 am
Operating System Version (Optional): Windows 10
Graphics Processor: nVidia with Vulkan support
Location: Brazil

Re: The Vulkan API in gzdoom does not display deleted middle textures if texture filtering is enabled.

Post by phantombeta »

Unfortunately, this issue is normal and expected. It's caused by the way textures with binary transparency on a line not set as translucent are rendered. Transparency is rendered by making the GPU not render the pixels that are under a certain value of alpha (transparency), which has issues with mipmapping.
Mipmapping creates versions of the textures at lower resolutions to prevent texture aliasing, but it does so by linearly filtering them, which creates smooth gradients of transparency where it was previously only fully transparent or opaque. For those grate textures, the bars in the middle eventually become partially transparent everywhere, and end up below the threshold at which the pixel is considered transparent, so as you move further away from the texture, the bars slowly become thinner until they disappear.

As for it happening in Vulkan but not OpenGL: Did you check with multisampling/MSAA off in both OpenGL and Vulkan? Nvidia has a feature in OpenGL where multisampling above 8 is actually some form of supersampling instead, but Vulkan doesn't have it. You can tell it's doing that if you look at the ground with filtering set to "none" and with shaders like FXAA off, the lines between pixels will be smoothed out if it's supersampling, whereas normally they should be "crisp".
skaladin
Posts: 2
Joined: Sun Jan 05, 2025 12:46 pm
Operating System Version (Optional): Windows 8.1/ 11
Graphics Processor: nVidia with Vulkan support

Re: The Vulkan API in gzdoom does not display deleted middle textures if texture filtering is enabled.

Post by skaladin »

Thank you, hantombeta. Now it's roughly clear how it works.

> As for it happening in Vulkan but not OpenGL: Did you check with multisampling/MSAA off in both OpenGL and Vulkan?
Yes, I checked. Indeed, with multisampling/MSAA turned off, Opengl has the same problem as Vulkan.

>Nvidia has a feature in OpenGL where multisampling above 8 is actually some form of supersampling instead, but Vulkan doesn't have it.
Is there any plans to support this mode in Vulkan?

Is there a solution to this problem with lattice textures during filtration? Playing without filtering is not very pleasant. But, with the appearance and disappearance of these textures in the game, the situation is no better. Is it possible in gzdoom to fix the texture rendering algorithm during filtering?
It's just that Vulkan has better performance and higher FPS than opengl with the same resolutions and filters. At least that's what I have on my computer.

Return to “Technical Issues”