Irrlicht separates the implementation and interface. The advantage of it is that almost everything can be implemented by inheriting those virtual classes and use those within Irrlicht. This enables the user to create new video drivers (Direct3D11 etc), scene nodes, gui elements etc without modifying Irrlicht or DIrrlicht. Currently we only have SceneNode as an interface.
The motivation is that DIrrlicht should be made a stand-alone replacement of Irrlicht which doesn't require Irrlicht for implementations.
Irrlicht separates the implementation and interface. The advantage of it is that almost everything can be implemented by inheriting those virtual classes and use those within Irrlicht. This enables the user to create new video drivers (Direct3D11 etc), scene nodes, gui elements etc without modifying Irrlicht or DIrrlicht. Currently we only have SceneNode as an interface.
The motivation is that DIrrlicht should be made a stand-alone replacement of Irrlicht which doesn't require Irrlicht for implementations.