What I meant, in short, is instead of using a split to 8 each time, just split in 2 each time, and keep everything very similar to how it is currently. Look at some of the code involved in sauerbraten, it is simpler than an AABB could ever be.Īnd of course sauerbraten could never be made with AABBs in the first place, because the whole engine is structured around space subdivision rather than encapsulation.Īctually I have thought of the fact the world is defined by the tree, and about that I agree. Also, an octree in terms of splits is equivalent to an AABB, just that you have 3 splits at once on each level of the tree. This makes all algorithms a LOT simpler compared to dealing with arbitrary boxes as in AABBs. In fact, the octree's coordinates are not even stored anywhere in memory (except when sent to the GPU), they are computed on the fly. To your points, octrees are really simpler than AABB's, because the octree's geometry is entirely on power of 2 boundaries. What is different in Sauerbraten is that the world geometry IS defined by the octree (not merely contained in it). I might completely out of my league here and maybe what I wrote is outdated already, but if it can help making this very cute project even better, then my work here is done.Īn AABB tree is mostly used for irregular geometry. Axis Aligned Binary Trees are simpler than Octrees. Just as Aardappel stated in the coding guidelines, "keep it simple". It seems like except for #4, every issue that exists in a AABTree also exists in a normal Octree (like the question when to join/split or how to traverse) so the solutions found for an Octree should also work for an AABTree (upper/lower bounds for object counts, timestamps to reduce collision test with same object etc) However, if it encloses many nodes, the number of tree nodes needed to check is higher.ĥ. In case a collision test is in a small area, the number of subnodes needed to check is smaller. Ray tracing in binary trees is easier, just need to check if the ends of the rays are on either side of the splitting plane, like a BSP.Ĥ. Considering an object needs to split a node, splitting a node in two is simpler than splitting into 8. A binary tree is much easier to mentain.Ģ. Is the world really represented with an octree or does it use the binary variety of axis aligned bounding box tree?įrom my experience (which given, isn't so deep, surely lower than Aardappel), that a binary tree representation is usually better than a real "octree" representations due to certain aspects.ġ. On the about page ( ), it is stated that "the world consists of an octree." We know spam when we see it and will delete it.Cube/Sauerbraten internal representation, OCTree vs AABBTree This means things like repetitious posting of similar content, low-effort posts/memes and misleading/exaggerated titles on link posts. We all need to support each other to help GNU/Linux gaming grow. If it's a link post, think about writing a comment to tell us more - the more you engage with us, the more we like it. If you've ported your game to Linux or created some GNU/Linux-gaming-related content (reviews, videos, articles) then, so long as you're willing to engage with the community, please post it here. Remember you are talking to another human being.ĭevs and content producers. Heated discussions are fine, unwarranted insults are not. Please flair tech-support requests as tech support and re-flair them as answered if an answer has been found. It is notable for having a unique real-time, octree-based level editor that allows you to edit maps in real time, and its even possible to do so in real time. This wiki page can help you gather system information. What exactly did you do, and how, and with what version of what? How have you tried to troubleshoot the problem? Vague, low-effort tech-support requests may get removed. Include relevant details like logs, terminal output, system information. Tech-support requests should be useful to others: those who might run into the same problem as well as those who might be able to help. It is not (primarily) a tech-support forum. r/Linux_Gaming is for informative and interesting gaming content, news and discussions.
0 Comments
Leave a Reply. |
AuthorWrite something about yourself. No need to be fancy, just an overview. ArchivesCategories |