Inferno #05
30 апреля 2004

For Coderz - Нюансы Raycasting-а.

Raycasting note

   Статья Shiru Otaku  про рейкастинг была
изъята   из   неопубликованного  материала 
Adventurer #14. В соответствии с традиция- 
ми нашего издания (а точнее,его Guide-час- 
ти ;), она также снабжена моими ремарками. 
Разумеется, моё мнение не является истиной 
в последней инстанции. Кстати,данный мате- 
риал, достаточно сдобренный личным непони- 
манием  со  стороны  лекторов, преподаётся 
на  курсе  "Компьютерной графики" в районе 
третьего курса специальности  "Программное 
обеспечение  чего-то чего-то и чего-то че- 
го-то". Спектрумистам  учиться  в  ВУЗе по 
данной специальности не советую. 

   Изначально в статье содержалось мнение,
что персонаж нельзя вращать по оси, перпе- 
ндикулярной экрану. Вот так: 

Однако я со своей стороны полагаю, что это возможно. Для этого нужно строить кар- тинку, будто герой не вращался около этой оси, а потом переносить картинку на экран в повёрнутом виде. Конечно, это редко может потребоваться, но вдруг? В demo, например... Стены под 45° (т.е. с СВ на ЮЗ или с СЗ на ЮВ ) можно реализовать и в стандартном рейкастинге,и в моём варианте,где сканиро- вание сплошное. Во втором случае это отни- ет не так много процессорного времени, но это число теоретически.Поскольку цикл ска- нирования станет очень сложным. При входе в каждый кубик нужно проверить,есть ли там диагональная стенка, и если да, то какая - в соответствии с её типом должен произойти переход на нужный вариант внутреннего цик- ла. При обработке диагональных вариантов одна из координат должна быть искажена: X=X+Y, или X=X-Y, или Y=X+Y, или Y=X-Y, в зависимости от типа стенки и направления входа в кубик. То же нужно сделать с пере- менными, содержащими шаг. Тогда цикл будет работать как обычный, т.е.сложение с выхо- дом по переполнению. Собственно,и в стандартном рейкастинге, если тип кубика со стенкой знать заранее, скорость упадёт вовсе не в 2 раза. Но ал- горитм, видимо, ещё мудрёнее. Alone Coder



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

CacheVox - Пакет программ для импорта и последующего проигрывания с дискет цифровой музыки.

For Coderz - RAYCASTING - сделай себе немного DOOM'a. Алгоритм трассировки 3D лабиринта как в игре WOLF.

Inferno - О журнале.

DIY - Приспосабливаем мышь от Amiga к ZX Spectrum.

Sofтинка - обзор экранных упаковщиков для ZX Spectrum.

Inferno - Авторы и контакты редакции.

Gameland - описание игры Stronghold (Бастион).

Sofтинка - Пакет CacheVox v1.0 для импорта и проигрывания с дискет цифровой музыки.

Интервью - интервью с Disabler'ом - кодером, художником и железячником из Ростова-на-Дону.

Others - Глюки записи на дискеты. Причины и методы борьбы.

Gameland - Краткое описание проблем игры Dune: Imperia 2.

Inferno - Ошибки в предыдущих номерах.

For Coderz - Маленькие программерские хитрости.

Spectrum - Форматы упакованных данных на ZX Spectrum.

Gameland - об игре Hexagonal Filler.

Sofтинка - Hrum 3.5i - самый быстрый LZ-распаковщик с битовым потоком.

DIY - Изготовление хвоста для мышки.

Железо - Исследуем микросхему К561ИЕ10A.

Железо - Исследуем микросхему КР1533ИЕ7.

Железо - Исследуем микросхему К561ТЛ1. .

Sofтинка - экранный компрессор Laser Compact 4.0.

Inferno - Письма в редакцию.

Sofтинка - компрессор текстов MS Pack 01.96.

Inferno - Об оболочке.

Sofтинка - преимущества архиватора Rar.

Sofтинка - Упаковщик RGB картинок Powerful Code Decreaser v6.2.

Ликбез - Что такое плюс и минус напряжения.

Ликбез - Как работает защита элементов цепи.

For Coderz - Нюансы Raycasting-а.

Sofтинка - Real Information Packer 0.2x - один из самых мощных компрессоров на ZX.

For Coderz - Автосборка программы. Оптимизируем процесс сборки.

Inferno - Вступление.

Others - Результаты анкетирования.

Others - The Compo. Об анкетировании.

О Спектруме - размышления о будущем спектрума.

Железо - Еще раз о защите микросхемы КР1818ВГ93.


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

Похожие статьи:
Программирование - Как определить сколько килобайт у вашей тачки. Определение наличия у Компа музыкальной платы. Определение типа музыкальной платы. Определение количества тактова за одно прерывание. Проверка наличия 128Кб. Определение наличия теневого ОЗУ. Проверка наличия порта #FF. Определение наличия модемной платы. Определение CDOS-модема и порта к которому он подключен.
Credits - авторы газеты.
BBS - деятельность BBS ZXNet приостановлена.

В этот день...   19 июля