7. 对于每一个动态库,只导出“初始化”与“释放”两个函数的原因在于:
Now get ready to see how cute these two exported functions really are. There is not much behind them other than creating an object or deleting it. But please note that though the object created is from the class ZFXD3D, it is returned as a reference with a pointer of the interface type ZDXRenderDevice. (p62)
8. MickeyMouse @ GameDev.NET:
I'd summarize knowledge needed to understand engines like Ogre as follows:
1. Understand basic Object Oriented Programming concepts
2. Of course linear algebra on a very basic level.
3. Understand well typical fixed pipeline like in OpenGL or Direct3D. Up to the level that you know what is possible and what is not. You should understand what are most common bottlenecks when using OpenGL / Direct3D and what impact they have on data representation and the whole rendering pipeline.
4. After you understand fixed pipeline, then learn about shaders (HLSL, GLSL).
Again, like with fixed pipeline, you should know what can/should be done using shaders, what can't/shouldn't.
5. Basic knowledge on 3D models representation (hierarchical skinned models and static ones).
6. Basic knowledge on spatial structures to store 3D scene (Octree, KD-trees, sectors & portals, more...).
Hope this helps.