对OpenGL及其工作原理感到困惑

时间:2016-02-20 22:27:55

标签: ios opengl-es

所以今天我的老板对我说:"尽快学习Open GL,特别是关于如何制作模型以及如何在Open GL中实现设计。一旦你完成了给我发电子邮件,我会给你一个开发应用程序"。

所以我是iOS开发人员,对Open GL一无所知。我在网上看到Open GL是一个用于渲染图形的API,并且有一个需要使用的代码库。所以我的问题是:

  1. 最后我的老板说我将开发一个应用程序,我猜他的意思是iOS app,因为这就是我所知道的。那么你可以在iOS上使用Open GL吗?

  2. 我在网上读到Open GL使用的是C或C ++。 iOS应用程序是用objective-c或Swift编写的。所以如果我在iOS应用程序中使用OPEN GL,会有两种不同的语言吗?

3 个答案:

答案 0 :(得分:0)

是的,OpenGL是一个API。您可以使用各种语言与它进行交互,但它绝对是" c-like"。 (它大量使用指针,指针算法和内存缓冲区。

iOS支持OpenGL ES,这是一款专为移动设备而设计的精简版OpenGL。您将要学习OpenGL ES 2.0

OpenGL是一个庞大而复杂的API,具有巨大的学习曲线。在你真正得到它之前,期待花几周时间学习。我做了,我的脑袋爆炸了,但我明白了。

如果您已经研究过3D图形和转换矩阵,那么您可以更轻松地完成它。

您希望使用GLKit,这是一个iOS框架,提供随时可用的视图和视图控制器类,使设置更容易,以及您需要的许多支持功能。 我开发了一个名为Face Dancer的应用程序,可以从iPhone / iPad相机中查找并变换静止图像或视频中的面部。它是基于OpenGL的,如果你想查看它,可以在应用程序商店免费使用。

答案 1 :(得分:0)

你会有更好的运气谷歌搜索,而不是在这里张贴这样一般的问题。但是,如果您是一个视觉人,并且确实需要逐步介绍OpenGL,那么:

https://www.youtube.com/watch?v=6c1QYZAEP2M&list=PLRwVmtr-pp06qT6ckboaOhnm9FxmzHpbY

我一直在使用OpenGL开发多年,但仍然发现Jamie King的视频是现代OpenGL的一个很好的复习。由于您是iOS开发人员,因此您应该访问Apple网站进行OpenGL ES开发:

https://developer.apple.com/library/ios/documentation/3DDrawing/Conceptual/OpenGLES_ProgrammingGuide/Introduction/Introduction.html

就个人而言,我从Jamie King的视频开始,因为他为新开发者提供了丰富的信息。一旦你开始使用某些代码并遇到问题,这将是发布在这里的最佳时间。

祝你好运,Harshil.Chokshi:^)

答案 2 :(得分:0)

(1)是的,iOS支持OpenGL ES,它是OpenGL规范用于移动设备的变体。

(2)OpenGL是一个C API。 Objective-C(和C ++)是C的超集,因此您可以从Objective-C自由调用OpenGL。