TBH像这样的移植工作涉及但相当容易.
首先,您首先将所有DirectX调用替换为"stubs"(即空函数).您可以这样做,直到您可以编译软件.编译完成后,即可开始实现所有存根函数.沿途会有很多问题,但值得做.
如果您需要在iPhone 3GS之前移植并支持手机,则您需要执行更复杂的任务,因为硬件仅支持仅固定功能的GLES 1.你必须以某种方式"模仿"这些着色器.在移动平台上,我过去曾编写过直接在顶点数据上执行"顶点着色"的汇编代码.像素着色通常更复杂,但您通常可以通过"顶点着色"提供足够的信息来实现此目的.您可能只需要删除一些图形功能.
更高版本的iPhone使用GLES 2,因此您可以访问GLSL ... ATI已经编写,并且Unity3D的Aras P已经扩展,软件将HLSL代码移植到GLSL.
完成所有这些后,您将进入优化阶段.你可能会发现你的第一次传球效率不高.这是完全正常的.此时,您可以查看更高级别的代码,了解如何移动代码并以不同方式执行操作以获得最佳性能.
总结:您的第一步是在没有DirectX的情况下编译代码.下一步将是实际移植对OpenGL ES调用的DirectX调用.最后,您需要重构剩余的代码以获得最佳性能.
(PS:我很乐意为你做移植工作.在我的个人资料中通过我的linkedin页面与我联系;)).