gpt4 book ai didi

opengl-es - 将 DirectX 移植到 OpenGL ES (iPhone)

转载 作者:行者123 更新时间:2023-12-02 22:22:40 25 4
gpt4 key购买 nike

我被要求调查将 10 年前的 Direct X (v7-9) 游戏移植到 OpenGL ES,最初是针对 iPhone

我以前从未进行过这样的游戏移植(并将雇用某人来做这件事),但我想了解这个过程。

  1. 是否有任何资源/书籍/博客可以帮助我理解该流程?​​
  2. 是否有类似 Mono 的项目可以做到这一点吗?

最佳答案

说实话,像这样的移植工作很复杂,但相当简单。

首先,您首先用“ stub ”(即空函数)替换所有 DirectX 调用。这样做直到可以编译软件为止。一旦编译完成,您就可以开始实现所有 stub 函数。一路上会遇到很多问题,但值得一做。

如果您需要移植并支持 iPhone 3GS 之前的手机,您的任务会更加复杂,因为硬件仅支持仅固定功能的 GLES 1。您必须以某种方式“模拟”这些着色器。过去,我在移动平台上编写了直接在顶点数据上执行“顶点着色”的汇编代码。像素着色通常更复杂,但您通常可以通过“顶点着色”提供足够的信息来实现这一点。您可能必须放弃一些图形功能。

iPhone 的更高版本使用 GLES 2,因此您可以访问 GLSL ...ATI 编写的、Unity3D 名声大噪的 Aras P 已扩展的软件,该软件将移植 HLSL code to GLSL .

完成所有这些后,您就进入了优化阶段。您可能会发现您的第一次传递效率不高。这是完全正常的。此时,您可以从更高的级别查看代码,并了解如何移动代码并以不同的方式执行操作以获得最佳性能。

总之:您的第一步是在不使用 DirectX 的情况下编译代码。下一步是将 DirectX 调用实际移植到 OpenGL ES 调用。最后,您将需要重构剩余的代码以获得最佳性能。

(P.S:我很乐意为您完成移植工作。请通过我个人资料中的 linkedin 页面与我联系;))。

关于opengl-es - 将 DirectX 移植到 OpenGL ES (iPhone),我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/4167527/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com