fte-team / fteqw

This is the official GitHub mirror for the FTEQW project.
https://www.fteqw.org/
180 stars 54 forks source link

Reshade not working #173

Closed markanini closed 1 year ago

markanini commented 1 year ago

I can't get Reshade v5.80 or v5.60 working with OpenGL FTE r6343.

eukara commented 1 year ago

That really is a bug of ReShade and not one with FTE QuakeWorld. I don't know how we could even feasibly support this. Allowing programs injecting themselves into our engines memory is not something that all players would appreciate either.

FTEQW has its own post-processing systems that users can take advantage of. With the r_postprocshader console variable you're able to set it to any material (and if desired, a pixel shader).

This directory from Nuclide contains some examples: https://github.com/VeraVisions/nuclide/tree/master/platform/base_postproc.pk3dir

markanini commented 1 year ago

@eukara

The usage case can be benign too, for people with color blindness Reshade is a tool to re-map colors. I'm personally just using it to calibrate the colors on a wide gamut display. That's why I'd wish you please consider a command-line switch to allow dll interjection, at least advanced users should understand the possible risks.

PS. I'm not sure I understand the FTE postprocessors syntax, or reshade syntax enough to translate the code.

eukara commented 1 year ago

I'll see what we can do to accommodate those use cases. Just know that we're not deliberately breaking anything on purpose when it comes to ReShade.

Shpoike commented 1 year ago

try the vulkan renderer instead? I've never used reshade, so I don't have a clue how it injects itself into opengl (whereas vulkan has a formal layer api). If it depends on the program loading stray OpenGL32.dll files from random working directories then that will not work with fte (primarily to block issues with eg GOG's silly opengl->glide->d3d wrapper, or that same opengl minidriver distributed inside the original glquake zip - which then causes other quake engines to completely fail to start up - fte explicitly bypasses such dlls in favour of the system library to bypass both issues). If this is what's happening, find that dll, copy it, rename it to ogl_reshade.dll or so, and then set gl_driver ogl_reshade; vid_restart at fte's console. maybe then it'll start working.

markanini commented 1 year ago

I found a personal solution in changing the renderer to D3D11, which I'm happy with. Thanks for entertaining this conversation.