中文第一计算机图形学社区OpenGPU 版权所有2007-2018

 找回密码
 注册

扫一扫,访问微社区

搜索
查看: 314|回复: 0

如何理解ddx ddy的计算公式?

[复制链接]
发表于 2018-1-31 10:34:51 | 显示全部楼层 |阅读模式
本帖最后由 Nanhu2012 于 2018-1-31 10:36 编辑

[code=cpp]  template  void compute_derivative_n(vs_output& ddx, vs_output& ddy, vs_output const& e01, vs_output const& e02, float inv_area)        {        
       // ddx = (e02 * e01.position.y - e02.position.y * e01) * inv_area;               
       // ddy = (e01 * e02.position.x - e01.position.x * e02) * inv_area;
}[/code]


D3D视口坐标系 一个Triangle起始于顶点v0的两条边 e01 e02
e01.xy e02.xy 都是视口坐标系内,e01.z e02.z都是归一化的[0.f,1.f]

ddx = (e02 * e01.position.y - e02.position.y * e01) * inv_area;


inv_area = 1.f / area;
area = cross(e02.xy,e01.xy);


ddx是三角形在视口坐标系x方向的一阶偏导
只是这个公式是如何得到的,作为小白,感觉理解不了含义,希望空大龚大以及各位大大能稍做指点



您需要登录后才可以回帖 登录 | 注册

本版积分规则

关于我们|小黑屋|Archiver|手机版|中文第一计算机图形学社区OpenGPU

GMT+8, 2018-5-23 07:26 , Processed in 0.035743 second(s), 19 queries .

Powered by Discuz! X3.4

© 2001-2017 Comsenz Inc.

快速回复 返回顶部 返回列表