Как стать автором
Обновить
65
12.9

Пользователь

Отправить сообщение

Модифицируем алгоритм Брезенхэма для рейкаста в стиле Wolf3D

Уровень сложностиПростой
Время на прочтение10 мин
Количество просмотров2.1K

Недавняя статья о рендеринге полигонов для «Денди» завершилась (уже в камментах) небольшой интрижкой: «хочу реализовать 2.5D, но не уверен, что получится плавная камера». Естественно, мимо такого я пройти не мог :) и сейчас прикладываю максимум усилий к тому, чтобы плавная камера на этом несуразном железе таки получилась. По мне, шутер (даже 2.5 D) без мышки, хотя бы пополамной или RS232, и плавной камеры с высокими FPS — не шутер, а вот остальное можно смело принести в жертву драйву (и принесём!)

Наивный алгоритм, он же DDA, знают все. Но ветвления на каждом шаге, с делениями, умножениями и сравнениями — это явно не про «Денди» сказано. К счастью, у нас есть намного более быстрый алгоритм — алгоритм рисования линий Брезенхэма. Нужно только его немножко доработать напильником, чтобы он годился для того, для чего мы его собираемся использовать!

Оригинального «Брезентыча» я особо подробно расписывать не буду. Если ещё его не знаете — просто прочитайте, а я сразу перейду к тому, чем он нам неугоден в его каноничном виде.

Да уж небось я знаю, как «Брез» работает!

Модульные ноутбуки: рак сам не рассосётся, нельзя победить, если увёртываться от всех сражений

Уровень сложностиПростой
Время на прочтение22 мин
Количество просмотров3.3K

Подводя итоги года.

Что изменилось?

Всё стало хуже. Раковая опухоль маркетологического подхода ещё немного подросла. Все говорят, что хотят такую штуку, но никто не сделал ничего, чтобы к ней относились всерьёз. Отсутствует какой‑либо резонанс, нет никаких обсуждений вне Хабра, не говоря уже об обсуждениях в англоязычной среде. Нет массовой поддержки, а значит — отсутствует прогресс. Хотя, судя по реакции, эта модель могла бы с ходу сожрать от процента до трёх на рынке — космические цифры, если что (перспективы дальнейшего развития я не берусь оценивать, они очень зависят буквально от всего, оцениваю пока базовую модель).

Но, если даже готовому продукту нужен хайп, чтобы продаваться — у предложения по стандарту всё ещё хуже. Чтобы «голая идея» в виде стандарта дошла до рынка — ей нужен не просто хайп, а хайпище, когда весь мир 24/7 говорит о новой парадигме и перед сном кладут на подушку газетку, чтобы не мочить её слюной.

Окунуться в дальнейший WTF на свой риск

Тормоз с «эффектом вбитого клина»

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров2.4K

Итак, спонсор сегодняшнего выпуска — чёртова ангина. Поскольку ничего умного голова делать не может, а руки делать что‑то точное отказываются — на арене нашего цирка очередная велосипедная чушь. А поскольку я сейчас тормоз — речь тоже сейчас буду вести о себе подобных.
Хорошо, когда у тормозных колодок большой ход! Даже после не самых удачных приземлений ничего не начинает затирать и не требует срочно ловить миллиметры в условиях нанотехнологической мастерской, которые так часто встречаются в лесах. Но большой ход означает большое плечо рычага. А большое плечо рычага означает, что для их сжатия потребуется сверхчеловеческое усилие на ручке. Нет, хорошо, когда у тормозных колодок маленький ход! Вот, например, дисковые тормоза... гидравлика... погнутые ди... ой, стоп, это уже лишнее. Что ж делать‑то?
Попробуем сделать большой ход, чтобы нам было всё равно, что уж там у нас потеряло заводскую форму после «уборки» в какой‑нибудь пень — ну, а усилие прижима колодок возьмём, собственно, от момента вращения колеса, а не чисто от ручки тормоза.

А давайте тормозить вместе!

Как я скрестил JPEG, GIF и получил VP9

Уровень сложностиСредний
Время на прочтение11 мин
Количество просмотров2K

« Надо будет мне собраться с яйцами, добить исследование и выдать на-гора статью о сжатии жпегом в 3D (то есть не квадрат 8х8, а куб 8х8х8). Там получился (не у меня первого, но у меня тоже получился, кек) неплохой видеокодек, в котором корреляция «между кадрами» не требует отдельно никакие области движений, смещений (и так далее) высчитывать — они там получаются нативно, «просто потому, что». И жмёт он — держите меня семеро.

Я это рассматривал как расширение (внезапно) стандарта GIF — новый тип кадра для анимации, в котором вместо одного кадра лежат сразу 8. Все остальные опции, типа заголовка с длительностью — оставляем стандартные анигифовские. Ну, и пара новых служебных форматов чанка потребуется — таблицы Хаффмана и квантования сами себя не загрузят.

А главную проблему, связанную с тем, что количество умножений там не квадратичное, а кубичное, я разрешил очень просто, без всяких группировок «бабочкой» и как там вообще обычно это до меня пытались делать: поскольку 95% величин квантуются в ноль (а иначе зачем бы было вообще такое сжатие, как не ради его эффективности?), я просто в 95% случаев перехожу в continue; :-)

И всё у меня в реалтайме на одном ядре сразу стало летать… ларчик просто откр оптимизировался :-D »

Disclaimer: статья эта написана по просьбе почтеннейшей публики. Сам я не хотел выкладывать результаты, которые недостаточно «отполированы» для передачи их широкому кругу…

Дай подержать! Я не уроню, честно!

Как мы изобрели самый бессмысленный и беспощадный дифференциал

Уровень сложностиПростой
Время на прочтение4 мин
Количество просмотров3.8K

Здравствуйте, меня зовут Николай и я алко... хуже, я соучастник и организатор изобретения дифференциала для дорожного катка (да, слово «соучастник» здесь подходит лучше всего, потому что таких преступлений против логики и здравого смысла надо ещё поискать...)

Мой разум твёрд и я могу это читать

Как я не добился 60 fps на дистанции 256 чанков на Lenovo X201i

Уровень сложностиПростой
Время на прочтение12 мин
Количество просмотров7K

Летом накануне пандемии ударила как-то раз мне в голову блажь.

Почему бы не взять движок типа Wolf3D/ROTT и не доработать его до уровня, способного тянуть Minecraft, максимально сохранив при этом производительность? А в жертву при этом можно принести все "красивости", сведя задачу к максимально узкому случаю. Пусть герой, в стиле ретро, смотрит всегда строго перпендикулярно одной из координатных осей (как правило, это вертикальная ось, то есть взгляд направлен строго горизонтально), угол зрения по вертикали пусть составляет 45 градусов (это важно, но об этом ниже), а всё остальное решаем лютыми костылями.

Кармака на тебя нет!

Мышиный заговор потребителей модульных ноутбуков объявляю открытым

Уровень сложностиПростой
Время на прочтение11 мин
Количество просмотров13K

Модульные ноутбуки — давно не новость, и каждый раз мы видим одну и ту же удручающую картину. Очередной стартап предлагает «модульность» на уровне «можно красненький», «можно синенький», «а можно ещё зелёненький», а ещё когда‑нибудь, может быть, можно будет купить модуль какого‑нибудь периферийного порта, из числа тех, которые и так доступны через USB‑переходник — но в виде гламурных плиточек, вылизанных дизайнерами и маркетологами (ни одного инженера не пострадало), естественно, не совместимых вообще ни с чем: иначе же будет недостаточно модульно, стильно, модно и молодёжно!

Примкнуть к заговору!

Как мы не изобрели роторный двигатель на новых принципах

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров22K

Можно ли считать колесо новым принципом? С одной стороны, появилось оно несколько раньше, чем ДВС. С другой стороны, применение трения качения там, где до этого исторически применялось исключительно трение скольжения — явный шаг вперёд. На фоне технологии «тащим моржа за клыки волоком» изобретение колеса — настоящий прорыв!

Подвинься, дай-ка я его изобрету!

Как мы трёхколёсный велосипед изобретали

Уровень сложностиПростой
Время на прочтение5 мин
Количество просмотров5.4K

Не то что бы я пытался конкурировать с DIY-стратостатом, конечно. Если где-то в конкурсе есть космос или хотя бы стратосфера — они уже победили, причём заслуженно. Но, будучи прожжённым стервятником индустриальной экосистемы, последним теплокровным перед одноклеточными добытчиками ценных и не очень металлов, не поучаствовать в оргии был бы страшный грех.

Началось всё в дветыщимохнатом году, когда мы с другом, насмотревшись видео про адски дикие и упоротые велоконструкции, перевозбудили случайно свою конструкторскую фантазию. Мысль выкристаллизовалась быстро и была на первый взгляд блестящей — за всё хорошее и против всего плохого, то есть дать конструкции те степени свободы, которые ей нужны, отобрать те, которые ей вредны и распределить вес между тремя колёсами равномерно. То есть так:

Поехали по кочкам!

72 клавиши из 8 положений стиков

Уровень сложностиПростой
Время на прочтение24 мин
Количество просмотров4.1K
Известна аккордная клавиатура, состоящая как минимум из четырёх мини-джойстиков (далее «стики»).

В данной статье будет показано, как уменьшить количество стиков до двух, с поддержкой двух режимов: оптимального для сложившейся мобильной экосистемы ПО (с малой нагрузкой на клавиши и активным использованием сенсорного экрана) и оптимального для сложившейся экосистемы ПО на платформе ПК, избежав при этом сложных жестов и использования промежуточных (диагональных) направлений.
Читать дальше →

Теоретические соображения о сжатии изображений при помощи нейросетей

Время на прочтение6 мин
Количество просмотров3.6K

Взяться за статью меня побудил недавний (в исторических масштабах) эксперимент по сжатию изображений при помощи Stable Diffusion. Бегло прочесав азбучные истины вроде Википедии, я обнаружил, что проблема «красивой, но полностью выдуманной картинки» уже известна, но самое очевидное решение из приходящих в голову — по какой-то причине не фигурирует в них.

Причины, которые я могу предположить — оно или уже давно отброшено как неэффективное (слишком снижающее степень сжатия), или же не проработано, как имеющее слишком много вариаций, из которых «не все йогурты одинаково полезны».

К счастью, статья предназначена для «песочницы», поэтому я могу спокойно высказать собственные соображения — прежде, чем она отнимет чьё-то внимание, она должна получить одобрение более осведомлённых специалистов.

Проблема нейросетей, обучаемых передавать изображение через «бутылочное горлышко», свойственна и естественным нейросетям.

Вместе предаться лукавым мудрствованиям

Информация

В рейтинге
542-й
Зарегистрирован
Активность