OpenGL:
*glflush(),glfinish()必要時才用

GLSL:
*primitive shader
沒有統一規格

*vertex stream會提供一些vertex infomation給vertex shader

*pixel
shader 吃vertex shader output

*pixel shader
不能額外宣告output

*gl_fragcolor一定會出現在pixel shader

*dynamic array
能利用的只有register(register 太小),所以不支援dynamic

OpenGL shading language
變數型態:

*attribute:vertex stream input

*varying(vertex shader和pixel
shader 溝通之變數)
vertex shader output & pixel shader
input

*uniform:此變數型態從暫存器抓input
data,多用於存共用之變數

*constant:類似uniform,但不能改其值

*flow control(if
else....):performance low

*program是用來link vertex and pixel
shader,可以有很多個,不同的組合(vertex+pixel),可連到不
同的program

fixed pipeline:
*先projection再clipping
*rasterization->frame
buffer->show image
*transform之目的:3d->2d的方便性 (screen
mapping才將3d->2d)
*pre-vertex operations->texture coordinate
*opengl
pipeline 流程取自HW
*pre-fragment operations:作一系列TEST,決定目前的fragme
(pixel+colorinformation ......) 是否取代frame buffer
對應之點

GPUS(programmable pipeline):
*directx主導3d
api
*programmable pipeline 和 fixed pipeline 的差別在於中間流程可寫入memory
*vertex
shader:不能分辨primitive,看成多個點,可平行計算
*primitive
shader:可知道vertex間的相互關係,也是平行化計算(以primitive為單位)
*animation in primitive
shader
*rasterization:算primitive cover 多少pixels
*fragment shader:處理 pixels
(平行化計算)

转载于:https://www.cnblogs.com/GameJan/archive/2011/06/26/2090942.html

Note - Shader - 2相关推荐

  1. 【Unity3D Shader编程】之十一 深入理解Unity5中的Standard Shader(三)屏幕像素化特效的实现

    本系列文章由@浅墨_毛星云 出品,转载请注明出处.    文章链接:  http://blog.csdn.net/poem_qianmo/article/details/50095705 作者:毛星云 ...

  2. Unity shader Note :高级纹理(CubeMap反射折射菲涅尔,Rendermap镜子玻璃,程序纹理)

    1.Cubemap–反射折射 使用脚本来创建Cubemap ①通过Camera.RenderToCubemap 把任意位置观察到的场景图制作成一张Cubemap之中 ②脚本使用自定义编译窗体的命令 – ...

  3. Unity shader学习之屏幕后期处理效果之高斯模糊

    高斯模糊,见 百度百科. 也使用卷积来实现,每个卷积元素的公式为: 其中б是标准方差,一般取值为1. x和y分别对应当前位置到卷积中心的整数距离. 由于需要对高斯核中的权重进行归一化,即使所有权重相加 ...

  4. OpenGL:着色器shader

    参考资料:https://learnopengl-cn.github.io/01%20Getting%20started/05%20Shaders/ 着色器基本描述 首先看一个着色器 #version ...

  5. CocosCreator2.1.0渲染流程与shader

    CocosCreator2.1.0版本正式支持导入3D模型 对于2.5D游戏的开发来说有着重要意义 自己此前在写捕鱼游戏时了解过自定义shader 并实现了4种不同的水波效果 但经过CocosCrea ...

  6. Unity shader学习之Grab Pass实现玻璃效果

    GrabPass可将当前屏幕的图像绘制在一张纹理中,可用来实现玻璃效果. 转载请注明出处:http://www.cnblogs.com/jietian331/p/7201324.html shader ...

  7. 【Unity Shader】(六) ------ 复杂的光照(上)

    笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题.              [Unity Sha ...

  8. 【Aladdin Unity3D Shader编程】之三 光照模型(二)

    高光反射模型 Specular=直射光*pow(cosθ,高光的参数) θ:是反射光和视野方向的夹角 编写高光反射Shader Shader "AladdinShader/07 Specul ...

  9. unity描边发光shader_unity shader实例#1 轮廓渲染-描边

    本文主要来讲几种描边的实现方法 1.法线外扩 一般期望的描边效果,就是在模型外面有一圈选边,因此我们可以把模型扩大一点点,利用这个扩大的边缘来实现描边效果.可以看出,扩大的方向其实就是法线的方向,边缘 ...

最新文章

  1. stm32硬件消抖_在 STM32 上使用 C++ 指南
  2. 你的4nm安卓旗舰芯片来了!骁龙8 Gen 1:支持8K HDR,功耗降30%,雷军:小米12首发...
  3. 单片微机原理P4:80C51串口与串行总线拓展
  4. 一个历史遗留项目清理总结
  5. sql数据黑马程序员——SQL入门
  6. 10-4 6-4 查询厂商“D“生产的PC和便携式电脑的平均价格 (10 分)思路+详解+测试用例
  7. 华科开源多目标跟踪(MOT)实时新SOTA:FairMOT
  8. winform 窗体中 Time 控件的用法
  9. ThinkPad R400 安装win2003网卡驱动
  10. 联通eSIM卡哪些城市可以开通办理
  11. Apache Shiro SessionManager配置详解.
  12. 如何使用SIOS DataKeeper在AWS EC2中配置较少SANSQL Server群集
  13. Android的清单文件添加百度地图SDK
  14. 四川的软考成绩终于出来了
  15. 人体的神经系统图 分布,人体神经图分布图高清
  16. NOIP总结与反思及对今后的期望
  17. 如何通过蒲公英批量获取iPhone设备的udid
  18. 基于ThinkPHP6搭建的后台管理系统
  19. 一个女留学生在美国的七年(转载)
  20. Ubuntu 18.04 桌面卡死

热门文章

  1. c++内联函数解析(inline)
  2. android 动画 图片 内存溢出,Android有效解决加载大图片时内存溢出的问题
  3. 对HTML标记的理解,初学者接触HTML了解一些HTML标记(1)
  4. java 将一串字符串 转换成_简单几步,教你如何轻松的将Java中的字符串转换为Integer,你学会了吗?...
  5. java界面布局都有什么_java入門教程-10.5Java圖形界面之布局設計
  6. python学习笔记之random模块
  7. BZOJ.2000.[HNOI2010]stone取石头游戏(博弈)
  8. Linux下如何查看哪些进程占用的CPU内存资源最多
  9. CMake with WinMinGW
  10. HTML5 Canvas 绘图