位置: 编程技术 - 正文

openGL ES 2.0开发流程(opengl es应用开发实践指南(android卷)pdf)

编辑:rootadmin

推荐整理分享openGL ES 2.0开发流程(opengl es应用开发实践指南(android卷)pdf),希望有所帮助,仅作参考,欢迎阅读内容。

文章相关热门搜索词:opengl es应用开发实践指南,opengl es 3.0编程指南,opengl es 3.0编程指南,opengl es2.0应用,opengl es3.2,opengl es2.0应用,opengl es2.0编程指南pdf,opengl es应用开发实践指南,内容如对您有帮助,希望把文章链接给更多的朋友!

一:添加必须的framework(框架)

OpenGLES.frameworks和QuartzCore.framework

二:修改OpenGLView.h

引入OpenGl的Header,创建一些后面会用到的实例变量

CAEAGLLayer* _eaglLayer;

EAGLContext* _context;

GLuint _colorRenderBuffer;

三:设置layer class为CAEAGLLayer

&#; (Class)layerClass{

return [CAEAGLLayer class];

}

想要显示OpenGL的内容,需要把它缺省的layer设置为一个特殊的layer。(CAEAGLLayer)。这里通过直接复写layerClass的方法。

四:设置layer为不透明(Opaque)

- (void)setupLayer{

_eaglLayer = (CAEAGLLayer*)self.layer;

_eaglLayer.opaque = YES;

}

因为缺省的话,CALayer是透明的。而透明的层对性能负荷很大,特别是OpenGL的层。(如果可能,尽量都把层设置为不透明。另一个比较明显的例子是自定义tableView cell)

五:创建OpenGL context

-(void)setupContext{

openGL ES 2.0开发流程(opengl es应用开发实践指南(android卷)pdf)

EAGLRenderingAPI api = kEAGLRenderingAPIOpenGLES2;

_context = [[EAGLContext alloc] initWithAPI:api];

if(!_context) {

NSLog(@“Failed to initialize OpenGLES 2.0 context”);

exit(1)

}

if(![EAGLContext setCurrentContext:_context]) {

NSLog(@“Failed to set current OpenGL context”);

exit(1);

}

}

无论你要OpenGL帮你实现什么,总需要这个EAGLContext。EAGLContext管理所有通过OpenGL进行draw的信息。这个与Core Graphics context类&#;。当创建一个context,要声明需要哪个version的API。这里,选择OpenGL ES 2.0。(容错处理,如果创建失败了,我们的程序会退出)

六:创建render buffer(渲染缓冲区)

-(void)setupRenderBuffer{

glGenRenderbuffers(1, &_colorRenderBuffer);

glBindRenderbuffer(GL_RENDERBUFFER, _colorRenderBuffer);

[_context renderbufferStorage:GL_RENDERBUFFER fromDrawable:_eaglLayer];

}

Render buffer是OpenGL的一个对象,用于存放渲染过的图像。有时候你会发现render buffer会作为一个color buffer被引用,因为本质上它就是存放用于显示的颜色。

创建render buffer的三步:

1.调用glGenRenderbuffers来创建一个新的render buffer object。这里返回一个唯一的integer来标记render buffer(这里把这个唯一&#;赋&#;到——colorRenderBuffer)。有时候你会发现这个唯一&#;被用来作为程序内的一个OpenGL的名称。(反正它是唯一的)

2.调用glBindRenderbuffer,告诉这个OpenGL:我在后面引用GL_RENDERBUFFER的地方,其实是想用_colorRenderBuffer。其实就是告诉OpenGL,我们定义的buffer对象是属于哪一种OpenGL对象。

3.最后,为render buffer分配空间。renderbufferStorage

七:创建一个frame buffer(帧缓冲区)

C#+OpenGL编程之OpenGL 变换(机器人) 本文基础:C#OpenGL编程之环境搭建原书第三章使用了一个机器人完成变换。正如基础教程所述,我们现在使用C#继承来修改基础场景。usingSystem;usingSystem.C

C#+OpenGL编程之OpenGL 光照 本文基础:C#OpenGL编程之环境搭建现在是第四章OpenGL光照,这章开始,我遇到麻烦了,因为原书的auxSolidSphere这个函数,C#没有封装,我就把例程修改为

C#+OpenGL编程之环境搭建(windows) 现在各种引擎红红火火,为什么还要开图像基础呢?现在的游戏开发中游戏引擎有什么样的地位,是不是不可缺少的。我觉得游戏引擎或多或少的会对

标签: opengl es应用开发实践指南(android卷)pdf

本文链接地址:https://www.jiuchutong.com/biancheng/373249.html 转载请保留说明!

上一篇:视锥裁剪(视锥是什么意思)

下一篇:C#+OpenGL编程之OpenGL 变换(机器人)(c#怎么使用opencv)

  • 怎样在电子税务局查询已开发票
  • 无进项开票税点
  • 对母公司的其他说法
  • 注册资本为0的企业
  • 发票开错但已勾选还需要认证吗
  • 预交所得税利润表怎么填
  • 成本 费用区别
  • 购销合同印花税最新政策2023
  • 资本金可以出借吗
  • 货币性短期薪酬影响损益的金额
  • 营业外支出结转损益
  • 销售货物并提供安装服务
  • 增值税专用发票使用规定 最新
  • 企业所得税需要调整的有什么科目
  • 普通发票计量单位没填
  • 免税发票可以入账吗
  • 广告制作费属于现代服务吗
  • 普通发票税率为1%吗
  • 税务三方协议一式几份
  • 无偿赠与钱要交税吗
  • 连续3个月增值税留抵
  • 财务报表的总投资怎么算
  • 建筑工程发票抵扣有时间限制吗
  • 小微企业减半征收印花税代码
  • 居间合同怎么签才算有效
  • 收入不交税怎么处理
  • 上缴税金包括什么
  • 分户记账
  • 总工会拨付工会经费
  • 员工因违反公司规章制度被辞退有补偿吗
  • 长期待摊费用2021
  • 对公账户发放工资要固定几号打吗
  • 冲回上年多提的费用会计分录
  • 工业企业采购部门职责
  • mgaqdesk.exe进程有什么作用 mgaqdesk进程查询
  • PHP:pcntl_wexitstatus()的用法_PCNTL函数
  • 售后回购不符合法律规定
  • 其他应收款的会计处理
  • 长期借款利息调整会计分录
  • php函数名
  • 在php中,字符串有哪些表示形式
  • 增值税发票开了没有抵扣有什么后果?
  • 美国疫情告急,请求中国医护人员支援,大家怎么看呢?
  • 固定资产的特征有哪些
  • 总公司发票可以从分公司付款吗
  • mysql存二进制用哪个字段
  • 网上变更财务负责人新负责人要确认吗
  • 借款与报销流程设计
  • 暂估原材料,材料成本如何冲
  • 交易性金融资产公允价值变动怎么算
  • 加盟代理需要什么手续
  • 自制半成品怎么计算
  • 没有收入有支出怎么处理账务
  • 政府代建工程
  • 工会经费购买的固定资产处置
  • 劳务费是否属于工资
  • 资产处置损益借贷方向表示什么
  • 印花税的计税依据及税率
  • 法院案件受理费退费申请
  • 职工福利费核算哪些内容
  • sql树结构
  • mysql存储过程的语句块以什么开始以什么结束
  • win7提示oxcooooo98
  • linux图片编辑软件
  • 系统占用90g怎么删
  • xp双系统怎么切换系统
  • 开机提示按CTRL+ALT+DEL,无限重启怎么办
  • bass表示什么
  • 全面理解全面把握全面落实
  • js获取html自定义属性
  • js实现字符串和数字对齐
  • wxpython中Textctrl回车事件无效的解决方法
  • jquery改变img的src
  • 国家税务总局的局长什么级别
  • 车价36万保险一般多少钱
  • 重庆市国税网官方网站
  • 棚户区改造的房子和商品房有什么区别
  • 一般纳税人做账收费标准
  • 民族贸易产生的原因
  • 地税是什么时候开始征收耕地的呢
  • 免责声明:网站部分图片文字素材来源于网络,如有侵权,请及时告知,我们会第一时间删除,谢谢! 邮箱:opceo@qq.com

    鄂ICP备2023003026号

    网站地图: 企业信息 工商信息 财税知识 网络常识 编程技术

    友情链接: 武汉网站建设