Has anyone figured out screen space normals?

I’ve been trying for about a week now, and I’ve got nothing. I just can’t seem to find a way to render out screen/camera space normals. the normal pass gives you world space normals, which are nice, but useless for finding camera space normals. Honestly, this should just be a pass, but it’s not. I’ve tried using the matcap, but antialiasing and gamma do strange things, and even when disabled, something else is happening to tweak things.

so the case remains: I need an accurate way to obtain screen space normals, and any help would be greatly appreciated.

If I correctly udnerstand your question it could be made using the Vector transform Node:

That doesn’t work, because those normals are’t attached to the camera, and they aren’t screenspace, then even after all that, it gets adjusted be gamma and color transforms for output.

essentially, every step of the ouput is working against getting an accurate result.

this is what that shader group gets me, which are accurate world normals, but not appropriate for animation or relighting.

I’ve tried to find a way, but the only way I’ve found is by using blender render to bake out normals, but it’s super buggy and only works in orthographic.

I need something more like this, and a pass, not a material. I know it exists, probably in blender, because the normal pass is how things in eevee (and most game engines) are most likely lit. j63az6h7