0
A
回答
0
简而言之,您可以通过修改模型视图矩阵来移动对象。这可以通过几种方式来完成,这取决于您的编码偏好以及您可用的opengl驱动程序版本。
这里的一些部分代码,让你在正确的方向开始:
以下是在OpenGL弃用3.0+(但即便如此,它仍然是通过相容性分布可用)。
// you'll need a game loop to make some opengl calls each frame
while(!done)
{
// clear color buffers, depth buffers, etc
initOpenglFrame();
glPushMatrixf();
glTranslatef(obj->getX(), obj->getY(), obj->getZ());
obj->draw();
glPopMatrixf();
// move the object 0.01 units to the left each tick
obj->setX(obj->getX() + 0.01);
// flush, swap buffers, etc
finishOpenglFrame();
}
对于OpenGL 3.0的超越,glPushMatrixf(),glPopMatrixf(),glTranslatef()函数,以及类似的固定管线接口所有弃用。如果你需要使用OpenGL3.0或更高版本,你会想要做同样类型的解决方案,但是你需要自己实现矩阵和矩阵堆栈。我认为这个讨论超出了你的问题的范围。
为了进一步阅读,并开始使用OpenGL,我建议你看看nehe.gamedev.net。如果您想开始使用OpenGL 3.X,那么我建议您购买Opengl Superbible 5th Edition。好书!
0
OpenGL只是通过顶点数据通过一些变换矩阵和栅格化结果。比你必须提供的更高的水平。
相关问题
- 1. 2D OpenGL动画纹理(Android)
- 2. OpenGL Noob - > 2D动画
- 3. 如何做Android COCOS-2d Menuitem动画?
- 4. 如何在OpenGL中移动2D相机
- 5. 在2D动画surfaceview
- 6. 如何在2D opengl中进行拾取?
- 7. 在OpenGL中播放动画
- 8. 我该如何在Android中做动画
- 9. 如何在CSS中做逆向动画?
- 10. 凹口在MiniCraft中如何做动画?
- 11. 如何在Android中做'忙'动画?
- 12. 如何在android中做连续动画?
- 13. 如何在appcelerator中做动画imageView?
- 14. 如何在画面中做动画?创建动态条形图
- 15. 如何做群像动画?
- 16. JQuery如何做动画?
- 17. 该动画如何做?
- 18. 如何做2D矢量移动
- 19. OpenGL 2D移动关系
- 20. OpenGL动画
- 21. OpenGL门动画
- 22. Python中的2D动画
- 23. 石英中的动画2D
- 24. 2D例如用OpenGL
- 25. Android:如何创建2D动画
- 26. 如何在opengl中制作一个振动动画qt
- 27. 在Java中做动画
- 28. Java Swing 2D动画
- 29. Delphi 10 2d动画
- 30. Android的2D动画
取决于你需要什么类型的动画 - 我会考虑将简单的移动对象作为转换矢量,其中每个元素存储相应帧的转换,并且您需要的只是将其乘以适当的ProjectionModelviewMatrix。如果您想要获得比简单移动物体更高的效果,您可以随时更改每帧动画的纹理:您只需处理称为精灵片的事物,而不是每个顶点改变纹理坐标的变换。 – erjot 2010-09-16 09:09:15