Question about making mirror by cube mapping

I want to make a mirror in my game.
Here is my code.

def __init__(self):
    ShowBase.__init__(self)
    # tempnode = NodePath(PandaNode("temp node"))
    # tempnode.setShaderAuto()
    # self.cam.node().setInitialState(tempnode.getState())
    # self.render.setShaderAuto()

    self.cam.setPos(0, -6, 1)

    self.player = Actor()
    self.player.loadModel("Models/akai")
    self.player.reparentTo(self.render)
    # self.player.loadAnims({"Idle": "Models/idle"})
    # self.player.loop("Idle")
    self.player.loadAnims({"Walk": "Models/walk"})
    self.player.loop("Walk")

    self.world = self.loader.loadModel('environment')
    self.world.setPos(0, 0, -.05)
    self.world.reparentTo(self.render)

    self.refPanel = self.loader.loadModel('Models/plane')
    self.refPanel.reparentTo(self.render)
    self.refPanel.setPos(0, 10, 0)
    self.rig = NodePath('rig')
    self.buffer = self.win.makeCubeMap('env', 2048, self.rig)
    self.rig.reparentTo(self.refPanel)

    self.refPanel.setTexGen(TextureStage.getDefault(),
                            TexGenAttrib.MWorldCubeMap)
    self.refPanel.setTexture(self.buffer.getTexture())

The reflection has no problem.
But it seems that the image in the mirror is too big.
And…the image in the mirror seems get a little distortion.
Any help please?

Just like this.
It seems that the size of image in mirror can be affected by the distance between model and camera.