| demo.design 3D programming FAQ | download | links | author

РАЗНОЕ
7.2. Субтексельная точность

Субтексельная точность сильно смахивает на субпиксельную. Необходимость в ней появляется из-за следующего факта: рисовать строку мы начинаем с какого-то нецелого sx, но с целого пиксела. Из-за этого (sx может "гулять" в пределах одного пиксела почти на единицу!) возникает дрожание текстур примерно на тот самый пиксел. Устраняется это точно таким же сдвигом, как и в субпиксельной точности, то есть перед отрисовкой строки корректируются начальные значения величин, интерполируемых по строке (u, v, освещенность...):

    // ...
    u_start += du_dsx * (ceil(sx) - sx);
    v_start += dv_dsx * (ceil(sx) - sx);
    // ...

Это уже немного замедляет работу (на величину порядка 5-10%), но улучшение качества картинки того стоит. Кроме того, субтексельную точность вполне можно совместить с 2D-отсечением и получить отсечение, которое не съедает никаких ресурсов и не замедляет работу. Вообще.

| demo.design 3D programming FAQ | previous | content | next