Buzz #14
29 апреля 1998

Ассемблер - Описание алгоритмов: 2D bump mapping, Gouraud Shading, Fast Phong Shading, Z Buffering, Flat Shading, Voxels.

<b>Ассемблер</b> - Описание алгоритмов: 2D bump mapping, Gouraud Shading, Fast Phong Shading, Z Buffering, Flat Shading, Voxels.
^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
┌┼┘┌─┴┘└┐─┘┌┘┌─┘▒▒▒░░░ ├┐└──┬─┘             °   °  ░  ░▒▓▒▓██▓█
└┬┌─████│████ ████░█  ·┘│┬  ·   @@@##∙·       °   °  ░ ░▒▓█▓███
┌┼┘┌█  █ █  █▒█░░█ █  ·┤·└─·   ·@/   #°         °  ░  ░▒▓▒▓██▓█
 ┌─┘█    █▒▒█░█░ █ █    └┐     ###%°       ў  °   °  ░ ░▒▓█▓███
├┴┼─█  █▒█▒░█░█  █ █  █┼┐└·   -&/    ў    °/    °  ░  ░▒▓▒▓██▓█
┌┼┴┐████▒█░░█ █  █ ████│┼┤    &/     \°°·#/   °   °  ░ ░▒▓█▓███
┐┘└─▒▒▒░░████ ████┌┘└┘┐└─ ·  &/       ·##/  °   °  ░  ░▒▓▒▓██▓█
└─▒▒▒░░░─┐┼──┐┼──┐│┌ ┌┘┌──┤           #/@@    °   °  ░ ░▒▓█▓███
▒▒▒░░░└─┐└┘┌──┘┌┼─┌┴ └─┘┌┴└─·        @/  \@     °  ░  ░▒▓▒▓██▓█
^^^^^^^^^^^^^^^^^^^^ ПРОСТО КЛЕВЫЙ ЭФФЕКТ ! ^^^^^^^^^^^^^^^^^^^
(c) 1998 main text by Sat / MegaCode / Extreme
(c) 1998 asciigfx & add.text by Demiurge Ash / Eternity Industry
-------------------

    С  течением времени спектрумовские эффекты все более навора-
чиваются. Вместе с эффектами меняется и лексикон кодера. Предла-
гаем Вам приобщится к миру  'выскоих материй' :-).  Прочитав сие
руководство по словоблудию вы сможете поразить своих друзей, при
просмотре очередной демы,  ткнув  пальцем  в  экран  со словами:
" Дык, эт ж voxel, е-мое! Оппаньки !".

  2D bump mapping
  ---------------                        
                                          
    Выглядит  как  будто источник  света
шарится  по объемной поверхности.  Такой
эффект вы можете наблюдать в деме "Power         1
Up" by Megacode.                                 °
    Делается очень просто:                   4 ° X ° 2
         a) вычисляем нормали в                  °
         точке X:                                3
                  Nx= 2x - 4x
                  Ny= 1y - 3y
         б) по этим координатам выбираем уровень яркости из
         таблички,  которая  как правило представляет собой
         концентрические окружности с максимальной яркостью
         в центре и затухает к краям.

                   ░░▒▒▒▒▒░░   
                  ░░▒▒▓█▓▒▒░░  │
                  ░▒▒▓███▓▒▒░  Ny
                  ░░▒▒▓█▓▒▒░░  │
                   ░░▒▒▒▒▒░░   

                  ───Nx───
         
         в) перебрасываем яркость в точку X - и все !


  Gouraud Shading
  ---------------

    По качеству закраски выступает на втором месте после fong'a.
Существенный недостаок - при использовании нeбольшого количества
цветов  становятся  заметны переходы (как правило это видно все-
гда). Закраска gouraud строится интерполированием цвета от одной
точки с известной  яркостью, к другой - также с известной яркос-
тью, иначе говоря необходимо в качестве входного параметра иметь
3 точки, т.к. интерполирование происходит по уравнению 2-ой сте-
пени ax¤+bx+c, 3 точки нужны для нахождения коэффициентов a,b,c.
    Eсли объект -  4-хугольник, нам понадобятся любые 3 вершины.
Все остальные точки полигона можно найти по этим трем.


  Fast Phong Shading
  ------------------

   Самый смачный способ закраски. Его отличительная черта-очень
плавные  цветовые  переходы. Очень часто можно заметить, что на
объекте отражается  источник света (этого больше нет ни в одной
другой закраске). Итак, нам опять понадобятся нормали к поверх-
ности, как и в bump mapping'e, но вот как их вычислять шустро и
безболезненно -  это  для  нас до сих пор вопрос. Все остальные
операции аналогичны bump'у.


  Z Buffering
  -----------

    Довольно грубая закраска.  Цвет  точки определяется по ее
Z-координате. Характерна закраска  'пластами', которые всегда
параллельны плоскости экрана. Кажется, здесь ничего объяснять
не надо - все просто очевидно.


  Flat Shading
  ------------

    Самый ламерский способ, широко распространенный  на ZX, т.к.
требует минимальных затрат времени. Вся грань  закрашивается мо-
нотонно. Ее цвет определяется расстоянием до  источника  света и
углом к нему.  На ZX практически  всегда считают,  что  источник
света располагается за экраном,  он неподвижен -  и рассчитывают
цвет грани по ее Zср координате, которая вычисляется как средняя
из координат составляющих грань точек.


  Voxels
  ------

    Простой способ  изобразить  земную  поверхность. При постро-
ении используется метод Z-buffer'a,  т.е. начинаем строить ланд-
шафт от самой дальней точки,  удаленной от наблюдателя к экрану.
При этом необходимо иметь карту высот. Высота точки определяется
яркостью в карте высот. Причем, когда                          
мы русуем точку на экране, необходимо    ██▓▓▓▒▒▒▒░    ░░▒▓▒▒░ 
прорисовать ее на всей высоте (протя-    ▓▓▓▒▒▒░░   ▒░  ░░▒░  
нуть ),  чтобы  сохранялась цельность    ▒▒▒▒░   ░▒▒▓▒░       ░
изображения.                             ░░░   ░▒▒▓██▓▒░    ░░▒
   Ко всему этому добавим перспективу,   ░░  ░░▒▓██▓▒▒░   ░░░▒▒
немножко поизвращаемся -  и получится           ландшафт
вплоне симпатичный ландшафт.                 ███              
   Кстати, как Voxel'и строятся, так       ▓▓███▓▓       0    
они и выглядят: масса точек, которые     ▒▒▓▓███▓▓▒▒▒▒ 0 |   
несколько прыгают  с  места на место     ▒▒▓▓███▓▓▒▒▒▒ | |  
при перемещении ландшафта.               ▒▒▓▓███▓▓▒▒▒▒ W W    
                                          'протягивание' точек
                                                по высотам




Другие статьи номера:

Armagedon - Снова о конце света.

Demomaking - История демомейкинга и его традиции.

Fun Top'98 - Информация о фестивале компьютерного творчества.

Fun Top'98 - Приложение к основной информации.

Message - Обращение ко всему Speccy-народу г. Коврова.

Rants & Raves - Вся правда об операции "Зю".

Room Ten - Информация о дисковой версии игры.

Super Spectrum - Super Spectrum глазами Melted Snow на базе Z80.

TOP TEN - 10 лучших защит.

Towdie - Описание-проходилка игры Towdie (продолжение).

Авторы

Ассемблер - Описание алгоритмов: 2D bump mapping, Gouraud Shading, Fast Phong Shading, Z Buffering, Flat Shading, Voxels.

Конкурс - Конкурс на лучшую картинку в ASCII-графике.

Ликбез - Некоторые выдержки из уголовного кодекса России.

Наши новости - Полная версия "Черного ворона".

Нововведения - В оболочке появилось много чего нового.

Обзор игрушек - Обзор игровых программ: Advanced Nether Earth, Denizen, Draughts, After the war 1&2, 180, Renegade 3, Бугство на Хархан, Kendo Warrior.

Обзор системок - Обзор системных программ : ZX-Turbo Assembler v3.10, Srite Maker, Storm v1.1, Burst Eyes v1.1, STS v6.2, Direct Commander v3.04, Turbo Disk Utility v1.0.

Пресса - Размышления на тему электронных изданий.

Реклама - Реклама и объявления...

Содержание

Юмор - Часы командирские с зубонепpокусаемым pемешком и смеpтным боем...


Темы: Игры, Программное обеспечение, Пресса, Аппаратное обеспечение, Сеть, Демосцена, Люди, Программирование

Похожие статьи:
Рабочий стол - Теневой многотекстовый ассемблер-отладчик ALASM 4.1 (Краткое описание функциональных возможностей).
Развитие SPECTRUM - Новый Spectrum от Синклера.
Oбмен опытом - Несколько полезных советов и рекомендаций по подключению FDD 3.5 (трехдюймового дисковода).

В этот день...   23 сентября