Алгоритм z-буфера
Рассмотрим алгоритм удаления невидимых граней с использованием Алгоритм работает в параллельной проекции. Пусть размеры окна вывода или экрана составляют X точек в ширину и Y точек в высоту. В качестве z -буфера используется двумерный прямоугольный массив чисел по размерности совпадающий с окном вывода или экрана, т.е. X В начале работы алгоритма в z -буфер заносятся значения, соответствующие бесконечности. Каждая грань трехмерного объекта, представленная в виде многоугольника, преобразуется в растровую форму. При разложении в растр для каждой точки многоугольника вычисляется значение ее z -координаты. Если z -координата оказалась меньше чем текущее значение в z -буфере, то в z -буфер заносится z -координата точки, и на экране рисуется точка цветом текущего многоугольника. После разложения в растр всех многоугольников изображение трехмерной сцены построено (рис.8.7).
Рис.8.7. Алгоритм z -буфера
|