EOR fill — различия между версиями
Материал из SpeccyWiki
Alone (обсуждение | вклад) (Новая страница: «'''EOR fill''' (EOR-fill) - метод отрисовки залитых областей. Состоит в том, что рисуются только точк...») |
Andrew771 (обсуждение | вклад) |
||
(не показана одна промежуточная версия ещё одного участника) | |||
Строка 1: | Строка 1: | ||
− | '''EOR fill''' (EOR-fill) - метод отрисовки залитых областей. Состоит в том, что рисуются только точки цветопереходов, а потом размываются сверху вниз командой XOR ( | + | '''EOR fill''' (EOR-fill) - метод отрисовки залитых областей. Состоит в том, что рисуются только точки цветопереходов, а потом размываются сверху вниз командой XOR (на процессоре 6502 - EOR). Популярен на платформе [[Commodore 64]] для отображения залитой 3D-графики, в том числе текстурированной (в этом случае заливают чётные и нечётные линии раздельно). |
Алгоритм: | Алгоритм: | ||
Строка 6: | Строка 6: | ||
# EOR fill с переносом на экран. Примерный код: pop de:xor e:ld (hl),a:inc h:xor d:ld (hl),a:inc h. | # EOR fill с переносом на экран. Примерный код: pop de:xor e:ld (hl),a:inc h:xor d:ld (hl),a:inc h. | ||
− | Примеры использования на ZX Spectrum: интро [[ | + | Примеры использования на ZX Spectrum: интро [[Rst7]] с залитой синусоидой и рекламой [[Prestige]], несколько эффектов в [[Eye Ache 2]] (синусы, треугольники, "glenz vectors"), Wolf-часть в [[Critical Error]]. |
[[Категория:Термины]] | [[Категория:Термины]] | ||
− | [[Категория:Программирование]] | + | [[Категория:Программирование графики]] |
Текущая версия на 07:59, 15 августа 2014
EOR fill (EOR-fill) - метод отрисовки залитых областей. Состоит в том, что рисуются только точки цветопереходов, а потом размываются сверху вниз командой XOR (на процессоре 6502 - EOR). Популярен на платформе Commodore 64 для отображения залитой 3D-графики, в том числе текстурированной (в этом случае заливают чётные и нечётные линии раздельно).
Алгоритм:
- Чистим экранный буфер.
- Рисуем по одной точке на столбик (это проще, чем линия по Брезенхему).
- EOR fill с переносом на экран. Примерный код: pop de:xor e:ld (hl),a:inc h:xor d:ld (hl),a:inc h.
Примеры использования на ZX Spectrum: интро Rst7 с залитой синусоидой и рекламой Prestige, несколько эффектов в Eye Ache 2 (синусы, треугольники, "glenz vectors"), Wolf-часть в Critical Error.