|
|
ru.algorithms- RU.ALGORITHMS ---------------------------------------------------------------- From : Alex Astafiev 2:5000/228.16 27 May 2003 12:10:54 To : Konstantin Yegupov Subject : z buffer -------------------------------------------------------------------------------- AA>> Требуется сдвигать линию не строго влево, и нестрого вниз. а AA>> именно вдоль некой линии наклона, у которой k!=0 в этом случае AA>> z-slope = const... И в этом твоя ошибка. KY> KY> Hе понимаю. Шаг по z постоянным не может быть по определению. Z KY> придется пересчитывать для каждой линии. А вот HА каждой линии KY> гарантируется KY> приблизительное постоянство Z. Это понятно. Вообще-то по такой методике сделан DOOM. Классику знать нужно. :) Там или потолки или стены, поэтому мы сдвигаемся влево-вправо или вверх-вниз. Hепонятно другое - с чего ты взял, что линии развертки полигона (брезенхемовские) только пересчитывают z&dz, а идут по экрану влево-вправо-вверх-вниз на единицу? Они идут с шагом dx, dy. И поэтому плотно прилегать не будут. AA>> К тому же, существует другие проблемы, которые мы не AA>> рассматриваем. Хотя бы выборка из памяти. Доступ к памяти AA>> осуществляется не байтами, а словами по 128-256 бит, что диктует AA>> горизонтальные линии, а не какие попало. KY> KY> Ага, а вот это уже реальная проблема. Правда, раз она железячная, ее и KY> пофиксить лучше всего железячными средствами типа кэша. Кэш от этого не спасет, так как А) Стратегия кэша в считывании, не в записи. Построение линии это запись. Б) Подкачка кэша идет не по байтам, а по ширине шины. Ты ставишь rgba линии, это всего dword и неэффективно. В) Кэш всегда подкачивает линию, или даже с умом, делают опережающую выборку, в надежде что понадобятся данные впереди. Кроме того, представь линию с наклоном 45 градусов. Ширина экрана 1024 пикселя. Когда ты рисуешь такую линию, ты идешь с шагом в 1024*4. В общем, кэширование будет крайне неэффективно. 0 error(s), 0 warning(s) --- * Origin: Фидонет - сеть друзей. Будьте дружественнее! (2:5000/228.16) Вернуться к списку тем, сортированных по: возрастание даты уменьшение даты тема автор
Архивное /ru.algorithms/174643ed36c84.html, оценка из 5, голосов 10
|