Всем привет!
В качестве учебного материала пишу софтрендер. Если у кого будет желание и время прошу протестировать в основном на наличие ошибок AV (Access Violation). Версия пока еще «сырая».
Также буду признателен за отзыв.
Видео:
07/10/2019 - Сделал перемещение по сплайнам.
03/12/2019 - Исправления и улучшения
11/01/2020 - Оптимизация и обновление уровня помещения
16/01/2020 - Phong + объектный OIT
03/02/2020 - Оптимизация + 32 битный Z-Буфер (Был 64)
04/02/2020 - Линии теперь считаются в Double.
29/03/2020 - Оптимизации + мелкие правки
14/04/2020 - Баги ... баги ... баги :)
03/05/2020 - Оптимизация + выделение групп объектов + генерация икосаэдра вместо сфер
23/06/2020 - Ускорение загрузки OBJ-файлов + Log-файл + быстрое удаление дублей линий.
30/11/2020 - Добавил проекцию аля тени ... SOS (ScreenToObjectSpace)
У меня на все твои демки, отчего-то, ругается на отсутствия файла: Media\Images\New_(12×12).tif
Файл, естественно, в каталоге лежит.
По этой причине я ни одну твою демку - не увидел (
InfusionKRD
> У меня на все твои демки, отчего-то, ругается на отсутствия файла
У твоей системы явно что-то личное к eDmk )))
InfusionKRD
Действительно был баг из-за настроек компиляции. Настройки RELEASE были некорректные.
Обновил архив - вроде порядок.
не помогло...
код ошибки тот же
з.ы.: может можно специально для меня собрать EXE вот с таким кодом:
fName:=ExtractFilePath(paramStr(0))+'Media\Images\'+PictureName;
InfusionKRD
> ExtractFilePath(paramStr(0))
Так у меня так и берется:
eDmk но ведь где то собака порылась!
Добавь лог при старте, с выводом всех путей...
InfusionKRD
> но ведь где то собака порылась!
Сделал прямой путь и переименовал файл. Там Unicode-символ в названии был.
Может из-за него чего не так? У меня 10-ка. Ей юникодные имена не страшны.
В общем сделал новый архив.
eDmk так и у меня вин10, архив уже качаю.
Но судя по моему скриншоту ошибки - не работает SetCurrentDir
п.с.:
Новый архив - стартует, и вроде все работает как надо. Тестирую.
InfusionKRD
> не работает SetCurrentDir
У меня SetCurrentDir - обертка над WinApi'шной функцией:
А в последнем варианте просто прописал прямой путь к файлу.
Снес все DCU'шки и перекомпилировал. Проблема могла быть из-за старых DCU.
Такой глюк встречался у меня пару раз.
Просто странно. У меня 3 проекта и все давно работают на 7-ке, 8-ке и на 10-ке.
Первый раз такое. Возможно настройки вашей ОС особенные.
InfusionKRD
Возможно проблема в пути к каталогу демке, русские буквы мешают
Чтобы сделать свой проект юникодным, я создал на его папку симлинк с именем "/人◕‿‿◕人\" и запускал оттуда.
Иии-хряп. Иии-хряп. Иии-хряп.
Никогда в жизни больше не буду использовать тип "string". Только конкретные "UnicodeString" или "AnsiString": в Free Pascal с версии 3 добавился эпический геморрой с автоматическими перекодировками. И никогда не знаешь, string у тебя - восьмибитная, или втихую переопределённый 16-битный UnicodeString. Но они же не сами это придумали - за дельфями повторяют.
Значит, и в дельфи с этим не всё хорошо.
Если у тебя программа не может использовать юникодные пути - твой проект обосрётся даже в Windows XP, если у пользователя в имени хоть один символ, не представимый в 1251. Ибо домашняя папка же. Наступал на эти грабли специально - работают, бьют.
А не юникодные пути - это родной вывих Фри Паскаля. Мне пришлось самописный патч делать для многих стандартных функций, чтобы обращались не к *A, а к *W функциям Вин Апи.
Паскаль делает неполноценным, в первую очередь, эта вот гнилая неюникодность тоны базовых функций работы с файлами.
Это, конечно, мудятельство майкрософта, которые выбрали UCS16, которая потребовала всё переделывать вместо utf-8, которая не требовала бы. Но когда программы на других языках жрут и не давятся - это бросает на Паскаль очень неприятную тень.
eDmk по поводу программы: поигрался вчера. Ошибок (кроме парсинга моих OBJ) - не было.
Из замечаний - не смог привыкнуть к твоей "навигации" (видимо я слишком стар и слишком много просидел во всяких 3д редакторах, где всё управление на мышке).
На нетбуке с целероном N4100 выдаёт в FullHD в среднем 15-25 fps, что более чем отлично, тем более управление у тебя очень плавное, без единого рывка.
InfusionKRD
Спасибо!
> Ошибок (кроме парсинга моих OBJ)
Пока только OBJ с индексами и точками. С нормалями, текстурами и материалами может сбойнуть.
Вот менюшка, если из макса экспортировать. В таком виде все прочитается.
Экспортировать лучше не единым мешем, а объектами или группами. Кулинг работает.
>в среднем 15-25 fps
Пока на одном ядре считается. Распараллеливание не доделал еще.
>не смог привыкнуть к твоей "навигации"
Это для игры. Делать 3ds max я точно не собираюсь :)