【发布时间】:2010-06-27 08:49:43
【问题描述】:
我是 OpenGL 和图形编程的新手,虽然我一直对这个话题很感兴趣,所以对理论有一定的了解。
我想做的是创建一个场景,其中一组对象在其中移动。具体来说,他们是球场上的机器人足球运动员。对象是:
- 灯光、场地和球门不会改变
- 球,这是一个单一的网格,将进行平移和旋转,但不会缩放
- 每个球员都由身体部位组成,每个部位都被平移和旋转以产生身体相连的错觉
所以对于我的 GL 新手来说,我想将这些对象加载到场景中,然后移动它们。顶点的任何属性都不会改变,无论是它们的位置还是纹理/法线/等。只是将它们的“父”对象作为一个整体进行转换。
此外,所有球员都有相同的身体。我可以通过将模型加载到内存一次,然后每次使用不同的变换矩阵多次绘制它来进行优化吗?
我目前正在使用 OpenTK,它是 OpenGL 库之上的轻量级包装器。
所以对这个问题有帮助的答案是:
- OpenGL 的哪些部分可以满足我的需求?我必须每帧重画所有的脸吗?只有那些会动的?我可以只更新一些转换矩阵吗?使用 OpenTK 可以使这变得多么简单?伪代码会是什么样子?或者,
- 是否有更好的免费框架(最好是开源的)并提供这种抽象级别?
请注意,我需要任何解决方案才能在 .NET across multiple platforms 中运行。
【问题讨论】:
标签: language-agnostic opengl graphics 3d