OpenGL的客户端和服务器模式
#####OpenGL的客户端和服务器模式
在一台工作站上,绘图的整个过程不过是把数据从系统的内存中复制到图形卡中,然后绘制出图形。
但openGL是按照客户机-服务器模式设计的。我们认为可以将整个OpenGL系统分为两部分,一部分是客户端,它负责发送OpenGL命令。一部分是服务端,它负责接收OpenGL命令并执行相应的操作。比如我们编写的程序就是一个客户端,而我们的计算机图形硬件制造商提供的OpenGL的实现就是服务器。
对于个人计算机来说,可以将CPU、内存等硬件,以及用户编写的OpenGL程序看做客户端,而将OpenGL驱动程序、显示设备等看做服务端。
#####知识补充:
######顶点数组和显示列表
两者都可以明显的减少函数的调用次数,但是还是各有优点的。
- 对于顶点数组,顶点数据是存放在内存中的,也就是存放在客户端。每次绘制的时候,需要把所有的顶点数据从客户端(内存)发送到服务端(显示设备),然后进行处理,所以可以随时修改,每次绘制的时候都会把当前数组中的内容作为顶点数据发送并进行绘制。
- 对于显示列表,所有的顶点数据和像素数据被复制到位于服务器端的显示列表内存中。所以不会重复的发送数据。数据已经存放到服务器端,并且无法取出、无法修改。
也就是说,显示列表可以避免数据的重复发送,效率会较高;顶点数组虽然会重复的发送数据,但由于数据可以随时修改,灵活性较好。
######顶点缓冲区对象
前面说到顶点数组和显示列表在绘制立方体时各有优劣,那么有没有办法将它们的优点集中到一起,并且尽可能的减少缺点呢?顶点缓冲区对象就是为了解决这个问题而诞生的。它数据存放在服务端,同时也允许客户端灵活的修改,兼顾了运行效率和灵活性。
OpenGL的客户端和服务器模式相关推荐
- CS模式和BS模式的区别(并从几个角度说明BS是如何完成客户端和服务器的交互)
客户端和服务器 模式:C/S=Client/Server 协议:TCP/IP协议 [IP属于网络层协议/TCP属于传输层协议] ,socket实现协议 客户端和服务器 模式:B/S模式:browser ...
- bs架构的系统需要服务器吗,bs架构客户端和服务器
bs架构客户端和服务器 内容精选 换一换 该操作指导安装工程师安装MRS集群所有服务(不包含Flume)的客户端.MRS针对不同服务提供了Shell脚本,供开发维护人员在不同场景下登录其对应的服务维护 ...
- 客户端/服务器模式下,pvpython操作完数据后,paraview客户端未响应
In client / server mode, the paraview client does not respond after pvpython completes data operatio ...
- 从客户端登陆服务器的配置文件,BLE模式和配置文件
BLE模式和配置文件(原文) 本文档探讨了BLE如何工作,特别是如何将两种BLE模式(连接和广告)用于不同的目的. 外围设备和中央设备vs服务器和客户端 当我们通过BLE连接设备时,我们将它们视为外设 ...
- [ESP8266]--开启服务器模式和客户端模式
[ESP8266]--开启服务器模式和客户端模式 版权声明:本文为博主原创文章,欢迎转载,转载请注明出处. https://blog.csdn.net/wangyijieonline/article/ ...
- ntp协议客户端服务器模式,思科配置NTP客户端服务器模式
思科配置NTP客户端服务器模式 内容精选 换一换 该操作指导安装工程师安装MRS集群所有服务(不包含Flume)的客户端.MRS针对不同服务提供了Shell脚本,供开发维护人员在不同场景下登录其对应的 ...
- 服务器 销售 库存 管理,Cnet客户端服务器模式库存管理完整.doc
Cnet客户端服务器模式库存管理完整 个人收集整理 勿做商业用途 个人收集整理 勿做商业用途 PAGE / NUMPAGES 个人收集整理 勿做商业用途 Xxx大学xxx学院 <ERP-库存管理 ...
- 安卓端和服务器端通信协议,安卓客户端和服务器如何通信协议
安卓客户端和服务器如何通信协议 内容精选 换一换 华为云ROMA Connect服务帮助中心,为用户提供产品简介.价格说明.购买指南.用户指南.API参考.最佳实践.常见问题.视频帮助等技术文档,帮助 ...
- redis(12)--事件,客户端,服务器
目录 事件 文件事件 读事件 写事件 同时关联写事件和读事件 时间事件 实现 服务器常规操作 事件的执行与调度 客户端 客户端属性 套接字描述符 名字 标志 输入缓冲区 命令与命令参数 命令的实现函数 ...
最新文章
- redis 槽点重新分配 集群_5000+字硬核干货!Redis 分布式集群部署实战
- [阅读笔记]Zhang Y. 3D Information Extraction Based on GPU.2010.
- python在命令端口运行脚本_扫描端口占用情况的python脚本
- 解决方案:布隆过滤器(Bloom Filter)
- ft232h引脚_一种基于芯片ft232h的usb接口电路的制作方法
- 一篇关于我是怎么理解喜欢上并且做好前端开发工作的文档
- redis php教程pdf,ThinkPHP中简单使用Redis
- Linux怎么修改用户密码
- libtool的作用及应用【转载】
- for命令linux,linux命令:for循环(示例代码)
- PCIe协议中的电源管理概述
- MATLAB卷积动画演示
- Oracle DBA 路途遥远
- weak的创建与释放
- MySQL超市会员管理系统_PHP+MYSQL药店会员管理系统的设计与实现
- 荣耀8一下显示无服务器,买到荣耀手机后,不打开这七个功能你就亏了!
- QTableWidgetQTableView表格美化
- 用我这些年的经历告诉你无力吐槽的自动化现状……
- 叮咚!您有蜡笔射手等五个新的软件,请注意查收哦
- 因向欺诈者出售数据,Epsilon向美国司法部支付1.5亿美元罚款