OpenGL ES 入门API大全

简介: 本文章正确使用姿势:command/Ctrl + f  进行搜索对应的功能代码,找到它的详细解释。 (以下内容如有偏差,欢迎进行指正)一.CAEAGLLayer 的使用: CAEAGLLayer官方解释如图CAEAGLLayer,我来简单翻译一下:CAEAGLLayer 是继承于CALayer 的,可以用它在iOS 和tvOS 的设备上使用。

本文章正确使用姿势:command/Ctrl + f  进行搜索对应的功能代码,找到它的详细解释。 (以下内容如有偏差,欢迎进行指正)

一.CAEAGLLayer 的使用:

img_e0df24f7cf138326baef3c026acf1891.png
CAEAGLLayer


官方解释如图CAEAGLLayer,我来简单翻译一下:

CAEAGLLayer 是继承于CALayer 的,可以用它在iOS 和tvOS 的设备上使用。如果你打算用OpenGL 进行绘画的话,那么可以使用这个类作为背景的layer,可以通过重写layerClass 方法进行初始化。代码如下:

self.myEagLayer = (CAEAGLLayer *)self.layer;

+ (Class)layerClass {

        return [CAEAGLLayer class];

}

//zs20180312 其实这句话 是通过重写layerClass 方法,重新定义self.layer 的类型 self.myEagLayer只是指向self.layer 的指针。

为了更好的展现最好进行如下的设置:

1.将其不透明度(opaque)设置成true。

2. CAEAGLLayer 的bounds 设置成当前整个展示图层的大小。

3.CAEAGLLayer 不能旋转,不能偏移。

4.可以在CAEAGLLayer上设置非openGL 的视图,需要注意的是绘制透明的2D 的内容的时候,必须保证OpenGL的内容是不透明的。

5.尽量变换CAEAGLLayer上的内容,而不是变换CAEAGLLayer。

1.1 opaque

      opaque:不透明的

  self.myEagLayer.opaque = YES;

//CAEAGLLayer默认是透明的,必须将它设置为不透明才能其可见

1.2 drawableProperties

img_4ce57edea02db9419066d2d929dfa0db.png
drawableProperties


皇家翻译:通过这个字典的值来设置绘制的特点。需要注意的一点是这个属性必须在EAGLContext的方法renderbufferStorage:fromDrawable:前设置才能生效。如果要更改这个属性值,还需要再次调用下renderbufferStorage:fromDrawable:的方法才能生效。

//设置描绘属性,在这里设置不维持渲染内容以及颜色格式为 RGBA8。

self.myEagLayer.drawableProperties = [NSDictionary dictionaryWithObjectsAndKeys:

[NSNumbernumberWithBool:NO], kEAGLDrawablePropertyRetainedBacking,

kEAGLColorFormatRGBA8,  kEAGLDrawablePropertyColorFormat, nil];

详细解释:

/*  kEAGLDrawablePropertyRetainedBacking 表示绘图表面显示后,是否保留其内容,一般设置为false; 不保留绘完就释放了。

它是一个key值,通过一个NSNumber包装bool值.

kEAGLDrawablePropertyColorFormat:绘制对象内部的颜色缓存区格式

kEAGLColorFormatRGBA8:32位RGBA的颜色, 4*8=32;

kEAGLColorFormatRGB565:16位RGB的颜色

kEAGLColorFormatSRGBA8:SRGB, */

简单的绘制,CAEAGLLayer的这几属性设置完就够用了。


二.EAGLContext的使用

目录
相关文章
|
1月前
|
前端开发 JavaScript 安全
入门Vue+.NET 8 Web Api记录(一)
入门Vue+.NET 8 Web Api记录(一)
62 4
|
3月前
|
JavaScript API 开发者
GraphQL API开发入门:比RESTful更高效的数据查询方式
**GraphQL API开发入门摘要** GraphQL是一种更高效的数据查询方式,解决RESTful API的过度或不足获取数据问题。它允许客户端按需获取数据,减少网络传输,支持一次请求获取多资源。强类型和自描述特性方便了开发。文章通过一个简单的Node.js示例,展示如何使用`apollo-server-express`搭建GraphQL服务器,包括定义Schema、实现Resolver和创建服务器。通过测试,显示了GraphQL如何提供精确数据和优化查询效率。对于复杂数据需求,GraphQL是现代API设计的有效选择。
40 0
|
1月前
|
API 开发工具
langchain 入门指南(一)- 准备 API KEY
langchain 入门指南(一)- 准备 API KEY
67 0
|
4月前
|
API 开发工具 开发者
抖音商品详情API入门:为开发者和商家打造增长工具箱
抖音商品详情API入门:为开发者和商家打造增长工具箱
|
3月前
|
Linux API 数据安全/隐私保护
一文搞懂:【零基础】易盛9.0API入门二:登陆
一文搞懂:【零基础】易盛9.0API入门二:登陆
57 1
|
3月前
|
存储 Java API
JavaSE——常用API(3/3)-ArrayList入门、ArratList使用、ArrayList综合案例
JavaSE——常用API(3/3)-ArrayList入门、ArratList使用、ArrayList综合案例
37 0
|
4月前
|
JSON JavaScript 前端开发
使用API接口获取商品数据:从入门到实践
随着电子商务的飞速发展,许多电商平台提供了API接口,允许开发者获取商品数据,以创建各种创新的应用。本文将详细介绍如何使用API接口获取商品数据,并通过代码示例进行演示。
|
4月前
|
SQL API 开发工具
【C/C++ API设计】C/C++ API与动态库设计:从入门到精通
【C/C++ API设计】C/C++ API与动态库设计:从入门到精通
521 0
|
4月前
|
前端开发 JavaScript API
前端秘法番外篇----学完Web API,前端才能算真正的入门
前端秘法番外篇----学完Web API,前端才能算真正的入门
|
4月前
|
JSON 安全 数据挖掘
从入门到精通:淘宝API接口调用全攻略
概述: 在当今电子商务的繁荣发展下,淘宝作为中国领先的电商平台,不仅为消费者提供了便捷的购物环境,也为商家们提供了强大的数据支持和服务能力。淘宝开放平台提供的API接口使得商家能够高效地获取店铺和商品的实时数据,从而更好地分析市场趋势、优化店铺运营、提升用户体验。本文将详细介绍如何从入门到精通地调用淘宝API接口,使商家能够充分利用这一强大工具推动业务增长。