LWJGL - 3D Mouse picking

I’ve been trying to figure out how to unproject top-left screen coords to a ray (origin and direction vector) in world coords.

But I can’t crack it. Does anyone have any good references?

Preferably using modern OpenGL