OpenGL ES(一) 初识

1.OpenGL OpenGL:图形硬件的一种软件接口,它是一个3D图形和模型库,我们可以使用OpenGL来创建实时的3D图形或模型,并且它不仅有出色的视觉质量,还有它的效率远高于光线追踪器或软件渲染引擎。

2.OpenGL ES OpenGL ES与OpenGL非常相似,因为OpenGL ES的规范是基于OpenGL开发的,专门为移动设备的3D渲染提供渲染接口,可以看做精简版的OpenGL。

3.版本发展

OpenGL ES 与相关OpenGL版本

4.OpenGL ES绘制一个 Core Animation 层的过程

  • 创建设备上下文
  • 创建GLKBaseEffect(苹果封装的可以简化OpenGL绘制操作的类)
  • 渲染(通过缓存绘图)
    • 生成控制缓存的标示符(Generate) - glGenBuffers()
    • 让OpenGL ES知道接下来的运算会使用一个缓存(Bind) - glBindBuffer()
    • 让OpenGL ES分配连续的内存并初始化缓存(Buffer Data) - glBufferData()
    • 告诉OpenGL ES接下来渲染该缓存(Enable) - glEnableVertexAttribArray()
    • 告诉OpenGL ES指定的顶点属性(Set Pointers) - glVetexAttribPointer()
    • 绘图(Draw) - glDrawArrays()
  • 删除缓存并释放相关的资源(Delete) - glDeleteBuffers()

5.Demo下载地址:https://github.com/cdcyd/CCOpenGLES

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏WindCoder

异步JavaScript:从回调地狱到异步和等待

这是一个典型的异步编程挑战,您如何选择处理异步调用,在很大程度上,会导致或破坏您的应用程序,并且可能是您的整个启动。

991
来自专栏斑斓

编程修炼 | Scala亮瞎Java的眼(二)

继续上一期的话题,介绍Scala有别于Java的特性。说些题外话,当我推荐Scala时,提出质疑最多的往往不是Java程序员,而是负责团队的管理者,尤其是略懂技...

3255
来自专栏技术博客

系统架构师-基础到企业应用架构-分层[上篇]

      大家好,接近一年的时间没有怎么书写博客了,一方面是工作上比较忙,同时生活上也步入正轨,事情比较繁多,目前总算是趋于稳定,可以有时间来完善以前没有写完...

1142
来自专栏Android干货园

Kotlin初级(1)- - - 基础.md

使用package包可以将代码分割到各个命名空间内。所谓命名空间,就好比咱们的国内重名的地区非常多,如果单独将一个地名,很可能引起歧义,但如果按省来划分,就解决...

693
来自专栏撸码那些事

【抽象那些事】缺失抽象

1083
来自专栏IT笔记

从构建分布式秒杀系统聊聊商品详情页静态化

1276
来自专栏Timhbw博客

iOS面试中被面试官问到的问题答案(一)

2016-03-1016:30:14 发表评论 1,091℃热度 1.请你谈谈static和宏定义的区别。什么时候用static什么时候用宏定义。 让你声...

4488
来自专栏杨建荣的学习笔记

浅谈pl/sql (r3笔记第14天)

关于pl/sql,可能大家熟悉而又陌生,熟悉是因为大家在工作中老是写sql,如果稍微改动一些,加入begin,end和控制结构,就是pl/sql了。:) 今...

3389
来自专栏圣杰的专栏

DDD理论学习系列(6)-- 实体

1.引言 实体对应的英语单词为Entity。提到实体,你可能立马就想到了代码中定义的实体类。在使用一些ORM框架时,比如Entity Framework,实体作...

2118
来自专栏撸码那些事

【抽象那些事】缺失抽象

这是一个笑脸,那么我们是怎么知道这是一个笑脸的呢?通过抽象。人脸数以亿计,却各不相同。我们忽略了不重要的细节,如发型和发色。我们还概括了相同的东西,每个人都有两...

42715

扫码关注云+社区