cocoa - OpenGL中的缓冲区存储所有形状?

标签 cocoa opengl buffer

在 OpenGL 中,我有一个静态相机和一个场景,仅当用户“移动相机”时才需要移动。 我在 OpenGL 中有一个非常复杂的场景,我在每一帧都完全重新生成它。 抱歉,如果这是一个基本问题,但是我不能将场景存储在某种缓冲区中,然后我就可以告诉 OpenGL 进行绘制吗?

最佳答案

OpenGL 不存储场景。它是一个绘图 API,即您所做的就是发送绘图命令。显示列表只是批处理(大量)绘图命令的便捷方法。因此,您也不会通过重绘来“重新创建”场景,但每次发出 OpenGL 绘图命令时,您实际上都是在绘制内容。了解这一点很重要!这意味着,对于 OpenGL 而言,更改场景中的某些内容并不昂贵,因为无论如何您都会重新绘制所有内容。因此,围绕 OpenGL 为您进行一些场景管理的(错误)假设来设计您的程序几乎没有什么好处。

关于cocoa - OpenGL中的缓冲区存储所有形状?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/7029778/

相关文章:

powershell - get-childitem 在格式之前截断名称、全名

xcode - OS X Storyboard 在 applicationDidFinishLaunching 之前调用 viewDidLoad

objective-c - 注册显示重新配置回调

c++ - 无论我使用什么输入/窗口处理程序,OpenGL 代码都可以工作吗?

c++ - 为什么我的三角形在镶嵌后不显示? OpenGL

c++ - SDL_SaveBMP 倒置保存图片

java - CharBuffer 与 char[]

转到 crypto/ssh 包,stdoutpipe() io.Reader 的缓冲区限制是多少

macos - NSOutlineTableView 最后一个元素后崩溃

iphone - 重用Cocos2d CocosNodes