Pull to refresh
27
0
Владимир Алямкин @ufna

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

Send message

SMAA: улучшенное субпиксельное морфологическое сглаживание

Reading time5 min
Views28K

Данная статья основана на журнале Хорхе Хименеса, Хосе Эчеварриа, Тиаго Соуса и Диего Гутьерреса.

Их демо реализации SMAA можно посмотреть здесь (файл .exe). На моём GTX 960 2GB оно работает вполне нормально.

Старые способы сглаживания (антиалиасинга)


Долгие годы стандартами для реализации сглаживания были методы MSAA (Multisampling Antialiasing) и SSAA (Supersampling Antialiasing). На самом деле, они и по-прежнему обеспечивают наивысшее качество среди всех современных методов сглаживания. Как мы знаем, алиасинг возникает из-за нехватки сэмплов, как на пространственном (ломаные линии), так и на временном уровне (мерцание), обычно рядом с гранями и областями изображения с высоким/низким контрастом. Для борьбы с ним у нас имеются два способа, которые когда-то были единственными решениями: Supersampling и Multisampling. При суперсэмплинге мы увеличиваем изображение, а затем снижаем его дискретизацию до нужного разрешения. Этот принцип отлично работает, потому что распространяется на все аспекты проблемы. При мультисемплинге используется похожее решение. В этом методе каждый сэмпл дублируется на основание определённого коэффициента. При современных больших разрешениях для этого требуются достаточно мощные графические карты. Поэтому нам нужны новые методы сглаживания, как на пространственном, так и на временном уровнях. Все эти методы используют в своей работе один алгоритм — распознавание краёв. Но они выполняют и другие операции.
Читать дальше →
Total votes 32: ↑29 and ↓3+26
Comments11

Как создавали Spore: интервью с разработчиками

Reading time11 min
Views23K
image

7 сентября 2008 года Maxis выпустила одну из самых амбициозных игр своего времени — Spore.

Однопользовательская «игра в бога» в песочнице была поначалу воспринята со смесью одобрения и критики: многие фанаты были расстроены тем, что она не соответствовала ожиданиям, данным в демо-версиях из доклада Уилла Райта на GDC 2005 и различных показов на E3. Но со временем её признали проектом, ставшим пионером процедурной генерации, который даже спустя десять лет имеет активную базу игроков.

В процессе разработки команда Maxis разрослась от идеи в голове Уилла Райта до более 100 разработчиков; каждый дизайнер, касавшийся отдельных аспектов Spore, знал, что это нечто потрясающее. Даже если первоначальной концепции придётся в течение работы измениться.

«Когда я впервые говорил с ним, он хотел, чтобы эта игра была об уравнении Дрейка. О невероятности нашей вселенной», — рассказывает мне по Skype ведущий дизайнер Крис Тротье. «Он хотел, чтобы игроки прошли все эти этапы огромных неудач, чтобы они поняли, насколько невероятно то, что мы появились. Довольно быстро он отказался от этой идеи, но она даёт понять, насколько масштабной задумывалась игра с самого начала».

Десять лет спустя участники проекта Spore хотят рассказать о сложностях, важных моментах и опыте разработки столь влиятельной игры. В статье представлены цитаты из интервью, проведённых по отдельности с ведущим дизайнером Крис Тротье, техническим художником Кейт Комптон, ведущим дизайнером Стоуном Либранде, инженером ПО Дейвом Кулибой, ведущим инженером геймплея Дэном Московицем и помощником продюсера Гийомом Пьером. (К сожалению, Уилл Райт от нас ускользает...)
Читать дальше →
Total votes 27: ↑27 and ↓0+27
Comments9

20 игр, чтобы научить ребёнка программированию

Reading time5 min
Views304K
Привет Хабр! Меня зовут Оксана Селендеева. Я считаю, что лучше начинать программировать с юного возраста — 4-5 лет, потому что кодинг активно развивает у детей когнитивные функции мозга, и это впоследствии помогает им отлично усваивать точные науки. А попробовать себя в программированию можно через обучающие игры. Мы с преподавателями школы программирования для детей CODDY составили такую подборку.

Для дошкольников


Box Island — мобильная 3D-игра, которая обучает основам кодирования через увлекательное приключение. Игроки путешествуют по острову Box и помогают персонажу собирать звезды, разбросанные по пустыне. Через игровой квест дети изучают основы алгоритмов, последовательностей, циклов и условных выражений, а ещё игра развивает алгоритмическое мышление и распознавание образов.
Total votes 59: ↑53 and ↓6+47
Comments91

«Кто мутит воду – 2»: или всё, что вы хотели знать об обратном осмосе

Reading time13 min
Views371K


Мой первый материал — сравнение бытовых фильтров для воды «Кто мутит воду» готовился в запале исследователя-переселенца. Когда впервые переезжаешь в свою собственную квартиру, начинаешь уделять внимание мелочам — потому что делаешь и покупаешь для себя, и надо, чтобы всё было «на века». В посте я поделился опытом сравнения фильтров-кувшинов и сорбционных проточных фильтров разных производителей. Планов будить воинствующих комментаторов изначально не было… А потом в дверь личку постучали и сказали: «Пиши ещё, гостем будешь!». И я написал.
Total votes 99: ↑82 and ↓17+65
Comments354

Простота и cложность примитивов или как определить ненужный препроцессинг для нейронной сети

Reading time11 min
Views2.5K
Это третья статья по анализу и изучению эллипсов, треугольников и других геометрических фигур.
Предыдущие статьи вызвали у читателей несколько очень интересных вопросов, в частности о сложности или простоте тех или иных обучающих последовательностей. Вопросы на самом деле очень интересные, например насколько треугольник сложнее для обучения, чем четырехугольник или другой многоугольник?



Попробуем сравнить, и для сравнения у нас есть отличная, проверенная поколениями студентов, идея — чем короче шпаргалка, тем легче экзамен.

Статья эта тоже есть просто результат любопытства и праздного интереса, ничего из нее в практике не встречается и для практических задач тут есть пара отличных идей, но нет почти ничего для копипастинга. Это небольшое исследование сложности обучающих последовательностей — рассуждения автора и код изложены, можно все проверить/дополнить/изменить самим.

Итак, попробуем выяснить, какая геометрическая фигура сложнее или проще для сегментации, какой курс лекций для ИИ понятней и лучше усваивается.
Читать дальше →
Total votes 18: ↑15 and ↓3+12
Comments0

Объяснение физической сущности явления «Подъёмная сила Крыла» без использования уравнения Бернулли

Reading time93 min
Views115K
Монин Илья Алексеевич, к.т.н., МГТУ им.Баумана., imoninpgd@gmail.com

Критика существующего Теоретического объяснения Подъёмной Силы на крыле самолёта


Прослушав курс лекций МФТИ Факультет аэромеханики и летательной техники (ФАЛТ) «Введение в Аэродинамику» и прочитав несколько разных ВУЗовских учеников по «Аэродинамике» [1-3], я был озадачен рядом явных противоречий в объяснениях физики процесса обтекания потоком воздуха (газа или идеальной жидкости) различных твёрдых предметов и формирования подъёмной силы на крыле.

  1. Основной тиражируемой Версией образования подъёмной силы на крыле заявляется разность скоростей течения воздуха (жидкости) над крылом и под крылом, и вследствие этого возникает перепад давления согласно Закону Бернулли. При этом однозначно связывают через закон Бернулли расчётную скорость потока на поверхности крыла с инструментально регистрируемым давлением на крыло, игнорируя другие возможные объяснения на основе не менее базовых законов физики.
  2. При анализе обтекания идеальной невязкой жидкостью профилей в плоских течениях удивительным образом получали кратное повышение скоростей потока в сравнение с базовой скоростью V0. То есть опровергается закон сохранения энергии, так как энергия на разгон потока берётся ниоткуда, кратно превышая энергию набегающего на крыло потока. При этом игнорируется постулат гидродинамики, что по тому же закону Бернулли при истечении струи из-под уровня скоростной напор однозначно ограничивается сверху статическим напором в сосуде, то есть скоростной напор струи после разгона на крыле не может превысить статического давление сжатой при торможении среды.
Читать дальше →
Total votes 103: ↑73 and ↓30+43
Comments652

История одного лендинга: привлек много клиентов и был скопирован под сотню раз

Reading time6 min
Views56K
Привет, Хабр! Я Руслан Кокин, UX-дизайнер в компании UXhot, и у меня есть необычная история про лендинг, а также состояние копирайта в России.



Среди созданных нами продуктов есть по-настоящему легендарный лендинг пейдж, ставший донором для зарождающегося в интернете сегмента механизированной штукатурки. За три года работы он не только привлёк много клиентов, но и был скопирован почти 100 раз. Хотите узнать, что такого особенного в нем было?
Читать дальше →
Total votes 139: ↑134 and ↓5+129
Comments77

«Почему надо фейлиться быстро»: Стив Коттон из Bungie о креативном процессе в компании

Reading time3 min
Views10K
Сегодня стало известно о разделении Activision и Bungie — а у нас на руках как раз оказался материал с подборкой принципов креативного директора Bungie Стивена Коттона в разработке, отложенный до лучших времен, а перевести решили как раз сейчас. За этот материал отдельное спасибо нашему продюсеру Анатолию Шестову, который поговорил со Стивом в офисе компании во время PAX West 2018. Поехали.


Читать дальше →
Total votes 34: ↑31 and ↓3+28
Comments13

Как учиться с помощью машинного обучения у экспертов в Dota 2

Reading time6 min
Views14K

В предыдущей статье от Питерской Вышки мы показывали, как при помощи машинного обучения можно искать баги в программном коде. В этом посте расскажем о том, как мы вместе с JetBrains Research пытаемся использовать один из самых интересных, современных и быстроразвивающихся разделов машинного обучения — обучение с подкреплением — как в реальных практических задачах, так и на модельных примерах.


Total votes 31: ↑27 and ↓4+23
Comments4

Воронка изменений

Reading time10 min
Views14K
Чего воду в ступе толочь, вступления писать, сразу к делу.

Первый слой – кто хочет?


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

Но до реальных изменений дело доходит крайне – крайне редко. Это, наверное, даже не единицы процентов, а доли одного процента. Почему так?

Если собрать всех – например, программистов – и спросить: кто хочет что-то изменить в отделе, компании или отрасли? – то руки поднимут больше половины. Почему до конца, до реальных изменений, полезных и заметных, доходят эти несчастные доли? Где, и почему теряются остальные?

Этот процесс чем-то напоминает воронку, как в продажах. Помните же воронку продаж? Она показывает, сколько обращений переходят в деньги. Выглядит примерно так:


Ой, не то. Вот так:


Попробуем разобраться — кто, где отвалился и почему.

Итак, первый, самый широкий слой воронки – те, кто поднял руку.
Читать дальше →
Total votes 33: ↑28 and ↓5+23
Comments28

Изучение английского — непопулярное мнение

Reading time7 min
Views82K
Всем привет.

Очередная статья от «курсов изучения английского» сподвигла меня написать свои заметки. Этой статьёй я надеюсь ответить на некоторые вопросы изучающих язык и отговорить от глупых советов «запомнить вот эти 10/15/20 слов/конструкций», которые подаются как некие секреты языка.

Сейчас я использую лишь 2 языка: русский и английский, хотя в разное время учил также украинский, немецкий и французский. Английский изучаю с 6 лет и мне повезло с преподавателями (хоть и не со всеми), где-то со старших классов школы имею уровень C1-C2. Хочу поговорить как о планировании в изучении языка, так и о каких-то приёмах.
Читать дальше →
Total votes 68: ↑64 and ↓4+60
Comments180

Unreal Engine4 — PostProcess эффект сканирования

Reading time5 min
Views9K


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

В этой статье я расскажу, как реализовать данный эффект на UE4. Существуют несколько способов, с помощью которых вы можете создать этот эффект. Один из этих методов был выбран мною.
Если интересно, добро пожаловать под кат
Total votes 24: ↑23 and ↓1+22
Comments0

Мысли о современном C++ и игровой разработке

Reading time18 min
Views30K
Новый год для игровых разработчиков начался с волны критики, обрушившейся в адрес комитета по стандартизации C++ после публикации Араса Пранкевичуса «Жалобы по поводу современного C++». Возник серьезный вопрос: действительно ли комитет стандартов потерял связь с реальностью, или все наоборот, и это игровые разработчики откололись от остального С++ сообщества?

Вашему вниманию предлагается перевод популярного поста Бена Дина, — ветерана игровой индустрии, проработавшего продолжительный срок в компаниях Blizzard, Electronic Arts и Bullfrog в качестве разработчика на C++ и тимлида, — в котором он отвечает на критику с позиции собственного опыта.

TL;DR: Комитет по стандартизации C++ не имеет скрытой цели игнорировать нужды игровых разработчиков, а «современный» C++ не собирается становиться «неотлаживаемым» языком.
На протяжении всей прошлой недели в Twitter шла активная дискуссия, в ходе которой многие программисты – особенно те из них, кто работает в сфере игровой разработки – высказались о том, что нынешний вектор развития «современного C++» не отвечает их потребностям. В частности, с позиции обычного игрового разработчика, все выглядит так, будто производительность отладки в языке игнорируется, а оптимизация кода становится ожидаемой и необходимой.

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

Для начала — небольшой экскурс в историю.
Читать дальше →
Total votes 30: ↑30 and ↓0+30
Comments60

Unreal Engine 4 — шейдер горения

Reading time4 min
Views21K
Это небольшой шейдер, который появился, когда я думал о различных методах применения flowmap. Существуют много эффектов перехода/растворения, но большинство из них выглядит довольно статично, так как они используют статические текстуры. Данный шейдер далек от совершенства, но плавное движение делает его визуально привлекательным как плавный эффект горения.

Сам шейдер чрезвычайно прост, ниже я опишу процесс его создания. Как и с большинством моих шейдеров, я обернул его в функцию материала, чтобы его можно было использовать с любыми существующими материалами.
Читать дальше →
Total votes 22: ↑22 and ↓0+22
Comments7

Йода из Кремниевой долины

Reading time9 min
Views46K

Дональд Кнут, мастер алгоритмов, размышляет над 50 годами работы над своим главным творением, книгой «Искусство программирования», которую не прекращает дополнять



Дональд Кнут в своём доме в Стэнфорде, Калифорния. Жуткий перфекционист, назначил награду за нахождение ошибки в своих книгах.

Уже полвека стэнфордский специалист по информатике Дональд Кнут, немного напоминающий Йоду – хотя ростом он 193 см и носит очки – занимает доминирующее положение духовного учителя в области алгоритмов.
Total votes 89: ↑86 and ↓3+83
Comments53

Способы применения и искажения меткости в играх. Наглядные графики для сравнения

Reading time6 min
Views15K
Вычислять факт попадания в играх на основе полученной меткости можно по разному:

  • сравнивая с одним псевдослучайным числом (которое тоже можно получать по разному [1]);
  • сравнивая с наибольшим или наименьшим из двух псевдослучайных чисел;
  • сравнивая среднее из двух и более случайных чисел (среднее тоже можно считать по разному).


Бонусы к меткости тоже можно реализовать по разному, вызывая тем самым у игроков раздражение по разными причинам.

Точно также по разному можно рассчитывать наносимый урон, особенно на основе дайсов (кубиков).

Все эти разные подходы влияют на игровой процесс: его сложность и предсказуемость. Каждый из них может оказаться удачным решением в зависимости от преследуемых целей, поэтому выгоднее всего делать выбор осознанно.

В статье будут представлены наглядные графики изменения реальных вероятностей в разных подходах, что позволит быстрее в них сориентироваться и принять лучшее решение.
Читать дальше →
Total votes 39: ↑39 and ↓0+39
Comments33

Теория счастья. Головокружительный полёт бутерброда с маслом

Reading time21 min
Views13K
Продолжаю знакомить читателей Хабра с главами из своей книжки «Теория счастья» с подзаголовком «Математические основы законов подлости». Это ещё не изданная научно-популярная книжка, очень неформально рассказывающая о том, как математика позволяет с новой степенью осознанности взглянуть на мир и жизнь людей. Она для тех кому интересна наука и для тех, кому интересна жизнь. А поскольку жизнь наша сложна и, по большому счёту, непредсказуема, упор в книжке делается, в основном, на теорию вероятностей и математическую статистику. Здесь не доказываются теоремы и не даются основы науки, это ни в коем случае не учебник, а то, что называется recreational science. Но именно такой почти игровой подход позволяет развить интуицию, скрасить яркими примерами лекции для студентов и, наконец, объяснить нематематикам и нашим детям, что же такого интересного мы нашли в своей сухой науке.



В этой главе мы рассмотрим закон бутерброда и организуем целое исследование с применением метода Монте-Карло, и анализа размерностей. И, наконец, развенчаем популярный миф о том, что именно масло является причиной этого закона подлости.
Читать дальше →
Total votes 26: ↑26 and ↓0+26
Comments11

Бесплатный PVS-Studio для тех, кто развивает открытые проекты

Reading time3 min
Views16K
PVS-Studio free for open source

В канун празднования нового 2019 года команда PVS-Studio решила сделать приятный подарок всем контрибьюторам open-source проектов, хостящихся на GitHub, GitLab или Bitbucket. Им предоставляется возможность бесплатного использования статического анализатора PVS-Studio для развития открытых проектов.
Читать дальше →
Total votes 90: ↑89 and ↓1+88
Comments86

Хотите привлечь лучших инженеров? Откройте код

Reading time4 min
Views4.5K
«Умные разработчики любят работать с умным кодом. Открывая качественные исходники, вы привлекаете талантов»


Иллюстрация Kevin Ma

«Вы знаете о проектах Facebook с открытым исходным кодом?»

Такой вопрос задал инженерам Джеймс Пирс, бывший директор программы по открытым исходным кодам Facebook. Он изучал причины, почему те пришли в компанию. Согласно его презентации на O'Reilly's Open Source Convention, две трети инженеров Facebook знали об этой программе до прихода в компанию, а половина сказали, что это «положительно повлияло на их решение работать в Facebook».
Читать дальше →
Total votes 15: ↑14 and ↓1+13
Comments4

Нужно больше разных Blur-ов

Reading time5 min
Views14K
Размытие изображения посредством фильтра Gaussian Blur широко используется в самых разных задачах. Но иногда хочется чуть большего разнообразия, чем просто один фильтр на все случаи жизни, в котором регулировке поддаётся только один параметр — его размер. В этой статье мы рассмотрим несколько других реализаций размытия.


Читать дальше →
Total votes 54: ↑53 and ↓1+52
Comments11

Information

Rating
Does not participate
Registered
Activity