Three.js移植到本机代码?

时间:2011-12-23 19:19:27

标签: c++ objective-c c ios three.js

我最近一直在玩WebGL,我真的在挖掘Three.js。它非常轻巧,只是让大多数GL调用变得容易一些,并提供了一种快速创建像球体这样的基本原理的方法。

现在,在本土,似乎所有的框架都想要比这更多。像Oolong,UDK,Unity,Cocos等等。我做了一些谷歌搜索,我能找到的最接近的是iSGL3D,但我并不完全相信这是正确的答案。

是否有一些更类似于Three.js的东西是用原生C,C ++或Objective-C编写的,我找不到?

7 个答案:

答案 0 :(得分:8)

这是一个三到C ++的端口:https://github.com/jdduke/three_cpp

  

核心 - 完成75%(TODO:变形目标,阴影,插件支持)

     

附加内容 - 完成5-10%(TODO:几乎所有内容)

     

示例 - 完成25%(TODO:涉及变形目标的示例)

答案 1 :(得分:3)

你只需要一个严格的图形引擎,与OpenGL的方向相同(与DirectX相比,它再次想要远远超过它)。我建议Ogre3D for iPhone因为Ogre3d背后的哲学是成为一个严格的图形引擎。

我想到的另一个问题是MoSync mobile sdk,它可以在各种平台上提供出色的OpenGL支持(尽管有限;为了保持可移植性)。

如果你对加载着色器更感兴趣并让图形引擎管理其余部分,我会为iPhone选择Ogre3D。

你总是可以主动(如果你有时间)自己写或者从这里提到的那些开始!

或者您可以在C ++编辑器中使用JavaScript引擎(例如JSAPI),然后在其上移动three.js。这很棒,因为您只需更新JSAPI和Three.js而不破坏功能,您的C ++ / JSThree引擎将保持最新,维护最少。

当然只是一些想法!

答案 2 :(得分:3)

虽然我也希望看到iOS的端口为three.js,但最近在iSGL3d(http://isgl3d.com/)上遇到了麻烦。

该项目提供了一种简单的封装方式,可以按代码构建操作opengl场景图。除了一些像cinder这样的创造性编码框架之外,iSGL3d还有纯粹的Objective C。

对我来说效果很好。

答案 3 :(得分:3)

你也可以给Ejecta一个机会。他们刚刚添加了WebGL / three.js支持。

https://github.com/phoboslab/Ejecta/tree/next

答案 4 :(得分:1)

Three_cpp很好,但自3年前就停止了更新。它不支持2012年以下的VS版本。

Ogre是另一个不错的选择,它与Threejs的逻辑非常相似:) 官方网站提供了非常详细的教程,使其易于使用!

答案 5 :(得分:0)

经过一番搜索,我发现stripped down version of SIO2 called GFX看起来很有希望。

答案 6 :(得分:0)

如果您正在寻找严格的易用性,我强烈推荐Panda3D。它是跨平台的(Windows,Unix,Mac),非常易于使用,拥有丰富的文档,并且周围有一个很好的社区。