【问题标题】:Why is the viewing frustum separate from the camera?为什么视锥体与相机分开?
【发布时间】:2012-07-18 20:30:56
【问题描述】:

我刚开始在 Ogre 中进行图形编程,只是不明白为什么会有一个单独的视锥体类和一个单独的相机类。
在现实世界中,每个相机都有自己的视锥体。视锥体的属性不应该出现在相机类中吗?

将它们分开有什么好处吗?我只是不明白这一点。

【问题讨论】:

    标签: 3d ogre3d


    【解决方案1】:

    难道不是Camera继承了FROM Frustum而不是相反吗? Frustum 只是一个位于太空中的金字塔,可用于许多事情,如聚光灯、阴影计算、可见性等。

    Camera 是一个 Frustum,具有额外的 Camera Events 处理、yaw/pitch/roll 方法、渲染模式/LOD 设置、可见性检查等等...

    【讨论】:

    • 哦...我不知道平截头体类可以用于所有这些功能...
    【解决方案2】:

    它叫做separation of concerns。基本上一个班级应该只做一件事和一件事。

    【讨论】:

    • 我同意,但不知何故,我觉得答案并不那么简单。视锥体似乎是相机的一个组成部分。至少它应该继承自相机。但它是完全分开的。很奇怪。
    • 是的,相机需要一个平截头体,但它是“具有”关系,而不是“是”。继承只对“is a”关系才有意义。
    猜你喜欢
    • 1970-01-01
    • 2016-04-09
    • 2019-12-19
    • 2021-03-28
    • 1970-01-01
    • 1970-01-01
    • 2011-10-18
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多