Pull to refresh
3
0
Константин @dev96

Разработчик

Send message
Зачем вообще искать проникновение AABB-AABB? В узкой фазе любого физ. движка AABB уже не используется, ибо зачастую в узкой фазе имеем дело уже с вращающимися объектами…

При моей не любви к MacOS и XCode, там профилировщики ооочень удобные.
Никто, случайно, не знает аналог профилировщика аллокаций XCode под Windows?

Можете почитать про алгоритмы CCD (Continuous Collision Detection).
Везде проблема с туннелированием решается по разному.
Ну и проблема эта возникает не только с линейным движением, но и с вращательным.
Havok, например, не решает в CCD проблему быстрого вращения.
На практике везде используется динамическое AABB-дерево.
Изначально строится дерево, содержащее подскэйленные + увеличенные по направлению движения (прогнозирование) баунды. Когда баунд тела выходит за пределы текущего баунда, тогда уже вставляют элемент по новой. При этом дерево полностью не перестраивают. На этом моменте еще можно провести множество оптимизаций, связанных с поиском новых столкновений и актуализацией старых.
Также разделяют деревья для статических и динамических элементов, у которых может быть различной стратегия обновления.
Ну и разделение деревьев положительно сказывается на запросах к сцене (raycast, overlap, sweep и т.д.)
Может видели?
www.codercorner.com/blog/?cat=4
Блог автора той самой физики и одного из ведущих разработчиков PhysX.
Большое спасибо за статью.
На хабре была статья о том, что начиная с VS19 отладчик запускается в отдельном 64-битном процессе. И гифка с примером на Gears Of War.
Я бы не сказал, что проблемы расширений — это прям беда Visual Studio.
Проблема обычно со всякими CMake и т.п. Решения давно уже не меняются внутри. Toolset-ы предыдущих версий можно спокойно ставить через installer.
А MSVC, кстати, можно скачать без IDE (MSVC Build Tools).
Да и VS официально поддерживает GCC и CLang.
Вы точно включили toolset vc141 и C++17?
structured bindings точно работали в 15.9.5, а if statement with initializer я начал юзать уже в RC19.
Вообще вот: docs.microsoft.com/en-us/cpp/overview/visual-cpp-language-conformance?view=vs-2019
И то и другое с 15.3 работают.
Уточню на всякий случай, что по умолчанию проект настроен на C++14.
Так я не выполнял никакие действия из бесплатной лицензии, так что обычная демо и была.
А насколько скоро статья будет?

Кстати, по теме бесплатной версии: раньше были ограниченные переходы в бесплатной версии. Потом, в какой-то момент после переустановки системы, я поставил PVS и ограничение переходов вообще отсутствовало. Это был баг или вы ограничение убрали?
Как раз на выходных занимался свои проектом и допиливал логгер на базе fmtlib и потихоньку начал прикручивать тот самый календарь (date) под MSVC из репозитория автора.
Так вот, у меня созрел вопрос: как обстоят дела с часовыми поясами? Я не до конца разобрался в этом вопросе, но меня уже волнует вопрос быстродействия. Поскольку там парсится база часовых поясов и прям вшивается в runtime-api. Далее, насколько я понимаю, current_time_zone не инициализируется при запуске, как делается в либах C, а постоянно запрашивается и через строчный идентификатор возвращает объект date::time_zone. Просто как-бы если вовремя работы поменять часовой пояс, то сишный localtime вернет время по старому часовом поясу…
У кого-нибудь есть не столь поверхностные познания об этих вещах? И проверял ли кто-нибудь быстродействие std::chrono + date в этом вопросе?

P.S. Поюзал денек этот календарь и чет он не особо удобным показался, хотя я был рад его анонсу. А fmtlib в std очень рад. Теперь жду концепты и полноценную поддержку C++20.
P.S.S. constexpr math — вот теперь заживем...)
В UE4 и PhysX тоже пачка таких макросов
Начисленный им инвайт был тут же активирован для прокачивания аккаунта до полноценного, в результате чего у пользователя в профиле написано, что он пригласил сам себя. Это, опять же, не баг, а фича.


А я испугался, и думал, что это баг или я нажал куда-то ни туда)

Проверил)
В видео, которое вы упомянули (которое, кстати, называется "Making a game in 10 minutes") референсом была эта игра.

Скорее вот оригинальная игра с этой идеей геймплея(2012):
www.superhexagon.com
Поздравляю, что вовремя (даже через чур рано) нашел свое призвание
А по производительности есть сравнение в цифрах?
И оно там весьма скудное)
Я, когда делал давно свой логгер, формат задавал единожды и единожды его преобразовывал в последовательность команд.
Вы реализовали форматирование в своем логгере?

P.S. я чет первым делом подумал про формат сообщений, а не разбор параметров.
И string_view тоже ведь читается compile-time.

P..S. Возьмите fmtlib. Поддерживает printf-style и python-style.
Есть spdlog на его основе, но я бы не рекомендовал его брать, ибо он header-only и ради какой-то ерунды инклюдит вам windows.h

Information

Rating
Does not participate
Location
Харьков, Харьковская обл., Украина
Date of birth
Registered
Activity