【关键字】ddx ddy 导数函数
@[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 导数函数相关推荐
- hlsl函数 ddx ddy
hlsl函数 ddx ddy 这两条指令用于对指定的寄存器,求其值在临近像素上的变化率,因为纹理坐标的梯度可以用来确定纹理当前被缩放的程度,可用该值来计算Mip层,另外它也可以用来计算Texel的跨越 ...
- C for Graphic:ddx/ddy
最近有被群里好友问ddx/ddy的问题,本着帮助他人且提升自己的初衷,来一篇博客. ddx(a):returns approximate partial derivative with respect ...
- Unity Shader - ddx/ddy偏导函数测试,实现:锐化、高度图、Flat shading应用、高度生成法线
文章目录 ddx, ddy 说明 DirectX - ddx, ddy OpenGL - dFdx, dFdy 伪代码表示 可用它来做什么 简单的边缘突出应用 Shader 边缘突出-锐化-增加差值 ...
- 关于ddx/ddy重建法线在edge边沿上的artifacts问题
经验证,原来ddx/ddy这两个操作,在forward rendering与deferred rendering中存在着微妙的应用区别. 在forward rendering中,GPU shader会 ...
- C语言再学习 -- 关键字return和exit ()函数
终于到了最后一个关键字 return 了.感觉时间过的飞快,转眼间又是一年,如果时间可以 return 就好了. 一.return 介绍 参看:C语言中return 用法 1.含义: return 表 ...
- 递归重入c语言延时函数多任务程序设计中的函数重入问题按照Keil的规范对函数添加关键字“reentrant”,将函数定义为可重入的 void Delay_MS(x) reentrant
c语言延时函数_子牙篇(2)多任务程序设计中的函数重入问题 weixin_39559333 2020-11-29 09:07:44 39 收藏 文章标签: c语言延时函数 c语言延时函数delay ...
- HLSL 偏导数 ddx / ddy
[HLSL ddx / ddy] 在光栅化的时刻,GPUs会在同一时刻并行运行很多Fragment Shader,但是并不是一个pixel一个pixel去执行的,而是将其组织在2x2的一组pixels ...
- 使用C++制作一个搜索关键字并能输出关键字所在字段的函数
可以使用C语言制作一个搜索关键字并能输出关键字所在字段的函数,具体步骤如下: 定义函数名和参数.可以定义一个函数名为search_keyword,需要传入三个参数:待搜索的字符串数组(例如,char ...
- python中定义函数常用关键字_Python 中定义函数的关键字是 _________________ 。_学小易找答案...
[其它]实验4-串和数组-实验任务书.docx [填空题]表达式 'abc' in ['abcdefg'] 的值为______________. [填空题]已知 x = range(1,4) 和 y ...
最新文章
- Python69个内置函数分类总结
- C#中控制窗体的显示与隐藏
- 实验结果报告与实验总结_教科版科学四年级上册实验报告
- leetcode 877. Stone Game | 877. 石子游戏(递归/动态规划/数学解法)
- 《数据结构》—— 串,KMP模式算法(转载)
- redhat 挂载 iso文件 提示 mount :not a directory
- linux 统计目录大小并按大小排序
- java的网络功能与编程_Java的网络功能与编程(转载)
- 董明珠回应口罩预约不到:没想到几十万人预约 正提高产能
- Linux内核设计第四周——扒开系统调用三层皮
- oracle11g更改字符集AL32UTF8为ZHS16GBK及创建用户、删除用户
- 有趣的python代码实例_Python之路:200个Python有趣的小例子一网打尽
- Linux tree 命令乱码
- 符合c语言语法规定的是,若变量已正确定义并赋值,符合C语言语法的表达式是 A。a=a+7; B.a=7+b+c,a++...
- 【调剂】广东海洋大学与湛江湾实验室2020年联合培养硕士研究生招生章程
- 计算机网络军训口号,关于物联网的军训口号
- Ansible配置执行远程主机的ssh端口号
- 100秒图解区块链:从共享乘车到总统大选,它将如何颠覆世界?
- 非暴力沟通——读后感
- 强化学习的基本求解方法(二)