I’m trying to implement an infinite waterplane. I was considering 2 possibilities:
a) a huge rectangle of maximum dimensions allowed by the floating point numbers,
b) calculating the AABB of the frustum, then flattening it into a rect, and then drawing the rect
I decided for choice b). But the problem is that the rect can change with every modelview and projection matrix change. Therefore I need to upload new vertices (just 4 but still) into a DYNAMIC_DRAW VBO every time this happens. Should I have used option a) instead or have used client arrays? Maybe what I am doing is unusual?
Additional problem: I am using Dark Photon’s caching VBO, which means the 4 vertices will slowly fill up the cache eventually orphaning the caching VBO.