Question about LOD computation

First, sorry for my bad English.

I’m developing a HW IP which supports OpenGL ES 2.0, including one vertex shader processor and one fragment shader processor.
I met a problem while implementing the fragment shader processor’s texture access.
As you know, the derivatives of the texture coordinates are required (du/dx, dv/dx, dv/dy, dv/dy).

My question is about how I can compute those derivatives.

I think the du/dx and dv/dx means the differences between one fragment’s texture coordinate and the right fragment’s texture coordinate. For du/dy and dv/dy, in the same way except Y direction.
On every fragment’s calculation, because of the if~else clauses,
it is not guaranteed that the coordinates are calculated in the same way,
and the requried number of texture reads can be different from fragment to fragment.

What I want to knows are,

  1. Is it correct what I think about the derivatives?

  2. How can I compute the derivatives with SINGLE fragment shader processor?
    ARM Mali200 has also single fragment shader processor, so I think there is a way to calculate them.

  3. Is there any other way to compute the LOD without the derivatives?

Thank you, in advance.

This topic was automatically closed 183 days after the last reply. New replies are no longer allowed.