@[TOC] shader 关键字
原文链接:http://www.aclockworkberry.com/shader-derivative-functions/#footnote_3_1104

导数运算
在三角形光栅化期间,gpu一次运行多个片段着色器的实例,每个实例是2×2像素块。导数就是计算像素块中的像素值的差异。如下图所示:

ddx:像素右侧减去左边的像素差
ddy:像素下方减去上方的像素差

应用:
1.mipmaps 应用
在纹理采样中,根据UV的导数来选择mipmap等级,导数越大,mipmap等级值越高,反义亦然。

2.法线计算
法线等于ddx和ddy的叉乘:normalize( cross(ddx(pos), ddy(pos)) );
ps:在HlSL上面,或者Unity上面要写成normalize( cross(ddy(pos),ddx(pos)) )

3.[branch]
不能在[branch]的分支中使用,会报错。

4.块对齐

【关键字】ddx ddy 导数函数相关推荐

  1. hlsl函数 ddx ddy

    hlsl函数 ddx ddy 这两条指令用于对指定的寄存器,求其值在临近像素上的变化率,因为纹理坐标的梯度可以用来确定纹理当前被缩放的程度,可用该值来计算Mip层,另外它也可以用来计算Texel的跨越 ...

  2. C for Graphic:ddx/ddy

    最近有被群里好友问ddx/ddy的问题,本着帮助他人且提升自己的初衷,来一篇博客. ddx(a):returns approximate partial derivative with respect ...

  3. Unity Shader - ddx/ddy偏导函数测试,实现:锐化、高度图、Flat shading应用、高度生成法线

    文章目录 ddx, ddy 说明 DirectX - ddx, ddy OpenGL - dFdx, dFdy 伪代码表示 可用它来做什么 简单的边缘突出应用 Shader 边缘突出-锐化-增加差值 ...

  4. 关于ddx/ddy重建法线在edge边沿上的artifacts问题

    经验证,原来ddx/ddy这两个操作,在forward rendering与deferred rendering中存在着微妙的应用区别. 在forward rendering中,GPU shader会 ...

  5. C语言再学习 -- 关键字return和exit ()函数

    终于到了最后一个关键字 return 了.感觉时间过的飞快,转眼间又是一年,如果时间可以 return 就好了. 一.return 介绍 参看:C语言中return 用法 1.含义: return 表 ...

  6. 递归重入c语言延时函数多任务程序设计中的函数重入问题按照Keil的规范对函数添加关键字“reentrant”,将函数定义为可重入的 void Delay_MS(x) reentrant

    c语言延时函数_子牙篇(2)多任务程序设计中的函数重入问题 weixin_39559333 2020-11-29 09:07:44  39  收藏 文章标签: c语言延时函数 c语言延时函数delay ...

  7. HLSL 偏导数 ddx / ddy

    [HLSL ddx / ddy] 在光栅化的时刻,GPUs会在同一时刻并行运行很多Fragment Shader,但是并不是一个pixel一个pixel去执行的,而是将其组织在2x2的一组pixels ...

  8. 使用C++制作一个搜索关键字并能输出关键字所在字段的函数

    可以使用C语言制作一个搜索关键字并能输出关键字所在字段的函数,具体步骤如下: 定义函数名和参数.可以定义一个函数名为search_keyword,需要传入三个参数:待搜索的字符串数组(例如,char ...

  9. python中定义函数常用关键字_Python 中定义函数的关键字是 _________________ 。_学小易找答案...

    [其它]实验4-串和数组-实验任务书.docx [填空题]表达式 'abc' in ['abcdefg'] 的值为______________. [填空题]已知 x = range(1,4) 和 y ...

最新文章

  1. Python69个内置函数分类总结
  2. C#中控制窗体的显示与隐藏
  3. 实验结果报告与实验总结_教科版科学四年级上册实验报告
  4. leetcode 877. Stone Game | 877. 石子游戏(递归/动态规划/数学解法)
  5. 《数据结构》—— 串,KMP模式算法(转载)
  6. redhat 挂载 iso文件 提示 mount :not a directory
  7. linux 统计目录大小并按大小排序
  8. java的网络功能与编程_Java的网络功能与编程(转载)
  9. 董明珠回应口罩预约不到:没想到几十万人预约 正提高产能
  10. Linux内核设计第四周——扒开系统调用三层皮
  11. oracle11g更改字符集AL32UTF8为ZHS16GBK及创建用户、删除用户
  12. 有趣的python代码实例_Python之路:200个Python有趣的小例子一网打尽
  13. Linux tree 命令乱码
  14. 符合c语言语法规定的是,若变量已正确定义并赋值,符合C语言语法的表达式是 A。a=a+7; B.a=7+b+c,a++...
  15. 【调剂】广东海洋大学与湛江湾实验室2020年联合培养硕士研究生招生章程
  16. 计算机网络军训口号,关于物联网的军训口号
  17. Ansible配置执行远程主机的ssh端口号
  18. 100秒图解区块链:从共享乘车到总统大选,它将如何颠覆世界?
  19. 非暴力沟通——读后感
  20. 强化学习的基本求解方法(二)

热门文章

  1. office972003_Microsoft Office Word 97-2003 文档
  2. 论文的系统 排版软件Latex
  3. ubuntu系统文件清理
  4. Modern love 年度最暖心美剧
  5. 使用openpyxl进行多个excel数据合并
  6. MySQL —— 初识MySQL
  7. B: 火车站(stack)
  8. php实现的几种基本算法
  9. Speedoffice(word)如何调整页眉位置
  10. 区块链加/解密:对称加密