Note - Shader - 2
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相关推荐
- 【Unity3D Shader编程】之十一 深入理解Unity5中的Standard Shader(三)屏幕像素化特效的实现
本系列文章由@浅墨_毛星云 出品,转载请注明出处. 文章链接: http://blog.csdn.net/poem_qianmo/article/details/50095705 作者:毛星云 ...
- Unity shader Note :高级纹理(CubeMap反射折射菲涅尔,Rendermap镜子玻璃,程序纹理)
1.Cubemap–反射折射 使用脚本来创建Cubemap ①通过Camera.RenderToCubemap 把任意位置观察到的场景图制作成一张Cubemap之中 ②脚本使用自定义编译窗体的命令 – ...
- Unity shader学习之屏幕后期处理效果之高斯模糊
高斯模糊,见 百度百科. 也使用卷积来实现,每个卷积元素的公式为: 其中б是标准方差,一般取值为1. x和y分别对应当前位置到卷积中心的整数距离. 由于需要对高斯核中的权重进行归一化,即使所有权重相加 ...
- OpenGL:着色器shader
参考资料:https://learnopengl-cn.github.io/01%20Getting%20started/05%20Shaders/ 着色器基本描述 首先看一个着色器 #version ...
- CocosCreator2.1.0渲染流程与shader
CocosCreator2.1.0版本正式支持导入3D模型 对于2.5D游戏的开发来说有着重要意义 自己此前在写捕鱼游戏时了解过自定义shader 并实现了4种不同的水波效果 但经过CocosCrea ...
- Unity shader学习之Grab Pass实现玻璃效果
GrabPass可将当前屏幕的图像绘制在一张纹理中,可用来实现玻璃效果. 转载请注明出处:http://www.cnblogs.com/jietian331/p/7201324.html shader ...
- 【Unity Shader】(六) ------ 复杂的光照(上)
笔者使用的是 Unity 2018.2.0f2 + VS2017,建议读者使用与 Unity 2018 相近的版本,避免一些因为版本不一致而出现的问题. [Unity Sha ...
- 【Aladdin Unity3D Shader编程】之三 光照模型(二)
高光反射模型 Specular=直射光*pow(cosθ,高光的参数) θ:是反射光和视野方向的夹角 编写高光反射Shader Shader "AladdinShader/07 Specul ...
- unity描边发光shader_unity shader实例#1 轮廓渲染-描边
本文主要来讲几种描边的实现方法 1.法线外扩 一般期望的描边效果,就是在模型外面有一圈选边,因此我们可以把模型扩大一点点,利用这个扩大的边缘来实现描边效果.可以看出,扩大的方向其实就是法线的方向,边缘 ...
最新文章
- stm32硬件消抖_在 STM32 上使用 C++ 指南
- 你的4nm安卓旗舰芯片来了!骁龙8 Gen 1:支持8K HDR,功耗降30%,雷军:小米12首发...
- 单片微机原理P4:80C51串口与串行总线拓展
- 一个历史遗留项目清理总结
- sql数据黑马程序员——SQL入门
- 10-4 6-4 查询厂商“D“生产的PC和便携式电脑的平均价格 (10 分)思路+详解+测试用例
- 华科开源多目标跟踪(MOT)实时新SOTA:FairMOT
- winform 窗体中 Time 控件的用法
- ThinkPad R400 安装win2003网卡驱动
- 联通eSIM卡哪些城市可以开通办理
- Apache Shiro SessionManager配置详解.
- 如何使用SIOS DataKeeper在AWS EC2中配置较少SANSQL Server群集
- Android的清单文件添加百度地图SDK
- 四川的软考成绩终于出来了
- 人体的神经系统图 分布,人体神经图分布图高清
- NOIP总结与反思及对今后的期望
- 如何通过蒲公英批量获取iPhone设备的udid
- 基于ThinkPHP6搭建的后台管理系统
- 一个女留学生在美国的七年(转载)
- Ubuntu 18.04 桌面卡死
热门文章
- c++内联函数解析(inline)
- android 动画 图片 内存溢出,Android有效解决加载大图片时内存溢出的问题
- 对HTML标记的理解,初学者接触HTML了解一些HTML标记(1)
- java 将一串字符串 转换成_简单几步,教你如何轻松的将Java中的字符串转换为Integer,你学会了吗?...
- java界面布局都有什么_java入門教程-10.5Java圖形界面之布局設計
- python学习笔记之random模块
- BZOJ.2000.[HNOI2010]stone取石头游戏(博弈)
- Linux下如何查看哪些进程占用的CPU内存资源最多
- CMake with WinMinGW
- HTML5 Canvas 绘图