After struggling for a long time to implement a proper matcap shader in GZDoom, I've come to the conclusion that it is ENTIRELY IMPOSSIBLE to do it with the limited information available, and any approximations only end up looking horribly broken.
main.vp seems to have this data, but it just stays there unless SPHEREMAP is defined (what for, I wonder). I absolutely need this.
Alternatively. We are provided with a view space "eye normal", but we don't have an "eye direction" equivalent.
Pass spheremap coords to fragment shaders
Moderator: GZDoom Developers
- Marisa the Magician
- Posts: 3886
- Joined: Fri Feb 08, 2008 9:15 am
- Preferred Pronouns: She/Her
- Operating System Version (Optional): (btw I use) Arch
- Graphics Processor: nVidia with Vulkan support
- Location: Vigo, Galicia
- Contact:
- Graf Zahl
- Lead GZDoom+Raze Developer
- Posts: 49056
- Joined: Sat Jul 19, 2003 10:19 am
- Location: Germany
Re: Pass spheremap coords to fragment shaders
SPHEREMAP is only set by the shader for the mirror overlay.
There's one problem with this suggestion: We cannot preemptively pass around too much data in the shader, especially data that's normally not needed. This can become very costly on older hardware.
There's one problem with this suggestion: We cannot preemptively pass around too much data in the shader, especially data that's normally not needed. This can become very costly on older hardware.