Reflections - Just About Right

“Howdy” clan!

I’m trying to do water reflections for the first time. I’m not sure where to place the camera so I have it up high facing directly downward on the environment, over the lake area.

I have the texture showing on the water mesh and all, but how do you get that reversed reflection look?

I don’t know if I’m missing code or have my camera set wrong. Maybe both.


def ReflectTest(self):
        #Reflection test-------------
        self.mybuffer = base.win.makeTextureBuffer("My_Buffer", 256, 256)
        self.mybuffer.setSort(-100)
        #self.mybuffer.setActive(1)
        
        self.mytexture = self.mybuffer.getTexture()
        
        self.mycamera = base.makeCamera(self.mybuffer)
        self.mycamera.reparentTo(render);
        self.mycamera.setX(14183);
        self.mycamera.setY(-507);
        self.mycamera.setZ(2708);
        self.mycamera.setHpr(0, -90, 0);

        self.tsWoodly = TextureStage('BengleTxt')
        self.tsWoodly.setMode(TextureStage.MDecal)
        self.tsWoodly.setSort(1)
        self.LTLLake.setTexture(self.tsWoodly, self.mytexture)
        self.LTLLake.setTexScale(self.tsWoodly, 1, 1)
        #self.mybuffer.setActive(0)

        base.bufferViewer.toggleEnable()
        #----------------------------------

It seems like getting it to work involves Texture Projection. Using Texture Projection will drop my FPS to 30 flat, so I guess it’s not worth it.