将月球着陆器转换为使用 Opengl

发布于 2024-09-13 03:19:38 字数 561 浏览 3 评论 0原文

我根据 Google 提供的 Lunar Lander 演示来建模我的游戏,它使用 Canvas 和 onDraw() 方法,但我想通过使用 Opengl 获得更好的性能。

把它转换成Opengl需要多少工作?我可以用 opengl 的纹理方法或其他方法替换 ondraw 方法吗?或者我必须完全重新创建游戏吗?

因为我已经实现了 SurfaceView,并且我想我在某处读到 Opengl 也使用了它。

抱歉,我是 Opengl 的新手。如果有人能指出我正确的方向,我将不胜感激!

我看过

http://nehe.gamedev.net/

http://blog.jayway.com/author/pererikbergman/

但这些都是 3d 的,我希望实现一种绘制方法2D 图形。

I modeled my game after the Lunar Lander demo that Google provides, and it uses Canvas and onDraw() methods, but I want to get better performance by using Opengl.

How much work is it to convert it to Opengl? Can I just replace the ondraw methods with opengl's texture methods or something? Or do I have to completely recreate the game?

Cause I already have surfaceview implemented and I thought I read somewhere that Opengl uses this as well.

Sorry I'm totally new at Opengl. If anyone could point me into the right direction I would appreciate it!

I have looked at

http://nehe.gamedev.net/

http://blog.jayway.com/author/pererikbergman/

But these are all 3d, im looking to implement a way to draw 2d graphics.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

反差帅 2024-09-20 03:19:38

openGL 中的 2D 和 3D 之间没有区别:如果您可以在 3D 中绘制任何多边形,则可以将它们绘制为与屏幕对齐。

看一下 NeHe 的 2D 文本教程。删除所有 3D 部分。更改代码以仅显示四边形,而不显示列表,每个都有自己的纹理。尽可能多地清理代码,剩下的行数应该很少。添加一些代码以便能够旋转每个四边形。

我建议你之前不要尝试在嵌入式设备上进行开发(即使使用模拟器。仍然很痛苦)。

完成后,从演示中创建一个小型 openGL 应用程序。您必须处理以下部分:窗口、输入和显示。

当你完成此操作后,你会发现移植 Lunar Lander 非常容易(我认为)

There is no distinction between 2D and 3D in openGL : If you can draw any polygon in 3D, you can draw them so that they are aligned with the screen.

Take a look at NeHe's tutorial on 2D text. Remove all the 3D part. Change the code to display only quads, not display lists, each with its own texture. Cleanup the code as much as you can, there should be really few lines remaining. Add some code to be able to rotate each quad.

I suggest you don't try to develop on an embedded device (even with the emulator. It's still quite a pain) before.

Once you're done, create a tiny openGL application from the demos. You have to deal with the following parts : windowing, input and display.

When you have done this, you will find porting Lunar Lander quite easy (I think)

~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文