OpenGL ES之Swift使用GLSL语言渲染图片的显示

一、整体思路

① GLSL 和 iOS

  • 本篇主要使用编译链接自定义的 shader(顶点着色器/片元着色器),用简单的 GLSL 语言来实现顶点、片元着色器,并对图形进行简单的变换。
  • OpenGL ES 只是用来做渲染,所以 iOS 要提供一个载体,就是 CAEAGLLayer,创建的方法是,通过重写 UIView 的类属性(OC 中是类方法)返回 CAEAGLLayer.self,它是一个对 core animation 的封装,它能满足所有的 OpenGL ES 的方法访问。
  • CAEAGLLayer:在制定该图层关联的视图作为渲染器的目标图形上下文之前,可以使用 drawableProperties 属性更改呈现属性。此属性允许您配置呈现表面的颜色格式以及表面是否保留其内容。 因为 OpenGL ES 渲染的效果是要提交到用户使用的核心动画上,所以使用在该 layer 上的任何效果和动画都会影响渲染的 3D 效果,为了时性能最佳你应该做一下操作:设置图层为不透明,设置图层边界以匹配显示的尺寸,确保图层没有做变换。
  • 尽量避免在 CAEAGLLayer 添加其 layer,如果必须要添加其他非 OpenGL 内容,那么如果将透明的 2D 内容置于 GL 内容之上,并确保 OpenGL 内容是不透明的且没有转换过,那么性能还是可以接受的。当在竖屏上绘制横向内容时,应该自己旋转内容,而不是使用 CAEAGLLayer 转换来旋转它。

② GLSL 实现图片渲染的思路

  • 创建图层:重写 layerClass,将 YDWVie
  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

╰つ栺尖篴夢ゞ

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值