Hacker News new | ask | show | jobs
by bullen 1339 days ago
A better way to solve this problem is to move the world around the origin instead. Just like you had to with OpenGL 1!

Really half-floats are more interesting, saving 50% memory on the GPU for mesh data. You could imagine using half-floats for animations too!

Then we could have the debate about fixed point vs. floating. Why we choose to use a precision that deteriorates with distance is descriptive of our short sightedness in other domains like the economy f.ex. (lets just print money now close to origin and we'll deal with precision problems later, when time moves away from origin)

What you want is fixed point, preferably with integer math so you get deterministic behaviour, even across hardware. Just like float/int arrays both give you CPU-cache and atomic parallelism at the same time, often simplicity is the solution!

In general 64-bit is not interesting at all, so the idea Acorn had with ARM that jumping to 32-bit forever is pretty much proven by now. Even if addressing only jumped to from 26-bit to 32-bit with ARM6.

Which leads me to the next interesting tidbit, when talking 8-bit the C64 had 16-bit addressing.

1 comments

Minecraft works like this. The camera is the world origin when rendering.
It's easy when you have chunks.

But really all large worlds need chunking.

The real reason AAA never got into user generated content, is they have staff to create linear worlds.

After this economic crisis, linear content will more or less disappear.

Why listen to a hardcoded story when you can make your own just like in real life?

Scarcity is the key, one UGC networked world will make time valuable.

Don't all games do this? The camera is by definition the world space origin, (0, 0, 0). Translating the camera right actually means translating the world left. What does Minecraft do different?
Camera is not be definition the world space origin.