Stack Exchange network consists of 183 Q&A communities including Stack Overflow, the largest, most trusted online community for developers to learn, share their knowledge, and build their careers.
No, the hash function is just for assigning a startseed to the cell. Can be something as trivial as x * prime1 + y * prime2 + z * prime3. Where the primes are unequal to each other and ideally large, you should calculate here with 64bit integers/unsigned. Its not a problem if the lib uses a bounding box, because for each cell you just have to consier all points in the cell plus all points of the neighborhood cells (which are 8 neighborhood cells).
some notes about physics engines, D is not a managed language. It is compiled and has a GC but thats it. You can allocate and manage non-gc'ed memory as you like, you can wrap it in smart pointers, use your own allocators, etc, its like in C++/C but without the dwnsides of C++. Using GC just for management datastructures (and sweet arrays and strings and whatnot) is fine, the remaining big hunk can get allocated not y the GC to ensure smooth performance and soft realtime. --- Today bullet uses GPU acceleration.
I must say, I know exactly for what reasons a person rolls out his own engine/tool/whatever. But it has a price (like all things)... I have the feeling that all bosses just plainly hate it when you can't read/understand the most crappiest code out there, so please go ahead and throw yourself in a s***ton of badly written baddly maintained code without documentation, just get a feel for it (the "real" world). No offense.
-1 the thing with the 60fps doesn't make that much sense because a) at some point it is not anymore perceptable (you can't tell the difference between 120 fps and 300 fps because technically you can't see it)(even if you ignore the fact that your monitor can only display @60hz or @120hz) b) the visual system is far too much delayed that its possible that you can notice a difference between say 60fps/120fps