Jul 25
Archimedes
With a lever and a place to stand, Archimedes could move the world. One wonders whether he, too, was trying to avoid z-buffer imprecision.
In a world that’s 20 kilometers on a side, OpenGL really doesn’t like looking at things which are very far from the middle; all sorts of little glitches pop up as you move away from zero, mostly to do with penetrating objects, such as where water meets the land. So I’m now moving the whole world around as the camera moves, to keep the camera and everything nearby within a few hundred meters of zero. Oddly, the most difficult bit to make work with all this were the clouds and the water ripples.
I guess that water and water vapour don’t respond very well to the application of a lever.

July 25th, 2009 at 11:13 pm
ah yes; this can be a pain.
Have you read this amusing article:
http://home.comcast.net/~tom_forsyth/blog.wiki.html#A%20matter%20of%20precision
it’s a good’un!
July 25th, 2009 at 11:35 pm
That’s an awesome article, increpare.. definitely something to think about!
My current stop-gap “movable origin” system is working well enough at the moment, and modifying the VectorStorm library to store positions as fixed point numbers sounds sort of painful.. especially since it’s still intended to be a beginner-friendly library! But I’m definitely going to be keeping this in my back pocket, in case I run into more troubles; this is by far the largest contiguous game world I’ve ever had to deal with, so I’m not quite sure what more issues I’m going to be stumbling over!
July 26th, 2009 at 3:44 am
But won’t that make all the little computer people dizzy? :(
(You’re doing brilliant, keep it up)