Graphics Reference
In-Depth Information
6.6.1 Channel Weighting
The simplest quality factors are channel weighting, using the command line ar-
gument:
ch < red weight >< green weight >< blue weight >< alpha weight >
This defines weighting values for the noise calculations. For example, the argu-
ment -ch 1 4 1 1 makes error on the green channel four times more important
than noise on any other given channel. The argument -ch 0.25 1 0.25 0.25
would appear to give the same effect, but that assumption is only partly correct.
This would still make errors in the green channel four times more prevalent, but
the total error would be lower, and therefore more likely to be accepted by a
“good enough” early out.
Channel weighting works well when combined with swizzling, using the -esw
argument. For textures without alpha, for example, the swizzle -esw rgb1 satu-
rates the alpha channel and subsequently doesn't count it in noise calculations.
6.6.2 Block Weighting
Though human eyesight is more sensitive to variations in green and less sensitive
to variations in red, channel weighting has limited usefulness. Other weights
can also improve a compressed texture in a number of use cases. One of these
is block error checking, particularly on textures with compound gradients over
large areas. By default there is no error weight based on inter-block errors. The
texels at the boundary of two adjacent blocks may be within error bounds for
their own texels, but with noise in opposing directions, meaning that the step
between the blocks is noticeably large. This can be countered with the command
line argument:
b < weight >
The equation to judge block suitability takes into account the edges of any adja-
cent blocks already processed. Figures 6.3 and 6.4 show this in action. However,
this simply makes the search algorithm accept blocks with better matching edges
more readily than others, so it may increase noise in other ways. Awareness of
adjacent smooth blocks can be particularly helpful for normal maps.
Search WWH ::




Custom Search