我是新手,总的来说是OpenGL和图形编程,虽然我一直对这个话题感兴趣,所以理论上有一个基础。OpenGL新手 - 在场景中移动物体的最佳方式
我想要做的是创建一个场景,其中一组对象移动。具体来说,他们是场上的机器人足球运动员。对象是:
- 照明,野外和目标,不改变
- 球,这是一个网格,将进行平移和旋转,但不结垢
- 的球员,这是每个组成的身体部位,其中每一个被翻译和旋转,给连接体的幻想
因此,我的GL新手心中,我想加载到场景中的这些对象,然后只是移动它们关于。没有任何属性的顶点会改变,无论是他们的定位,纹理/法线/等。只是他们的“父母”对象整体的转变。
此外,球员都有相同的身体。我可以通过将模型加载到内存中进行一次优化,然后每次使用不同的变换矩阵多次绘制它?
我目前正在使用OpenTK,这是一个OpenGL库上的轻量级包装。
所以一个有用的回答这个问题要么是:
- 哪些部分的OpenGL给我我需要什么?我是否必须重新绘制每一帧的所有面?那些移动?我可以只更新一些变换矩阵吗?我可以使用OpenTK做到这一点吗? psuedocode会是什么样子?或者,
- 是否有更好的框架是免费的(理想的开源)并提供了这种抽象级别?
请注意,我需要任何解决方案在.NET across multiple platforms中运行。
这解释了绘制网格的基本机制,但是如何移动它们(如问题的标题)呢?我可以在一帧中多次重复使用同一个网格并应用不同的变换吗?我应该使用哪种VBO或VA? – 2010-06-27 09:57:10
查看新的编辑文本 – shoosh 2010-06-27 13:47:56
感谢您的更新。这看起来不错,我有一个初步版本每帧绘制一个单一的VBO多次。非常兴奋地看到它在一起,但现在我需要整理照明。谢谢你的帮助。 – 2010-06-27 19:13:24