一、OpenGL: Open Graphics Library -- 开放图形库

用于渲染2D、3D矢量图形的跨语言、跨平台的应用程序编程api。由近350个不同的函数调用组成,用来绘制从简单的图形到比较复杂的三维图形。

OpenGL可以直接控制GPU渲染图形。

二、shader(着色器)

  随着GPU的发展,GPU加入了可编程处理器(shader),开发人员可直接控制GPU的行为。

  shader出现之后,GPU上增加可编程处理器,就有类似GLSL的GPU编程语言。

  所谓Shader,就是控制GPU的一堆指令集,程序员写出shader,输入到GPU中,GPU执行。

  早期的Shader是直接使用汇编, 后来OpenGL ARB组织开发了一种新的编程语言,叫做GLSL(OpenGL shading language). 该语言类似于C风格,程序员们就可以很方便的写出可直接控制GPU的代码了。

所谓控制GPU,就是控制GPU的处理器,现阶段,GPU有以下几个处理器:

 1. Vertext processor(顶点处理器)

 2. Tessellation Control processor(曲面控制处理器)

 3. Tessellation Evaluation processor(曲面细分处理器)

 4. Geometry processor(几何处理器)

 5. Fragment processor(片元处理器)

于是,shader就分为:

 1. Vertext shader(顶点着色器)

 2. Tessellation Control shader(曲面控制着色器)

 3. Tessellation Evaluation shader(曲面细分着色器)

 4. Geometry shader(几何着色器)

 5. Fragment shader(片元着色器)

OpenGL与shader区别(三十一)相关推荐

  1. OpenCV学习笔记(三十一)——让demo在他人电脑跑起来 OpenCV学习笔记(三十二)——制作静态库的demo,没有dll也能hold住 OpenCV学习笔记(三十三)——用haar特征训练自己

    OpenCV学习笔记(三十一)--让demo在他人电脑跑起来 这一节的内容感觉比较土鳖.这从来就是一个老生常谈的问题.学MFC的时候就知道这个事情了,那时候记得老师强调多次,如果写的demo想在人家那 ...

  2. 【Unity3D Shader编程】之五 圣诞夜篇 Unity中Shader的三种形态对比 混合操作合辑

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 本系列文 ...

  3. 【Modern OpenGL】Shader

    Shaders 正如在上一篇教程中提到的,shader是在GPU中运行的小程序.如上一个教程中实现的最简单的vertex shader和fragment shader,一个shader基本上负责图形渲 ...

  4. FreeSql (三十一)分区分表

    分区 分区就是把一个数据表的文件和索引分散存储在不同的物理文件中.把一张表的数据分成N多个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上,数据库不同实现方式有所不同. 与分表不同,一张大表进行 ...

  5. 程序员编程艺术第三十 三十一章 字符串转换成整数,通配符字符串匹配

    分享一下我老师大神的人工智能教程!零基础,通俗易懂!http://blog.csdn.net/jiangjunshow 也欢迎大家转载本篇文章.分享知识,造福人民,实现我们中华民族伟大复兴! 第三十~ ...

  6. 【正点原子STM32连载】 第三十一章 ADC实验 摘自【正点原子】MiniPro STM32H750 开发指南_V1.1

    1)实验平台:正点原子MiniPro H750开发板 2)平台购买地址:https://detail.tmall.com/item.htm?id=677017430560 3)全套实验源码+手册+视频 ...

  7. 偷学Python第三十一天:Python正则表达式的语法以及re模块的使用

    偷学Python第三十一天:Python正则表达式的语法以及re模块的使用 古之立大事者,不惟有超世之才,亦必有坚忍不拔之志.--苏轼 文章目录 偷学Python第三十一天:Python正则表达式的语 ...

  8. 【正点原子Linux连载】第三十一章 U-Boot顶层Makefile详解 -摘自【正点原子】I.MX6U嵌入式Linux驱动开发指南V1.0

    1)实验平台:正点原子阿尔法Linux开发板 2)平台购买地址:https://item.taobao.com/item.htm?id=603672744434 2)全套实验源码+手册+视频下载地址: ...

  9. 《快速掌握PyQt5》第三十一章 绘图与打印

    第三十一章 绘图与打印 31.1 画笔.画刷和字体 31.2 利用双缓冲技术实现实时绘图 31.3 解决重影问题 31.4 打印 31.5 小结 绘图操作主要通过QPainter类来进行,通过该类我们 ...

最新文章

  1. 2021年大数据HBase(二):HBase集群安装操作
  2. golang内存对齐
  3. C++ 11 笔记 (四) : std::bind
  4. sql server 2008学习4 设计索引的建议
  5. asp.net 返回超时的解决方法
  6. markdown 语法_Markdown 基本语法
  7. java中簇如何表示_聚簇索引和非聚簇索引实际上是什么意思?
  8. python全栈索引
  9. 大智慧c语言dll,dzh2 大智慧dll 插件 - 下载 - 搜珍网
  10. 在 Coding 上搭建 Hexo 个人博客!
  11. MySQL(八)事务的隔离级别
  12. linux shell 脚本中变量截取
  13. 太强了!这款轻量级的数据库中间件完美解决了SpringBoot中分库分表问题?
  14. arduino烧录_如何给AVR单片机烧录程序
  15. 联想G480安装CentOS电缆驱动器
  16. UltraCompare无限30天试用的方法
  17. TMS320F28379D创建工程
  18. 安卓psp模拟器联机教程_侠盗猎车手:血战唐人街PSP版模拟器实测 有链接,有联机教程...
  19. python字符串前面u、r、b含义以及str、bytes互转
  20. Taro开发微信小程序实现简单的登录退出功能

热门文章

  1. unbantu安装 mysql --- 百度云
  2. Spring Security 5.0.0正式发布
  3. docker容器的使用
  4. 学习linux—— 磁盘相关指令
  5. 《使命召唤7:黑色行动》有什么简单办法进入僵尸模式
  6. 我滴个乖乖,一万三千颗卫星那
  7. 一段MYSQL的插入代码
  8. 【Qtcreator】qtcreator的基本使用方法
  9. 【现代机器人学】名词概念的理解
  10. java自带日志等级_JDK日志分级