Важная информация

User Tag List

Страница 3 из 10 ПерваяПервая 1234567 ... ПоследняяПоследняя
Показано с 21 по 30 из 99

Тема: Попиксельный raycasting и sjasm

  1. #21
    Master
    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    43
    Поблагодарили
    32 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Сканер сделал, завтра рендер примитивный накидаю можно будет заценить.

  2. #22
    Master
    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    43
    Поблагодарили
    32 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Дописал рендер, рейкастинг в максимуме получился ~70к, рендер 25к. Буду думать, есть что из предвычеслений по табличкам раскинуть, думаю во фрейм можно уложится. Пока еще есть мелкие глюки и нет нормального движения, но мне нравится

  3. #23
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krt17 Посмотреть сообщение
    Дописал рендер
    Так покажи что-ли....

  4. #24
    Master
    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    43
    Поблагодарили
    32 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Destr Посмотреть сообщение
    Так покажи что-ли....
    Рано надо сделать что бы можно было побегать посмотреть, еще не решил делать ли коррекцию перспективы. Первоначальная цель в принципе выяснить можно ли уложится в фрейм, пока вроде можно, осталось немного облагородить. Хорошо то что мои опасения относительно дискретности не подтвердились, с таким форматом поработать можно.

    - - - Добавлено - - -

    Нашел небольшой глючек, посему наверное можно выложить Вложение 57478
    Что есть:
    Рейкастинг по 64 лучам на fov 90.
    Рендер 64*22
    Примитивная управлялка (вправо/влево/вперед)
    Карта

    Чего катастрофически не хватает:
    Оптимизации обвязки
    Коррекции перспективы и нормальной таблицы высот
    Минимально удобного управления

    Что по моему можно изменить
    Сделать 32 луча (реально 64 не к чему)
    Подумать пусть не о текстурах но хоть разноцветные сделать

    В общем первоначальная моя цель проверить пиксельную карту, а не блочную по моему выполнена. Спасибо Destr'у за идею. На досуге попробую подопиливать.
    Последний раз редактировалось krt17; 29.06.2016 в 09:45.

  5. #25
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от krt17 Посмотреть сообщение
    В общем первоначальная моя цель проверить пиксельную карту, а не блочную по моему выполнена. Спасибо Destr'у за идею. На досуге попробую подопиливать.
    Расскажи как длину считаешь?
    Или сорцем кинься (на всех или в личку).
    Идей ещё куча, может соберём что-нибудь приличное.

  6. #26
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,277
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Вам надо понимать несколько очень важных вещей.
    - окружность в 256 типа градусов вам большой точности в расчётах не даст. У Алония 1024 градуса на окружность.
    - сканировать каждый "градус" не обязательно, но нужно делать другие проверки, а вместо пропущенных элементов карты производить интерполяции.
    - пытаться уложиться во фрейм или хотя бы 2 фрейма - это утопия.
    Стараться нужно делать не просто фреймовость, но ещё и достигнуть "красивой" точночти, а не лесенку как сейчас или в прошлом варианте у Дестра. На сях я тоже пробовал, в том числе по методу который сам же и описал, на выходе получил страшенную лесенку.
    Дестр, чтобы не пилить килобайты монотонных процедур, запили один раз генератор таких процедур. Возьми в пример подобный генератор у Алонгия из исходника его Вольфа под экран АТМ. Там процедурка не большая, но на выходе даёт много кб кода, который производит масштабирование. Т.е. одна процедура = 1 масштаб и таких процедур там 64. Всё автоматизировано. Такая процедура легко адаптируется (например, уже подбита под Спринтера).
    Файл Geatm3 в исходниках Алоновской демки the board 2.
    Можно взять за основу сканер Алония, а рендер запилить свой.
    Последний раз редактировалось Sayman; 30.06.2016 в 19:33.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  7. #27
    Veteran Аватар для Destr
    Регистрация
    26.03.2008
    Адрес
    Питкяранта
    Сообщений
    1,802
    Спасибо Благодарностей отдано 
    249
    Спасибо Благодарностей получено 
    113
    Поблагодарили
    87 сообщений
    Mentioned
    1 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Цитата Сообщение от Sayman Посмотреть сообщение
    Дестр, чтобы не пилить килобайты монотонных процедур, запили один раз генератор таких процедур.
    Ну я и пытался придумать такой генератор, но не на уровне zx-асма, а на уровне компиляции.
    Ну по типу
    Код:
    L=1
    REPT 8
    REPT 8
    DB L
    L=L+1
    ENDR
    L=L/2
    ENDR
    (Конечно это не рабочий кусок, а просто как-бы наглядный пример генерирования некой абстрактной таблички. Так-же можно генерить любой код, но есть ньюансы, о которые я и споткнулся).

  8. #28
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,277
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Destr,
    не проверял, но попробуй (подобные конструкции я засунул в порт Алоновского Вольфа)
    Код:
    L=1
    REPT 8
    	REPT 8
    		db {L+1}
    	ENDM
    	{L=L/2}
    ENDM
    Не проверял. С другой стороны, есть скриптинг на Lua прям в основном коде (или можно вынести в include).
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

  9. #29
    Master
    Регистрация
    31.01.2007
    Адрес
    Москва
    Сообщений
    715
    Спасибо Благодарностей отдано 
    7
    Спасибо Благодарностей получено 
    43
    Поблагодарили
    32 сообщений
    Mentioned
    7 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    Ну вот "программист" подключился посему тема скатывается в пустую болтовню как это нынче у нас водится. Удачи.

  10. #30
    Guru Аватар для Sayman
    Регистрация
    16.02.2006
    Адрес
    Новосибирск
    Сообщений
    3,277
    Спасибо Благодарностей отдано 
    17
    Спасибо Благодарностей получено 
    91
    Поблагодарили
    54 сообщений
    Mentioned
    2 Post(s)
    Tagged
    0 Thread(s)

    По умолчанию

    в пустую болтовню
    про какую пустую болтовню речь? пример кода даже привёл для Дестра, чтобы он понимал, как можно разруливать подобные "преобразования". Луа или вот такими фигурными скобками.
    А вот пример рабочего кода из вольфа48 с такими скобками:
    Код:
    tcorrlogd:
    		REPT 256
    			db {wascorrlogd+$-tcorrlogd} & 0xff
    		EDUP
    ;		LUA ALLPASS
    ;			for i=1,256,1 do
    ;				l_wascorrlogd = sj.get_label("wascorrlogd")
    ;				l_tcorrlogd = sj.get_label("tcorrlogd")
    ;				addr = l_wascorrlogd+sj.current_address-l_tcorrlogd
    ;				byte = sj.get_byte(addr)
    ;				--byte = word % 256
    ;				sj.insert_define("_t", byte)
    ;				_pc("db _t")
    ;			end
    ;		ENDLUA
    
    tcos:		INCBIN "cos.bin"
    tlogcos:	INCBIN "pluslcos.bin"
    tda:
    		REPT 256
    			db {wasda+$-tda} & 0xff
    		ENDM
    ;		LUA ALLPASS
    ;			for i=1,256,1 do
    ;				l_wasda = sj.get_label("wasda")
    ;				l_tda = sj.get_label("tda")
    ;				addr = l_wasda+sj.current_address-l_tda
    ;				byte = sj.get_byte(addr)
    ;				sj.insert_define("_e", byte)
    ;				_pc("db _e")
    ;			end
    ;		ENDLUA 
    
    tctg:		INCBIN "plusctg.bin"
    tsin:		INCBIN "sin.bin"
    tscaljps:	INCBIN "scaljps.bin"
    
    		DISPLAY "tID:=",$
    
    tID:
    		MACRO wall arg0, arg1
    			db -arg0, arg1
    		ENDM
    		
    ;		REPT 64+16
    ;			wall 0,0
    ;		ENDM
    		ds 160,0
    tID2:
    		MACRO pgwall arg0				;4 текстуры в 1 ряд
    			wall arg0, 0x0				;всего 4096 байт на 1 текстуру...
    			wall arg0, 0x10				;а тут переходы на новую (след.) текстуру.
    			wall arg0, 0x20				;для переходя на след.строку в текстуре
    			wall arg0, 0x30				;сделать +256 от текущей позиции в текстуре.
    		ENDM
    
    		pgwall 0
    		pgwall 0
    		pgwall 0
    		pgwall 0
    		pgwall 0
    можно сказать. что некоторые аласмовые финты ужасм легко переваривает либо с некоторыми допилами.
    0A заповедей:
    I. Не удаляй каталог свой.
    II. Не удаляй до времени ни одного файла.
    III. Не кради файлы.
    IV. Не желай программы ближнего своего.
    V. Почитай BDOS и BIOS как родителей своих ...
    ---
    Sprinter resurrect:
    Telegram
    Discord
    Repo
    Forum

Страница 3 из 10 ПерваяПервая 1234567 ... ПоследняяПоследняя

Информация о теме

Пользователи, просматривающие эту тему

Эту тему просматривают: 1 (пользователей: 0 , гостей: 1)

Похожие темы

  1. Ответов: 7
    Последнее: 03.11.2015, 18:22
  2. Ответов: 10
    Последнее: 06.07.2012, 15:02
  3. МЕТКИ:sjasm+Unreal
    от breeze в разделе Программирование
    Ответов: 10
    Последнее: 06.07.2011, 08:39
  4. Попиксельный скролл на Асме
    от helcril в разделе Для начинающих
    Ответов: 8
    Последнее: 17.12.2009, 09:31
  5. sjasm - первые глюки
    от breeze в разделе Программирование
    Ответов: 9
    Последнее: 24.03.2005, 10:51

Ваши права

  • Вы не можете создавать новые темы
  • Вы не можете отвечать в темах
  • Вы не можете прикреплять вложения
  • Вы не можете редактировать свои сообщения
  •