Fist, FindHomography(), GetPerspectiveTransformation() are the same transformations except the former takes repetitive attempts at later in Ransac framework. They match points between planes and thus aren’t suitable for your 3d task. FundamentalMatrix and essentialMatrix aren’t transformation they are buzz words you heard ;). if you are trying to re-project a virtual object from a camera system into glasses point of view you simply have to apply rotation and translation in 3D to your object coordinates and then re-project them.
The sequence of steps is:
1. find 3D coordinates of the landmark (say your hand) using a stereo camera;
2. place your control close to the landmark in 3D space (some virtual button?);
3. calculate a relative translation and rotation of each of your goggles viewpoints w.r.t stereo camera; for example, you may find that right goggles focal point is 3cm to the right from stereo camera and is rotated 10 deg around y axis or something; importantly left and right goggles focal point will be shifted in space which creates an image disparity during re-projection (the greater the depth the smaller the disparity) which your brain interprets as a stereo cue for depth. Note that there are plenty of other cues for depth (for example blur, perspective, known sizes, vergence of the eyes, etc.) that may or may not be consistent with the disparity cue.
4. apply inverse of viewpoint transformation to the virtual 3d object; for example if the viewer goggles move to the right (wrt stereo camera) it is like an object moved left;
5. project these new 3D coordinates into the image as col=xf/z+w/2 and row=h/2-yf/z; using openGL can help to make projection look nicer.