本人最近从Android平台的OpenGL ES开发转到iOS平台的OpenGL ES开发,由于平台不同,所以开发中会有一些区别,再次列出需要注意的几点。

1.首先需要了解iOS主要开发框架,再次仅介绍开发OpenGL ES应用常用的几个:

CoreGraphics.framework  ——包含Quartz 2D接口(Core Graphics框架参考)

Foundation.framework ——包含Cocoa Foundation层的类和方法(Foundation框架参考)

OpenGLES.framework ——OpenGLES框架是OpenGL跨平台2D和3D渲染库的跨平台版本(OpenGL ES框架参考)

UIKit.framework ——包含iOS应用程序用户界面层使用的类和方法(UIKit框架参考)

============================================

Foundation.framework——为所有的应用程序提供基本系统服务,作用如下:

*创建和管理集合,例如创建数组和字典。

*访问存储在应用程序里的图片和吉他资源。

*创建和管理字符串。

*提交和接收通知。

*创建日期和时间对象。

*自动发现IP网络上的设备。

*操作URL流。

*执行异步代码。

UIKit.framework——创建基于用户触摸界面的类,作用如下:

*构建和管理用户界面。

*捕获触摸和移动的事件。

*呈现文字和web内容。

*优化多任务程序。

*创建定制的界面元素。

CoreGraphics.framework——帮助构建图形,作用如下:

*创建基于路径的绘图。

*抗锯齿渲染。

*添加梯度,图片和颜色。

*创建,显示和分析pdf文件。

OpenGLES.framework——提供2D和3D的绘图工具

参考博客:

http://www.open-open.com/lib/view/open1343210425380.html

============================================

2.创建iOS平台的工程:

(1)选择iOS:Application->Single View Application->next。

(2)填写工程名称。

(3)导入framework:选择Build Phases中的Link Binary With Libraries,点击"+"添加,点击“-”删除。

(4)将ViewController改为继承GLKViewController的子类,如下图所示。

(5)此时直接运行会出现运行错误,后台报出如下的错误,

(6)导致该错误的主要原因是main.storyboard没有绑定到GLKView,具体解决方法如下:

选中视图中view项,找到右侧Custom Class,将Class由原来的UIView改为GLKView。

修改之后即可正常运行。

后续过程中,本人也会不断地发现问题,并及时更新帮助跟我一样从头开始的人。

iOS 平台开发OpenGL ES程序注意事项的更多相关文章

  1. 没有苹果电脑打包iOS平台的 Ionic 2程序——《Ionic 2 实例开发》更新内容

    没有苹果电脑打包iOS平台的 Ionic 2程序--<Ionic 2 实例开发>更新内容春节刚过,祝各位新的一年里万事如意,一帆风顺.<Ionic 2 实例开发>在这段时间里更 ...

  2. iOS开发- OpenGL ES屏幕截图

    之前写过一个常规的屏幕截图:http://blog.csdn.net/hitwhylz/article/details/17189351 可是发现这个办法对于OpenGL 无用.  获取到的数据为空. ...

  3. iOS开发-OpenGL ES入门教程1

    http://www.jianshu.com/p/750fde1d8b6a 这里是一篇新手教程,环境是Xcode7+OpenGL ES 2.0,目标写一个OpenGL ES的hello world.O ...

  4. (译)cocos2d-x跨android&ios平台开发入门教程

    免责申明(必读!):本博客提供的所有教程的翻译原稿均来自于互联网,仅供学习交流之用,切勿进行商业传播.同时,转载时不要移除本申明.如产生任何纠纷,均与本博客所有人.发表该翻译稿之人无任何关系.谢谢合作 ...

  5. CMake结合Visual Studio中开发Qt应用程序注意事项

    Qt工程管理 个人比较偏爱于使用CMake来管理C++工程,因为只要编写一个CMakeLists.txt文件,就可以在Windows和Mac上生成各自的IDE工程.在Windows上, CMake自然 ...

  6. 在苹果iOS平台中获取当前程序进程的进程名等信息

    本文由EasyDarwin开源团队成员Penggy供稿: Objective-C 提供 NSProcessInfo 这个类来获取当前 APP 进程信息, 然而我们的静态库是 pure C++ 工程. ...

  7. 在OpenShift平台开发Node.js程序

    设置process.env方便本地调试 --------------------- 修改~/.profile,增加下面两行,然后执行`. ~/.profile`: export OPENSHIFT_N ...

  8. OpenGL ES应用开发实践指南:iOS卷

    <OpenGL ES应用开发实践指南:iOS卷> 基本信息 原书名:Learning OpenGL ES for iOS:A Hands-On Guide to Modern 3D Gra ...

  9. 《React Native 精解与实战》书籍连载「iOS 平台与 React Native 混合开发」

    此文是我的出版书籍<React Native 精解与实战>连载分享,此书由机械工业出版社出版,书中详解了 React Native 框架底层原理.React Native 组件布局.组件与 ...

随机推荐

  1. Codeforces Round #373 (Div. 2)A B

    Codeforces Round #373 (Div. 2) A. Vitya in the Countryside 这回做的好差啊,a想不到被hack的数据,b又没有想到正确的思维 = = [题目链 ...

  2. 命令行登录mysql报Segmentation fault错误是怎么回事

    ==========解决方法============在源码包里,编辑文件 cmd-line-utils/libedit/terminal.c把terminal_set方法中的 char buf[TC_ ...

  3. input文本框实现宽度自适应代码实例

    代码实例如下: <!DOCTYPE html> <html><head><meta charset="utf-8"><meta ...

  4. Java多线程之Wait()和Notify()

    1.Wait()和Notify.NotifyAll都是Object的方法 2.多线程的协作是通过控制同一个对象的Wait()和Notify()完成 3.当调用Wait()方法时,当前线程进入阻塞状态, ...

  5. android之location03

    private class ButtonListener implements OnClickListener { @Override public void onClick(View v) { // ...

  6. jquery ui autocomplete combox格式设置

    <style> .custom-combobox {//设置输入框格式 position: relative; display: inline-block; width: 62%; } . ...

  7. oj 中G++和C++区别(转)

    1.输出double类型时,如果采用G++提交,scanf采用%lf,prinf采用%f,否则会报错 2.使用GCC/G++的提醒: 对于64位整数, long long int 和 __int64 ...

  8. NYOJ 52-无聊的小明

    点击打开链接 无聊的小明 时间限制:3000 ms  |  内存限制:65535 KB 难度:3 描述       这天小明十分无聊,没有事做,但不甘于无聊的小明聪明的想到一个解决无聊的办法,因为他突 ...

  9. Centos安装软件小结-20160325

    三种安装包 bin包 rpm包 源码包 1.bin包 1.先赋予权限: chmod 777 *.bin 2.开始安装: ./.bin 2.rpm包(以jdk为例)\ yum search jdk\ y ...

  10. JavaScript对象的创建之使用json格式定义

    json: javascript simple object notation. json就是js的对象,但是它省去了xml中的标签,而是通过{}来完成对象的说明. 定义对象 var person = ...