I can’t find any examples of barrel distortion that create the effect in camera (not by stretching the rendered image like an effect in Photoshop.)
The Fresnel lenses I use for VR have very minimal chromatic distortion. There’s no need to hog the graphics card with image post processing for every stereo render.
import bge
scene = bge.logic.getCurrentScene()
cam = scene.active_camera
# get projection matrix
camatrix = cam.projection_matrix
#modifying the camera projection matrix by modifying the x and y terms of the 3rd row to obtain a shift of the rendered area
shiftx = 5
shifty = 5
camatrix[2][0] = 2*shiftx
camatrix[2][1] = 2*shifty
cam.projection_matrix = camatrix