I’m intending to build a prototype for my game, and, after taking a quick glance, jME seems to be the most hassle-free (and out-of-the-box working) managed cross-platform engine that supports certain features I need.
For this (isometric) game, I have an idea of using point clouds for most objects and backdrops, since it allows to rotate camera arbitrarily while maintaining per-pixel geometric detail. Of course, ideally I’d use voxels, but I don’t think it’s a realistic option for most non-high-end hardware.
The idea is basically like this:
- To reduce storage requirements, all components of point cloud vertices are stored as bytes (e.g. 3 bytes for XYZ, 1 byte for index in 256-color palette). This requires me to split objects into 256x256x256 blocks (and probably with a limit of 64k vertices per cloud), which is fine with me.
- If it was only for rendering, I could just use separate buffers for each kind of vertex data. However, I’m also thinking to utilize point clouds for spatial queries, by sorting points in Morton order (Z-order curve - Wikipedia), which also gives me the ability to add/remove “voxels” in the array. For this purpose, I suppose, some sort of interleaved format would be the best, but I couldn’t find any examples on how to use interleaved formats in jME. Is it possible at all?
On an unrelated note: the “Search Forums” doesn’t seem to work for me, I keep getting a page with only “Google custom search Loading” text in it. Did anyone encounter the same problem?