I just had a quick question about style. Let's say I want to write a custom Camera scene node, Foobar. Obviously I can't do:
Code: Select all
class Foobar : public scene::ICameraSceneNode {
// ...stuff...
};
...without also defining every pure virtual function (which is just impractical). What I'd like to do then instead is to derive from the CCameraSceneNode class, which makes much more sense. However, in a standard Irrlicht setup, the headers necessary to do that aren't in the standard include directory--unless I'm missing something.
Of course, there are a number of workarounds for this, and I'm just curious what other people do. I thought about creating a directory called "Irrlicht/class", where I'll put the implementation headers, with their include directories modified accordingly. Then, I'll be able to have code like:
Code: Select all
// I've setup Irrlicht as a standard Linux shared library,
// with it's own space in $(PREFIX)/include
include <Irrlicht/class/CCameraSceneNode.h>
class Foobar : public scene::CCameraSceneNode {
// ...stuff...
};
Is there better way? I want to build my own engine on top of Irrlicht w/out having to modify the distributed Irrlicht as much as possible, so that, for the most part, newer versions of Irrlicht can simply "fall into place" without having to maintain a crap-ton of patches for every version.