kondrak / vkQuake2

id Software's Quake 2 v3.21 with mission packs and Vulkan support (Windows, Linux, macOS, FreeBSD, Raspberry Pi 4)
GNU General Public License v2.0
896 stars 90 forks source link

[Request] PNG/TGA image support #145

Closed AluminumHaste closed 5 months ago

AluminumHaste commented 2 years ago

Are you willing to add support for texture formats such as PNG and TGA? If this is already support I apologize for not seeing it, but every texture pack I try to use does not work.

kondrak commented 1 year ago

Adding additional image formats is beyond the scope of this project but I'll leave this open in case someone wants to tackle this.

kondrak commented 5 months ago

@AluminumHaste any sample pack you could point me to for testing? I might have some time to have a look at this.

AluminumHaste commented 5 months ago

@AluminumHaste any sample pack you could point me to for testing? I might have some time to have a look at this.

There's a few yeah. https://github.com/Calinou/quake2-neural-upscale (PNG) https://www.moddb.com/mods/quake-2-monster-skins/downloads/fraggers-hd-q2-monster-skins (TGA) http://forum.tastyspleen.net/quake/index.php?topic=9497.0 (PNG)

kondrak commented 5 months ago

I took a stab at implementing this - getting TGA/PNG to work is fairly trivial but then comes the entire host of things that need actual implementation and without which having support for another skin format has little sense. Example below:

image

This is a correctly rendered hi-res skin but clearly the end result is FAR from desired. What's missing is additional support for bump maps and host of other visual gizmos that make the new textures look appealing. Honestly - this is not worth the effort to add in vkQuake2, as there are mods out there who do it in a far better and cleaner way.

I was hoping I could get it working fairly quickly and that it would be a low hanging fruit - I don't have much time to invest in this project anymore, so it's mostly maintenance mode now and implementing additional map support would require more restructuring than I'm willing to spend my time on. Sorry :)