【发布时间】:2012-07-18 20:30:56
【问题描述】:
我刚开始在 Ogre 中进行图形编程,只是不明白为什么会有一个单独的视锥体类和一个单独的相机类。
在现实世界中,每个相机都有自己的视锥体。视锥体的属性不应该出现在相机类中吗?
将它们分开有什么好处吗?我只是不明白这一点。
【问题讨论】:
我刚开始在 Ogre 中进行图形编程,只是不明白为什么会有一个单独的视锥体类和一个单独的相机类。
在现实世界中,每个相机都有自己的视锥体。视锥体的属性不应该出现在相机类中吗?
将它们分开有什么好处吗?我只是不明白这一点。
【问题讨论】:
难道不是Camera继承了FROM Frustum而不是相反吗? Frustum 只是一个位于太空中的金字塔,可用于许多事情,如聚光灯、阴影计算、可见性等。
Camera 是一个 Frustum,具有额外的 Camera Events 处理、yaw/pitch/roll 方法、渲染模式/LOD 设置、可见性检查等等...
【讨论】:
它叫做separation of concerns。基本上一个班级应该只做一件事和一件事。
【讨论】: