Why are dFdx/ddx and dFdy/ddy 2 dimension variables when quering a 2d texture?

前端 未结 2 1160
野性不改
野性不改 2021-02-10 05:38

I cannot seem to understand this, shouldn\'t the derivative/change along the U or V coordinate in a 2d texture/array be single dimension variable as we are checking it only alon

相关标签:
2条回答
  • 2021-02-10 06:04

    There are 4 distinct partial derivatives here: du/dx, dv/dx, du/dy, and dv/dy. None of those four values need be zero, unless the texture image coordinates happen to be perfectly aligned to the display screen axes. In general the texture coordinate axes need not be aligned to the screen display axes. X and Y (display viewport axes) are not the same directions as U and V (texture image axes).

    Diagram showing relationship of UV and XY

    In other words, the Jacobian matrix that relates the 2D screen/viewport coordinate system to the 2D texture/image UV coordinate system contains 4 entries: Two per adjustable parameter.

    0 讨论(0)
  • 2021-02-10 06:22

    You are computing the derivative of a variable (such as the uv-coordinate of a texture) with respect to the screenspace in either the x or y direction. Or in other words you could say that the function answer the question: "what change will happend to this variable when I move one pixel to [the left]/[up]".

    0 讨论(0)
提交回复
热议问题