iOS视觉 OpenGL初探

本文深入探讨了iOS开发中的OpenGL图形API,包括其作用、专业名词解析,如上下文、状态机、渲染管线、顶点着色器和片元着色器等。详细阐述了从图片文件到屏幕渲染的过程,涉及坐标系统变换和着色器的渲染流程。
摘要由CSDN通过智能技术生成

1、图形API

1.1 图形API简介

  • OpenGL是一个跨编程语言、跨平台的编程图形程序接口

  • OpenGL ESOpenGL三维图形API的自己,针对 手机、PDA和游戏主机等嵌入式设备而设计的,去除了很多不必要觉和性能较低的API接口

  • DirectX是由很多API组成的, DirectX并不是一个单纯的图形API。最重要的是 DirectX是属于Windows上一个多媒体处理框架,并不支持Windows以外的平台

  • Metal是Apple为游戏开发者退出的新的平台技术,该技术能为3D图像提高10倍的渲染性能

1.2 图形API作用

简单来说就是 实现图形的底层渲染

  • 比如在游戏开发中对于游戏场景/游戏人物的渲染

  • 比如在音视频开发中对于视频解码后的数据渲染

  • 比如在地图引擎对于地图上的数据渲染

  • 比如在动画中实现动画的绘制

  • 比如在视频处理中对于视频加上滤镜效果

OpenGL/OpenGL ES/Metal 在任何项目中解决问题的本质——利用 GPU芯片来高效渲染图形图像

图形API是iOS开发者唯一接近GPU的方式

2、OpenGL下专业名词

  • OpenGL上下文

    Context
    • 上下文是一个非常庞大的状态机,保存了OpenGL中的各种状态

    • 不管在哪个语言中,都是类似C语言一样面向过程的函数

  • OpenGL状态机

    描述了一个对象的生命周期经历各种状态发生转变时的动因、条件及转变中所执行的活动

    • 有记忆功能,能记住其当前的状态(如当前所使用的颜色、是否开始了混合功能等)

      • glClearColor(1,1,1,1)设置颜色

      • glEable(GL_DEPTH_TEST)开启深度测试

      • glEable(GL_BLEND)开启混合

    • 可以接收输入,根据输入的内容和自己的原先状态,修改自己当前状态,并且可以有对应输出

    • 当进入特殊状态(停机状态)时便不再接收输入,停止工作

  • 渲染:将图形/图像数据转换成3D空间图像的操作叫做渲染(Rendering)即 数据->可视化界面的过程,也就是我们口中所说的 绘制

  • 顶点数组

    (VertexArray)和

    顶点缓冲区

    (VertexBuffer):

    • 顶点数据是由GPU处理的

    • 顶点数组是存在内存中,GPU通过操作内存来处理顶点数据

    • 顶点缓冲区存在显卡显存中

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值