我刚刚开始在Ogre中进行图形编程,而且无法理解为什么会有单独的视锥体类和单独的相机类。
在现实世界中,每个相机都有自己的视锥。相机类中是否应该存在视锥体的属性?
将它们分开是否有任何优势?我只是不明白这一点。
答案 0 :(得分:1)
不是相机继承了Frustum而不是相反吗? Frustum只是一个位于太空中的金字塔,可用于许多事物,如聚光灯,阴影计算,能见度等。
相机是一个Frustum,具有额外的相机事件处理,偏航/俯仰/滚动方法,渲染模式/ LOD设置,可见性检查等等......
答案 1 :(得分:0)
它被称为separation of concerns。基本上一个班级应该只做一件事,一件事。