24. DDX和DDY |
您所在的位置:网站首页 › ddy大于ddx › 24. DDX和DDY |
目的 DDX DDY是什么? DDX 和DDY有什么作用? 介绍 | 偏导函数DDX 和DDY是做查找斜率的节点, 在数学上:导数就是函数的变化率。几何意义是固定面上一点的斜率。 查找斜率需要两个数据,从一个值减去另一个值就可以计算出之间的差距。 偏导数计算我们知道在光栅化的时刻,GPUs会在同一时刻并行运行很多Fragment Shader,但是并不是一个pixel一个pixel去执行的,而是将其组织在2x2的一组pixels分块中,去并行执行。而偏导数就正好是计算的这一块像素中的变化率。从上图可以看出来ddx 就是右边的像素块的值减去左边像素块的值,而ddy就是下面像素块的值减去上面像素块的值。其中的x,y代表的是屏幕坐标。 该值属于以红色突出显示的 2×2 块 ddx是右减左的差值 ddy是下减上的差值 注意:偏导数ddx/y可以计算我们FragmentShader中任意的变量。向量,矩阵等等。 验证使用UV 执行节点,通过数值显示 效果 黑白边界是有0-1变化,因此使用DDX计算出一条垂直的直线。 示例:计算面的法线面法线方向 我们使用DDX和DDY计算出全局空间中2个像素之间的坐标差值,计算出2个向量, 这俩个向量都是在这个三角形的平面上,使用Cross节点求出这个面的法线向量。在使用转换转换功能把世界空间下的法线转换成切线空间下。 这样效果就完成,实现了不平滑的效果。 示例:描边效果左边缘和上边缘是差值为正数的像素,右边缘和下边缘是差值为负数的像素,纯色的区域差值为0,因此分别取绝对值后加一起,不为0的像素就是边缘。 总结DDX,DDY是偏导函数, DDX和DDY可以重建法线出现问题。 资料着色器导数函数简介|发条浆果 (aclockworkberry.com) (51条消息) Unity Shader - ddx/ddy偏导函数测试,实现:锐化、高度图、Flat shading应用、高度生成法线_Jave.Lin的博客-CSDN博客_ddx ddy unity |
CopyRight 2018-2019 办公设备维修网 版权所有 豫ICP备15022753号-3 |