OpenGL简介

一、OpenGL的CS模型

OpenGL采用的是客户端与服务端模型。当应用调用OpenGL函数时,会告知OpenGL客户端,再由客户端发送绘制命令给OpenGL服务端。

CS模型——来源于Apple官方文档

客户端、服务端和传输管线 可以根据具体需要具体实施。
1、分离模式
客户端和服务端不在同一台计算机上
2、组合模式
客户端和服务端在同一台计算机上
例如:
Mac硬件架构图:
来源于Apple官方文档

二、OpenGL命令异步执行

1、异步(Asynchronously)
应用发送OpenGL命令的之后,将命令传递给OpenGL客户端,客户端不会等待绘制完成才返回,而是在OpenGL服务端完成之前就会返回。即是异步绘制。
2、可能延时执行(Delay execute)
OpenGL客户端可能会缓存命令,推迟发送给OpenGL服务端。这是因为防止客户端和服务端之间的频繁同步。详细设计策略见另一篇文章。

三、顺序执行

先发送的先执行,发送顺序不会被打乱。

四、客户端的数据即刻传输

在控制权返回给应用之前,OpenGL客户端会复制应用通过参数传递进来的数据。
复制数据至客户端

在客户端在将数据传递给服务端之前一般会被格式化。之后传输到服务端,传输的过程会增加额外的开销,所以尽量使数据大小最小化。

五、依赖载体操作系统的关键功能

不要企图去与干扰载体操作系统的图像绘制子系统。

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

推荐阅读更多精彩内容

  • 1 前言 一直想沿着图像处理这条线建立一套完整的理论知识体系,同时积累实际应用经验。因此有了从使用AVFounda...
    RichardJieChen阅读 5,845评论 5 12
  • Spring Cloud为开发人员提供了快速构建分布式系统中一些常见模式的工具(例如配置管理,服务发现,断路器,智...
    卡卡罗2017阅读 135,256评论 19 139
  • Android 自定义View的各种姿势1 Activity的显示之ViewRootImpl详解 Activity...
    passiontim阅读 174,530评论 25 709
  • 今天是女儿八岁的生日,又长大了一岁,孩子也懂事了。 因为忙于工作,今年的生日似乎很平淡,没有礼物,没有惊喜,没有伙...
    远方文学苗苗老师阅读 405评论 3 2
  • 莫名我就喜欢你 深深地爱上你 没有理由 没有原因 姜榆在毕业那天 将这首歌唱歌了他的里里 他知道这次离别 可能会是...
    赖不赖先森阅读 256评论 0 0