Тогда это и есть кандидатская и совсем не по философии. :) И PhD у нас — это кандидатская, а не докторская (которая у нас куда как серьёзнее кандидатской).
А так:
Я философию постиг,
Я стал юристом, стал врачом…
Увы! с усердьем и трудом
И в богословье я проник, —
И не умней я стал в конце концов,
Чем прежде был…
Глупец я из глупцов!
Магистр и доктор я — и вот
Тому пошёл десятый год;
Так GDI в любом случае медленнее работает, чем прямая запись через DirectDraw (с блиттером или без). Просто, в оконном режиме в DirectDraw нужно знать, какой формат представления цвета выбран в настоящий момент и рисовать именно в этом формате (а форматов этих довольно много, вплоть до палитровых). В случае же использования GDI все преобразования (с потерей производительности) выполнит сама Windows. Я так думаю, просто оконный режим был сделан «для галочки».
Прикольно. :) Только почему такой FPS низкий? У меня такой FPS софтверный движок мой даёт. :)
Кстати, если интересно, вот ещё мои движки, который под MS-DOS, он 2002 года с мелкими модификациями в 2006 и 2015. И это полноценная игра с графикой из Doom (движок тоже на BSP, но разбиение до линий, а не полигонов). А который для Windows написан прошлым летом, когда я решил этот MS-DOS движок переделать в отдельный движок. :) Дальше энтузиазм угас. :)
Да, освещение по вершинам — оно штатное в OpenGL и оно и используется. Только все эти вершины получены трассировкой лучей от источников света на этапе разбиения карты.
В самом движке: F1-F4 — управление рендерингом, пробел — открыть дверь, курсор — управление, enter-вычислить FPS (записывается в файл).
Сам движок по сути плоский как Doom — я в 3D карту нарисовать не могу и редактор такой не смог написать — не представлял на тот момент, как оно должно выглядеть. Да и для физического движка удобно работать с плоскостью. :)
Кстати, по поводу GL_LIGHTING. В 2004 году написал я вот такой вот движок: ссылка
В нём нет ни одной карты освещённости. Он использует только GL_LIGHTING. Фишка в том, что можно для каждой грани выбрать 8 источников света (самых главных) и для них выполнить разбиение грани на компоненты, в которых из этих 8 источников некоторые включены, а некоторые выключены (не освещают эти компоненты). Что это даёт на практике? Чёткое цветное освещение с замечательными тенями и при этом любой источник можно динамически изменять прямо в процессе работы программы. Насколько я понимаю, нигде больше такой подход никто не применял — я ничего подобного не встречал. И вот последние 13 лет я всё никак не допишу статью со всей математикой для таких движков. :)
Очень интересно! Только непонятно, зачем использовать GDI в оконном режиме, если в нём также можно использовать DirectDraw. Наверное, это сделали чтобы не связываться с вариациями цветовых настроек у пользователей, хотя, при этом должно было немного упасть быстродействие.
В том-то и фишка. Я долго выбирал, что же купить себе. И всё-таки, остановился на Flir. А смартфона у меня нет — я их не люблю. Пришлось поискать, как к компьютеру подключить. Получилось — протокол уже tomas123 вскрыл на eevblog. :)
Вот тут ( https://mysku.ru/blog/usa-stores/44299.html ) есть сравнение фотографий, правда, с телефонов. Тем не менее, Seek Thermal имеет худшую чувствительность и большую шумность (как и писал выше, я где-то читал, что у него матрица плохо изолирована от подложки, отсюда и проблемы).
Вот ещё снимки на улице с Flir One Gen 2 (ещё раз обращаю внимание — это только прямая картинка с тепловизионной камеры — никакого MSX не добавляется):
Режим наложения тут не при чём. Снимать картинку лучше не штатной программой от смартфона (она, говорят, разрешение снижает до 120x90), а отдельным ПО с компьютера без всякого наложения — только тепловая камера. У Flir весьма низкие шумы и хорошая чувствительность.
Вот, смотрите:
Что-то зачастили тут описания Seek Thermal. Почему-то никто Flir One Gen 2 не хочет попробовать. А ведь у Flir при его 160x120 шумы матрицы очень низкие и чувствительность высокая. Да и к компьютеру он подключается запросто по USB.
Повторю свой так и не прошедший модерацию комментарий в подобной теме (спят модераторы, похоже...). А информация пригодиться может многим пользователям Flir One Gen 2. Тепловизор Flir One можно подключить к компьютеру. Вот тут tomas123 вскрыл протокол обмена и написал своё ПО. http://www.eevblog.com/forum/thermal-imaging/question-about-flir-one-for-android/?all Спасибо ему за это огромное!
А вот тут уже моё ПО для QNX 6.3 и Windows XP: http://4pda.ru/forum/index.php?showtopic=785172
А так:
Там ведь всё рисование-то:
Обычный проход по памяти с заполнением пикселя (как в MS-DOS). Большего в Q2 и не требовалось. А тут даже блиттер не нужен.
А вот на I740 OpenGL глючил в Q2 — это я хорошо помню. :)
А здесь, случайно, не получилось ошибки при переводе PhD? Уж больно странно такие защиты выглядят.
Кстати, если интересно, вот ещё мои движки, который под MS-DOS, он 2002 года с мелкими модификациями в 2006 и 2015. И это полноценная игра с графикой из Doom (движок тоже на BSP, но разбиение до линий, а не полигонов). А который для Windows написан прошлым летом, когда я решил этот MS-DOS движок переделать в отдельный движок. :) Дальше энтузиазм угас. :)
Ссылка
Скриншот:
Да, освещение по вершинам — оно штатное в OpenGL и оно и используется. Только все эти вершины получены трассировкой лучей от источников света на этапе разбиения карты.
В самом движке: F1-F4 — управление рендерингом, пробел — открыть дверь, курсор — управление, enter-вычислить FPS (записывается в файл).
Сам движок по сути плоский как Doom — я в 3D карту нарисовать не могу и редактор такой не смог написать — не представлял на тот момент, как оно должно выглядеть. Да и для физического движка удобно работать с плоскостью. :)
В нём нет ни одной карты освещённости. Он использует только GL_LIGHTING. Фишка в том, что можно для каждой грани выбрать 8 источников света (самых главных) и для них выполнить разбиение грани на компоненты, в которых из этих 8 источников некоторые включены, а некоторые выключены (не освещают эти компоненты). Что это даёт на практике? Чёткое цветное освещение с замечательными тенями и при этом любой источник можно динамически изменять прямо в процессе работы программы. Насколько я понимаю, нигде больше такой подход никто не применял — я ничего подобного не встречал. И вот последние 13 лет я всё никак не допишу статью со всей математикой для таких движков. :)
:)
Вот, смотрите:
А вот тут уже моё ПО для QNX 6.3 и Windows XP: http://4pda.ru/forum/index.php?showtopic=785172