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 条评论
登录 后参与评论

相关文章

来自专栏LeoXu的博客

iText的使用

首先要getInstance并open一个Document对象,该对象也就代表了这个文件:

4441
来自专栏marsggbo

Pytorch 各种奇葩古怪的使用方法

不间断更新。。。 增减layer 增加layer 增加layer很方便,可以使用model.add_module('layer name', layer)。 ...

3895
来自专栏听雨堂

Pandas对行情数据的预处理

库里是过去抓取的行情数据,间隔6秒,每分钟8-10个数据不等,还有开盘前后的一些数据,用Pandas可以更加优雅地进行处理。 ? 需要把当前时间设置为index...

21810
来自专栏专知

【干货】使用TensorFlow官方Java API调用TensorFlow模型(附代码)

1.5K4
来自专栏专知

【干货】TensorFlow中那些鲜为人知却又极其实用的知识

TensorFlow的生态圈极其强大,覆盖了科研、工程中的各种流程,其中一些特别好用的模块和技巧可以使你的工作效率大幅度提升,也可以让你的产品变得非常稳定。本文...

1461
来自专栏图形学与OpenGL

机械版CG 实验1 像素点的生成

注:本博客实验教程的配套教材为《计算机图形学》(徐文鹏编)已由机械工业出版社于2009年2月出版。

923
来自专栏诸葛青云的专栏

教你利用Python把图片转字符画!代码哆啦A梦你见过嘛?

图片转字符画的关键是把图片的灰度值与自定义的字符集之间建立映射关系,不同区间的灰度值对应不同的字符,之后将图片每一个像素对应的字符打印出来,就是我们要的字符画。...

3404
来自专栏翻译

路径查找器AI

问题源于我想建立一个游戏AI,它要能够定义一条从起点到终点的路径,同时避开路上的墙壁障碍物。为此,我写了一个C#库(path.dll),它允许定义一个二维空间(...

2287
来自专栏技术博客

iText 制作PDF

由于在MVC项目中需要使用PDF,所以自己抽空也来看看itext,以便于丰富自己的知识吧。在此也简单的记录一下,说不定以后可能还用的到。

1322
来自专栏CSDN技术头条

Hadoop旧mapreduce的map任务切分原理

前言 最近在工作过程中接触一些Hive数据仓库中的表,这些表实际是从关系型数据库通过Sqoop抽到Hive的。在开发过程中对map任务的划分进行性能调优,发现...

21010

扫码关注云+社区

领取腾讯云代金券