Trying to create a reflection in OpenGL / C++ using programmable shaders with GLSL to control graphics processing, vertex buffer objects to get a high polygon mesh stored in video ram and \r multiple dynamic cube maps for the reflection, the skybox is a static cube map.\r The mesh is created as a grid of tiles and is deformed by the vertex shader at render time using a sin wave type function and normals are generated here per vertex, the reflection vector is calculated in \r view space using the interpolated fragment position and fragment normal and is used as a texture lookup into the associated cubemap.\r \r There is a visual inaccuracy that I sort of expected to happen, the map is rendered from the centre of each tile but the fragments are offset, so their perspective on the scene is different.\r this is running at around 40 frames per second on a 8800GT card, there are a few optimizations\r that i can make for example the chessboards are computed on cpu then sent to the graphics card \r about 100 times per frame, but they could be stored once in a VBO, the framebuffer image is copied into a texture many times per frame but the texture object can be used directly as the color buffer\r instead. Have tested the polygon density rendering once per frame it can go up to about 200k \r of triangles before affecting the performance.\r \r The image at the end is a section of my desktop background its a screenshot from a game.