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.
博客提到动态库只导出“初始化”与“释放”两个函数,创建的对象以接口类型指针引用返回。还总结了理解如Ogre等引擎所需知识,包括面向对象编程概念、线性代数、固定管线、着色器、3D模型表示和空间结构等。
226





