mipmap的级别和lod是一回事
#define TEXTURE_SIZE 512
#define TEXTURE_MIPCOUNT 10
float MipLevel( float2 uv )
{
float2 dx = ddx( uv * TEXTURE_SIZE );
float2 dy = ddy( uv * TEXTURE_SIZE );
float d = max( dot( dx, dx ), dot( dy, dy ) );
// Clamp the value to the max mip level counts
float rangeClamp = pow( 2, (TEXTURE_MIPCOUNT - 1) * 2 );
d = clamp( d, 1.0, rangeClamp );
float mipLevel = floor( 0.5 * log2(d) );
return mipLevel;
}