Pull to refresh
0
Василь Бєляєв @VXPread⁠-⁠only

C#, C++, Lua

Send message

Learn OpenGL. Урок 6.4 – IBL. Зеркальная облученность

Reading time26 min
Views19K
OGL3
В предыдущем уроке мы подготовили нашу модель PBR для работы вместе с методом IBL – для этого нам потребовалось заранее подготовить карту облученности, которая описывает диффузную часть непрямого освещения. В этом уроке мы обратим внимание на вторую часть выражения отражающей способности – зеркальную:

$L_o(p,\omega_o) = \int\limits_{\Omega} (k_d\frac{c}{\pi} + k_s\frac{DFG}{4(\omega_o \cdot n)(\omega_i \cdot n)}) L_i(p,\omega_i) n \cdot \omega_i d\omega_i$


Читать дальше →

Learn OpenGL. Урок 6.3 – Image Based Lighting. Диффузная облученность

Reading time21 min
Views13K
OGL3 Освещение на основе изображения или IBL (Image Based Lighting) – является категорией методов освещения, основанных не на учете аналитических источников света (рассмотренных в предыдущем уроке), но рассматривающих все окружение освещаемых объектов как один непрерывный источник света. В общем случае техническая основа таких методов лежит в обработке кубической карты окружения (подготовленной в реальном мире или созданная на основе трехмерной сцены) таким образом, чтобы хранимые в карте данные могли быть напрямую использованы в расчетах освещения: фактически каждый тексель кубической карты рассматривается как источник света. В общем и целом, это позволяет запечатлеть эффект глобального освещения в сцене, что является важной компонентой, передающей общий «тон» текущей сцены и помогающей освещаемым объектам быть лучше «встроенными» в нее.

Поскольку алгоритмы IBL учитывают освещение от некоего «глобального» окружения, то их результат считается более точной имитацией фонового освещения или даже очень грубой аппроксимацией глобального освещения. Этот аспект делает методы IBL интересными в плане включения в модель PBR, поскольку задействование освещения от окружения в модели освещения позволяет объектам выглядеть гораздо более физически корректно.
Читать дальше →

Learn OpenGL. Урок 6.2 – Physically-Based Rendering. Аналитические источники света

Reading time12 min
Views13K
OGL3 В предыдущем уроке был дан обзор основам реализации физически правдоподобной модели рендеринга. В этот раз мы перейдем от теоретических выкладок к конкретной реализации рендера с участием непосредственных (аналитических) источников света: точечных, направленных или прожекторного типа.
Читать дальше →

Learn OpenGL. Урок 5.2 — Гамма-коррекция

Reading time10 min
Views22K
OGL3

Гамма-коррекция


Итак, мы вычислили цвета всех пикселей сцены, самое время отобразить их на мониторе. На заре цифровой обработки изображений большинство мониторов имели электронно-лучевые трубки (ЭЛТ). Этот тип мониторов имел физическую особенность: повышение входного напряжение в два раза не означало двукратного увеличения яркости. Зависимость между входным напряжением и яркостью выражалась степенной функцией, с показателем примерно 2.2, также известным как гамма монитора.


Читать дальше →

Домашняя электросеть

Reading time12 min
Views43K
Здесь часто возникает тема защиты оборудования в домашней электросети, но очень часть при описании базовых параметров устройств защиты информация не соответствует действительности или же, в лучшем случае, основана на отдельных примерах. Потому далее будет своеобразный ликбез о том, как правильно сделать вводный электрощиток.

Это не столько инструкция, сколько объяснение, что должно быть сделано, так как каждое подключение по сути индивидуально. В любом случае необходима консультация с учетом реальной ситуации.
Читать дальше →

Дружелюбная защита WEB ресурса от атак перебором

Reading time4 min
Views12K
Одна из проблем, которая возникает перед WEB-ресурсами имеющими персональные кабинеты — атака перебором. Да, простой перебор всех вариантов пароля для конкретной учетки. Тупо? Возможно, но такая атака может сильно нагрузить ресурс. К тому же, если контроля сложности пароля пользователя при регистрации нет, она может оказаться еще и успешной.

Чаще всего, вопрос решается относительно просто. Если пользователь ввел несколько раз неправильно пароль, его учетка блокируется на какое-то время. Альтернативное решение — выводить капчу. Сразу, или после нескольких неудачных попыток. Ну, и не забудем про 2F авторизацию, которая почти неуязвима. Казалось бы — профит! Но, не все так радужно…
Читать дальше →

Steam CEG от Valve и с чем его едят. Все сложное — просто

Reading time4 min
Views20K
image

Добрый час, %USERNAME%! В моей предыдущей статье "Steam CEG от Valve и с чем его едят. Введение" было дано лишь абстрактное понимание и принципы работы технологии CEG. В этой статье будет по абсолютному минимуму теории и преобладающее большинство практики. Сегодня и сейчас мы рассмотрим, можно ли «отучить» от этой защиты заветный исполняемый файл.
Читать дальше

Как сделать машину времени для радио

Reading time3 min
Views11K

Radio Spectrum Archive даст вам прослушать старые передачи будто бы вживую



Спектр записи на АМ-частотах, сделанной на VHS-плёнку в 1986-м. Можно чётко различить отдельные станции в виде пиков, разбросанных по оцифрованной записи.

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

Машина времени Уизерспуна – это The Radio Spectrum Archive. Её создание стало возможным благодаря распространению в последние годы дешёвых программно определяемых радиосистем (ПОР), способных оцифровать огромные объёмы спектра радиочастот. ПО в ПОР можно использовать для выбора отдельных передач и прослушивания их вживую. Или же можно записать весь спектр и проиграть его при помощи программы позже, давая слушателям доступ к передачам так, будто они идут только сейчас.

Компоненты электровелосипеда: мотор

Reading time6 min
Views55K
Приветствую снова!

Поскольку предыдущее моё малое эссе было воспринято в целом позитивно, хочу поделиться некоторыми накопленными в процессе чтения форумов, знаниями, касательно электровелосипедов.



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

Надеюсь, это кому то покажется интересным. Обозревать буду только трехфазные двигатели постоянного тока — ибо остальные не исследовал, да и относительно редки эти остальные
в наше время.
Читать дальше →

Вторая жизнь электродуховки «Харьков»

Reading time14 min
Views63K
Всем привет.

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

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

Что делать?

Правильно! Воскрешать.
Читать дальше →

Сага о поливоксе: полёт советского Феникса из 80-х к «светлому» будущему в DOOM

Reading time7 min
Views22K
Этот пост выходит в качестве дополнения к циклу «Тернистый путь развития синтезаторов». Резонансные комментарии читателей к предыдущим материалам серии, навели на мысль о создании этой статьи. Затрагивая синтезаторы 80-х, мы не справедливо обошли стороной советский инструмент «Поливокс», который сыграл заметную роль в современной культуре. Инструмент, выпускавшийся в СССР до 1990-го года, через 15 лет после прекращения производства становится культовым, а в минувшем году было заявлено о начале производства новой версии синтезатора.



Поливокс, созданный инженером Владимиром Кузьминым, нельзя назвать мировым прорывом или инновацией для 1982 года, когда он был запущен в серию. Принципы работы поливокса не не были новым словом в мировой технике, если не брать в расчет уникальное, агрессивное звучание инструмента. Однако именно это устройство, в силу обстоятельств, является самым известным и заметным в современной музыке продуктом советской электромузыкальной индустрии. Именно этот не слишком замысловатый, монофонический синтезатор стал источником возможностей не только для своих современников, но для многих именитых современных музыкантов, в частности для таких групп как Franz Ferdinand, Rammstein, Goldfrapp, а также создателя саундтрека к новому DOOM, Мика Гордона.

Нейронные сети против цензуры хентая

Reading time3 min
Views105K


От переводчика: Этот забавный репозиторий уже с неделю находится в трендах гитхаба, и сейчас у него фееричное количество из 5000 звёздочек и 400 форков — поэтому я подумал, что было бы интересно перевести про него статью, хотя она короткая, да и тематика для хабра не очень стандартная.
Если интересно, в оригинале статьи (ссылка около заголовка) есть ссылки на примеры работы программы.
Читать дальше →

История об одном глазе и 20 операциях (не читать впечатлительным) или он хотел быть летчиком, а его не пускали в небо

Reading time9 min
Views63K
Операции на глазах по улучшению зрения

Как вы думаете, сколько операций можно сделать на одном глазу? Клинический случай одного из моих пациентов подтверждает, что более 20 операций разного рода – не предел. Хотя, вне сомнения, этот случай – рекорд для России и мировой офтальмологии.

В 1978 году все было банально – был 18 летний мальчик (назовем его «А»), который хотел стать летчиком-испытателем как его отец. Этому мешала слабая близорукость правого глаза – всего минус 1, для жизни не мешала, но будущему пилоту нужно было хорошее зрение. Он решил подправить оптику одного глаза путем кератотомии – старого «ручного» метода коррекции в институте Фёдорова (конечно, по знакомству), но что-то пошло не так. Это была первая операция. Затем еще четыре в России, затем еще семь – в Швейцарии. Летчиком он не стал, зато стал олигархом, человеком, управляющим серьезными бизнес-проектами, но не управляющим ситуацией со своим зрением.

Ко мне «А» попал совершенно разочарованный в мировой офтальмологии, со зрением 10%, невозможностью коррекции стандартными способами и высоким внутриглазным давлением. И это был молодой 50-летний бизнесмен, по жизни — успешный (это важно – потому что дальше тоже не все пошло «так»). Так вот – следующие восемь операций – мои. И хотя мы рассчитывали, что одной-двух будет достаточно – пришлось пережить почти тотальную офтальмохирургию – все возможные виды операций.

Кстати, была бы вместо кератотомии коррекция СМАЙЛ (ReLEX SMILE) или, хотя бы, Femto-LASIK – не о чем бы было писать – ничего подобно при них невозможно!
Читать дальше →

Как я вижу идеальный браузер

Reading time37 min
Views37K
В последнее время появилось много статей о недостатках современного софта, при этом никто не пробует предложить свои решения, чтобы поменять ситуацию. Эта статья — ответ на некоторые статьи об этом, равно как и о мечтах о идеальном браузере. Как можно было бы переработать браузер, его UI, методы взаимодействия с сайтами, улучшить протоколы и пользовательский опыт в целом. Если у вас есть какие-то, пусть даже самые смелые мысли по этому поводу, то предлагаюсь обсудить их и быть может заложить основы для создания идеального браузера. В конечном счете, рано или поздно это нужно будет сделать, так как ситуация на рынке браузеров на данный момент совсем не радостная. И не проблема, что другие браузеры очень сложны и их сложно догнать — мы можем пойти по своему пути, реализовывать только необходимые части стандартов, при этом можем вводить свои нестандартные расширения. Не надо бежать за другими, пусть другие бегут за нами. Пусть наш браузер будет создан для людей, а не во имя коммерческих интересов корпораций добра и странных консорциумов, от которых давно нет никакой пользы.



Что же должно быть в идеальном браузере?



Читать дальше →

Илон Маск уволил менеджеров проекта спутникового интернета Starlink из-за несоблюдения дедлайнов

Reading time2 min
Views27K


На днях стало известно о том, что СЕО SpaceX Илон Маск уволил как минимум семь менеджеров проекта спутникового глобального интернета Starlink. Представители компании заявили, что некоторые сотрудники уволились сами, просто их уход совпал с проведенными увольнениями. Тем не менее, Илон Маск ранее высказывал недовольство скоростью реализации проекта, поэтому вполне может быть, что сейчас предприниматель решил все ускорить.

Ранее сообщалось, что SpaceX получила разрешение от FCC ( Federal Communications Commission) на разворачивание в космосе спутниковой сети из 4425 спутников. По замыслу компании, сеть такого масштаба способна покрыть всю планету связью, обеспечив доступом к интернету представителей наиболее удаленных и труднодоступных регионов. Завершить разворачивание сети Маск намеревается к 2027 году.
Читать дальше →

Играем в Mortal Kombat с помощью TensorFlow.js

Reading time18 min
Views19K
Экспериментируя с улучшениями для модели прогнозирования Guess.js, я стал присматриваться к глубокому обучению: к рекуррентным нейронным сетям (RNN), в частности, LSTM из-за их «необоснованной эффективности» в той области, где работает Guess.js. В то же время я начал играться с свёрточными нейросетями (CNN), которые тоже часто используются для временных рядов. CNN обычно используют для классификации, распознавания и обнаружения изображений.


Управление MK.js с помощью TensorFlow.js

Исходный код для этой статьи и МК.js лежат у меня на GitHub. Я не выложил набор данных для обучения, но можете собрать свои собственные и обучить модель, как описано ниже!
Читать дальше →

Джентльменский набор программиста UE4, ч. 1

Reading time3 min
Views52K


Давно хотелось составить список навыков и инструментов, которыми, по моему мнению, должны входить в «джентльменский набор» любого программиста под Unreal Engine 4. Буквально на днях, в чатике по UE4 я встретил такое:

> blueprints, animation dev, tech art, ai, multiplayer, editor extensions. первое, что пришло в голову

> Что приходит на ум: blueprints, animations, AI, material editor, widgets, slate, editor extensions, ue4 plugins, physics, lighting, rendering, c++
+ Сколько времени работал(а) с движком и страна, всё :)

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

Презумпция ума

Reading time2 min
Views43K
Новое место работы. Все собеседования позади. Первый рабочий день. Тебя проводят к рабочему месту. Там уже стоит готовый к работе ноутбук. Ты открываешь крышку. Все, ты готов к работе. Твоя первая задача. К тебе подходит человек, который должен ввести тебя в курс дела. Он объясняет тебе, что нужно сделать: баг с фиксом в 3 строчки кода. Попутно тебе помогают настроить рабочий комп. И вот ты уже приступаешь к задаче и понимаешь, что как-то все не так…

Во-первых, для сборки фронтенда у нормальных людей давно уже используется Webapck, на худой конец Gulp. Неужели они ничего не слышали про Docker?! Они вообще не умеют писать на Python!? Да и зачем здесь в принципе Python, и почему он еще 2й версии!? Вот дебилы! (Здесь может быть любой WTF на ваш вкус).

Мысли свои озвучиваешь вслух. Но про дебилов молчишь, конечно, все-таки культурный человек. Но на лице все написано. А вообще должны и сами понимать. И вроде все правильно. И все по делу. Но…
Читать дальше →

Теплые и ламповые: пять балалаек про технологии магнитной аудиозаписи

Reading time12 min
Views15K
Окей, Хабр, в предыдущем посте я (намеренно) больше внимания уделил ностальгической рыдалке на тему аудиокассет, чем технической части. В этом посте исправляюсь. Аудиокассеты очень интересны тем, что историю этой технологии можно отследить от начала (1962 год) до конца (конец девяностых — начало двухтысячных). В более привычной нам цифровой вселенной пока мало аналогичных примеров. Восьмибитные компьютеры? Нет, принцип их жив и поныне в контроллерах и прочих Arduino. ЭЛТ-мониторы — вот благодатная тема про теплое-ламповое изображение, но стоит лишь один раз поднять скромный 17-дюймовый девайс, и сразу хочется приветствовать прогресс всеми руками, ногами и спиной.

Разве что голосовые модемы являются хорошим примером «закрытой» технологии. Чем такие технологии интересны, так это возможностью изучить все этапы развития. Вот начальная стадия, когда устройства стоят дорого, а их потребительские свойства далеки от идеала. Вот золотой век: технология становится массовой, в R&D вкладываются значительные средства, достигается наивысшее качество продукта, но только в самых дорогих экземплярах. Вот закат: уже есть технология посвежее, цены и маржа падают, продукция стремительно упрощается, падает надежность. А вот загробная жизнь: производятся только копеечные, самые простые устройства, минимально выполняющие заданную функцию, уныло и плоховато.

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

Древности: Аудиокассеты, которые мы не потеряли

Reading time10 min
Views50K
Лет через пять очередной бодрый стартап предложит прорывную технологию. Хитрые алгоритмы машинного обучения берут музыку и немного ее модифицируют, на пределе слышимости. Тут побольше баса, там поменьше высоких частот, или наоборот. Утверждается, что такие модификации уникальны для каждого пользователя, и основаны на его психологическом профиле. Сообщается, что небольшие изменения (музыканты протестуют: они портят звук!) полностью меняют отношение к песням, заставляют чувствовать особую привязанность, делают из просто музыки индивидуальное переживание.

Ах да, в процессе прослушивания музыка продолжает меняться так, что услышав вариант, адаптированный для другого человека, пользователь смутно ощущает, что чего-то не хватает. Круто, да? Если увидите такую новость, обязательно сходите в комментарии и скажите, что стартап заново изобрел аудиокассету.

Моя кассетная эпоха пришлась на детство и юность, и закончилась не так давно — в 2003 году. Или все же давно, достаточно, чтобы забыть почти все детали этого особого социального и технического экспириенса, кроме, пожалуй, того, что кассеты плохо звучали. Это не совсем так, скорее мы их плохо слушали. Но понял я это только в 2018 году, заново открыв для себя этот формат докомпьютерной эпохи, который, тем не менее, и в истории персональных компьютеров сыграл свою роль. Сегодня я отчитываюсь о том, каково это — пользоваться технологией, которая была самой популярной в мире, потом умерла, а сейчас восстает из мертвых.

Information

Rating
Does not participate
Location
Одесса, Одесская обл., Украина
Date of birth
Registered
Activity