画布快速纹理映射

Kuk*_*uka 5 javascript optimization texture-mapping webgl html5-canvas

我正在用简单的3D图形制作一个自上而下的游戏.(如果它像gta那样我会很高兴.)我已经实现了我在这里找到的仿射纹理映射,但它太CPU密集了.

所以我的问题是:有更好的解决方案吗?我不了解WebGL,但硬件加速纹理映射可能比这更好吗?我需要一个函数,它将在四边形上映射纹理.

你可以在这里试试我的游戏.(按下J以查看线框和/ KL改善fps或质量)正如您所看到的,它确实需要一些优化.:-)

Toj*_*oji 2

首先,这是一个很棒的演示!感谢您为此付出了这么多努力。

对于像这样的使用,WebGL 绝对会给您带来更好的性能,并且考虑到您所需要的只是一些纹理立方体,我认为这对您来说也不会非常困难。是的,3D 比 2D 画布工作有更多的学习曲线,但考虑到您已经做了很多数学计算来模拟 3D,无论如何您可能会发现“真正的”3D 更容易!

LearningWebGL.com上的课程是一个不错的起点。他们将带您了解基础知识,而纹理映射(您想要的部分)只需 5 节课。

当然,你也可以变得有点疯狂,用纯 CSS 获得你所看到的效果!有一个非常酷的演示,有人用它实际构建了一个城市场景,所以这当然是可能的。不过,这感觉有点牵强,而且从功能角度来看,直接使用 WebGL 可能会更好。

  • 在你的问题中,你似乎非常关心性能,因此 WebGL 无疑是正确的选择。如果您正在寻找更简单的解决方案来与您的代码集成,或者寻找具有更高兼容性的解决方案,那就不同了。我强烈推荐看一下 Marius Gundersen 在 2D 画布上的 3D 作品。他在我最近参加的一次会议上对此做了精彩的演示,研究他的一些技术可能会对您有所帮助:http://projects.mariusgundersen.net/OnGameStart/ (3认同)