gpt4 book ai didi

cocoa - 使用 OpenGL 创建 MVC 范例的最佳方法?

转载 作者:行者123 更新时间:2023-12-03 18:02:26 26 4
gpt4 key购买 nike

我开始了解OpenGL开发,特别是使用 Mac OS X 和 Cocoa 和/或 CGL API,所以我将使用这些类作为示例,但我的问题更多是关于设计而不是特定的实现。情况如下:

我有一个“场景”对象,它可以包含或引用要渲染自身的数据,并响应“渲染”消息来绘制自身,无需任何转换。

我有一个 NSViewNSOpenGLView 对象,它创建 openGLContext 和 PixelFormats、调整 View 大小,并根据传递给它的任何转换更新 ModelView 和 Projection 。 View 对象还包含一个相机struct,它是 openGL 转换的基础。

我有一个 Controller 对象,它是一个 NSResponder 对象,并响应用户输入。

我不知道这是否是最好的安排;在这种情况下,“模型”应该是场景,我认为通常 Controller 应该在模型和 View 之间调解 Action ,但 View 每次发送[[controller scene] render]似乎很奇怪是时候它想要绘制 View 了。

而且我不确定“相机”的最佳位置是否在 View 中。我是否应该让场景对象还包括正在查看它的相机,并让它响应来自当前传递给 View 的 Controller 的 UI 输入?

或者这是完全错误的方法吗?我试图将一些实际上不适合它的东西硬塞到 MVC 中。我很好奇人们在 OpenGL 中使用什么样的设计模式。

最佳答案

我是按照你描述的方式看待的。 View 旨在控制视点和投影,因此在其中保留相机引用是合乎逻辑的。另一方面,场景对我来说充当纯粹的数据容器,不触及渲染方法,这与您的模型相反。

关于cocoa - 使用 OpenGL 创建 MVC 范例的最佳方法?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5046127/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com