на всякий случай напомню что нужно учитывать еще и такое явление
Вложение 57500
можно просто не делать щелок
но стенки, наверное, все равно будет немного колбасить
я только вчера об этом вспомнил![]()
на всякий случай напомню что нужно учитывать еще и такое явление
Вложение 57500
можно просто не делать щелок
но стенки, наверное, все равно будет немного колбасить
я только вчера об этом вспомнил![]()
С любовью к вам, Yandex.Direct
Размещение рекламы на форуме способствует его дальнейшему развитию
Как то я со своим кодом конечно не в теме треда, но отдельную тему по моему не к чему делать.
Вопреки утверждениям знатоков фреймовый рейкастинг вполне возможен. Сделал версию 53с, уменьшил карту и остановился на 32 лучах. Есть еще пару идей для проверки, не полные стены, вертикальные текстуры и воксельные объекты. Наверное буду доделывать до играбельной версии, если не надоест.Вложение 57513
гляньте Malady 1K, есть там движок.
krt17, тут, на форуме, ААА утверждает что он инопланетянен, но по-ходу свистит как нанятый, ибо с твоими примерами я убеждаюсь что на твоей планете какие-то иные спектрумы, с раскладкой клавы вообще непонятной.
Как в твоих демках рулить?
Или спецом делаешь чтоб никто не догадался?
В теме, в теме. Только разьясни нам сущеглупым как ты там клаву опрашиваешь....
Ты вообще молодец, на лету схватил идею, есть развитие её, тут где-то Sayman околачивался, ты с ним сконтачся, думается родите что-нибудь хорошее...
И вообще подцепляйся ICQ#492186601
Сорцы есть? Кидайся ссылками, please...
Управление простое, читаю #00fe d0 вправо, d1 влево, d2 карта, d3 вперед, d4 выход из картыДля теста хватает, в следующем билде сделаю нормальное.
Чужие движки мало интересны, в понимании как сделать проблемы нет никакой, основные враги память и скорость, а тут каждый подходил со своей стороны. Меня интересует только 48к и желательно оставить кило 15-20 для всего остального, иначе какой в этом смысл. Чанковых вольфов хватает, но они не дают приемлемой скорости да и расход памяти на чанковый рендер запредельный.
Задачи на следующий билд
Нормальная таблица высот и коррекция перспективы
Управление
В перспективе
Столбцы сделать текстурой 8х1 и с частичной прозрачностью. Это также позволит в последующем накладывать обьекты.
В результате наверное в фрейм не успею, в условиях необходимости экономии памяти, но я думаю 25 фпс будет все равно играбельно, посмотрим.
Это гвоздями прибито, или подумаем?
Смотри, есть такая маза, сканируешь по прежнему, только не пиксели, а страничку, (т.е. 256х64), каждый байт = это типа пиксель, при этом избавляемся от координат (вместо всяких DownHL тупо INC H получается).
Вместо BIT n,(HL) делаем OR (HL) (аккумулятор заранее обнулён), при этом RET Z выбрасывает на следующуюю итерацию, а вот если нет то начинается интересное. Можно разглядеть что в аккуме появилось и далее по выбору:
Если там установлен скажем 7-й бит, то это никаким каком непроницаемая стенка (столбец) и выход из процедуры, складываем в буфер и переходим к следующему лучу.
Если там НЕ установлен 7-й бит, но в акке не нуль то значит кидаем в буфер столбиков эти координаты и возвращаемся к сканированию дальше.
Что имеем в итоге?
Прога которая строит-масштабит стенки идёт в обратную сторону по буферу и захватив тот байт который с 0 в 7-м бите отрисовывает не просто столбец, а сделав AND имеет номер текстурки который и отображает.
Таким макаром можно делать заборы, окна, двери, в общем как-бы альфа-канал у нас получается.
Надеюсь внятно объяснил, если не - разжую, только блин в асю стучись, или маякни там модераторам чтоб сделали тему закрытой для всех, кроме нас с тобой (ну подтянем ещё кого надо будет) и накалякаем наконец-то нормальный фреймовый 3д (даже сценарий есть).
- - - Добавлено - - -
Не хочет Unreal это хавать, хоть тресни
- - - Добавлено - - -
Заодно попробуй считать длину "в лоб" (по количеству пиксельных итераций), чтоб не было этого "закругления" стенок к краям экрана, и не надо будет корректить всякими умножениями на cos.
Последний раз редактировалось Destr; 03.07.2016 в 11:58.
Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)