Okay, my problem is this: I want to have PolyVox play nice with Bullet and Irrlicht and I am frankly at loss, all my attempts ended up breaking in spectacular ways (mind you irr+bullet alone is easy enough)
So, I ask you.
What my current layout looks like is best explained with a flowchart explaining the general hierarchical relation of each source file (all which are adequately named after their functionality), mind you this is an incredibly simplified explanation on how the software operates and it can easily be changed if such an action seems convenient so by any means don't consider this to be carved in stone, if your suggestion involves modifying the system then please say so (it's designed with hackability in mind and can easily be extended)
So to first explain what things do
the servers should be self explanatory
Graphics - Renderers
Physics - physics engines
Terrain - terrain generation
Storage - archive loaders and/or other file handling utilities (so far only archive loaders but the server can handle anything else as well)
the kernel contains the boilerplate logic that makes the thing tick and shared object contains code for loading plugins from shared libraries, this is what makes my plugin system work in the first place, then of course config which I don't really think I have to explain, it's the global config that contains configuration things only used at compile time.
TODO: add a gui server (actually, I might just hardcode the gui out of laziness)
What isn't featured in this flowchart is that I added a generic server that handles generic functionality, it's one of the more versatile ones.
Anyway, back to the relevant question
In an ideal scenario I would like to keep things in nice, separated containers so that they can easily be called by a small wrapper function (this is due to maintainability reasons) the absolutely ideal scenario would utilize functions like
GenerateTerrain(param1, param2...)
StartPhysics(partam1, param2....)
StartScene(partam1, param2....)
EndScene(partam1, param2....)
StopPhysics(partam1, param2....)
etc
all of which contain the relevant code for working, the issue is that in my tests I cannot quite get bullet to play nice with polyvox (this might be better asked over on the polyvox forums but I know that a few users here use polyvox and it's also relating to Irrlicht as I don't know how on earth I can get them to play nice in such an odd threesome)
Don't even ask for source because my examples failed extraordinarily and they were just small test cases that didn't utilize my plugin system (mind you if I can get the functions to play nice in the same project getting them to play nice in plugin form will also be easy due to how my plugin system is designed)
Irrlicht+Bullet+Polyvox+CEGUI integration issues
-
- Posts: 1010
- Joined: Mon Oct 24, 2011 10:03 pm
- Location: 0x45 61 72 74 68 2c 20 69 6e 20 74 68 65 20 73 6f 6c 20 73 79 73 74 65 6d
Irrlicht+Bullet+Polyvox+CEGUI integration issues
"this is not the bottleneck you are looking for"