Search
Write a publication
Pull to refresh
3
0
Максим @MaxxONE

Инженер

Send message

Создание шейдеров

Reading time27 min
Views200K
Освоить создание графических шейдеров — это значит взять под свой контроль всю мощь видепроцессора с его тысячами параллельно работающих ядер. При таком способе программирования требуется другой образ мышления, но раскрытие его потенциала стоит потраченных усилий.

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


Сцена из Minecraft, до и после добавления нескольких шейдеров.

Задача этого туториала


Иногда программирование шейдеров представляется загадочной чёрной магией и его часто понимают неправильно. Существует множество примеров кода, демонстрирующих создание невероятных эффектов, но в которых практически нет объяснений. В своём руководстве я хочу восполнить этот пробел. Я сосредоточусь в основном на базовых принципах создания и понимания кода шейдеров, чтобы вы смогли с лёгкостью настраивать, сочетать или писать свои собственные шейдеры с нуля!

50 оттенков ПНЯ*. Микроконтроллеры в импульсных источниках питания. Часть 2

Reading time6 min
Views15K

ПНЯ* — Периферия Независимая от Ядра известная так же как CIP — Core Independent Peripheral



Микроконтроллеры в импульсных источниках питания
Часть 2




В предыдущей части статьи был рассмотрен вариант построения "типового" ШИМ-контроллера Импульсного Источника Питания (ИИП), варианты реализаций ШИМ-контроллеров на основе ПНЯ и некоторые топологии ИИП.
Продолжим знакомство с возможностями Периферии Независимой от Ядра применительно к задаче построения импульсных источников питания.

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

Одинарная или двойная точность?

Reading time6 min
Views80K

Введение


В научных вычислениях мы часто используем числа с плавающей запятой (плавающей точкой). Эта статья представляет собой руководство по выбору правильного представления числа с плавающей запятой. В большинстве языков программирования есть два встроенных вида точности: 32-битная (одинарная точность) и 64-битная (двойная точность). В семействе языков C они известны как float и double, и здесь мы будем использовать именно такие термины. Есть и другие виды точности: half, quad и т. д. Я не буду заострять на них внимание, хотя тоже много споров возникает относительно выбора half vs float или double vs quad. Так что сразу проясним: здесь идёт речь только о 32-битных и 64-битных числах IEEE 754.

Статья также написана для тех из вас, у кого много данных. Если вам требуется несколько чисел тут или там, просто используйте double и не забивайте себе голову!

Статья разбита на две отдельные (но связанные) дискуссии: что использовать для хранения ваших данных и что использовать при вычислениях. Иногда лучше хранить данные во float, а вычисления производить в double.
Читать дальше →

Как врачи делают коррекцию зрения сами себе

Reading time4 min
Views32K


Конечно «сами себе» мы ее делать не можем — для операции нужен другой хирург, которому ты доверяешь на все 100%. Отвечая на вопрос о том, кому доверяют родственников — своих я оперирую сама. Я делала операцию маме, тете, дочке, мужу — кому что-то нужно было «починить». Вальтер оперировал жену и тестя.

Обычно мы можем сделать при этом съемку или рассказать, как это происходит, с согласия близких. Мы занимаемся этим, когда надо «пожертвовать» кем-то ради науки. В нашей клинике уже 6 человек после лазерной коррекции зрения. В сети клиник SMILE EYES тоже несколько человек. Последний случай — у нас 7 лет работает в должности операционной медсестры-администратора девушка Аня, это она встречает и провожает пациентов на рефрактивные операции. Она миоп со стажем: к 35 годам лет пятнадцать носила мягкие контактные линзы, иногда пользовалась очками. Мысль о коррекции жила в ней все 7 лет — как это происходит, она видела многократно в виде записей из операционных. Видела она и Lasik и femtoLasik, и только операция коррекции зрения ReLEX SMILE (малоинвазивная экстракция лентикулы) вселила в нее уверенность в безопасности и безболезненности.

Об Ане: готовилась к операции как положено — за неделю честно сняла контактные линзы и пользовалась очками. Пациенты клиники удивлялись и спрашивали, почему она в очках, объясняла, что готовится к коррекции. День выбирали такой, чтобы утро она провела в клинике, во второй половине дня можно было сделать коррекцию. В этот день несколько SMILE было у меня, несколько операций SMILE — у Вальтера, приехавшего из Германии. Договорились, что Ане операцию будет делать профессор Секундо, а я помогать операторам со съёмкой.

Типичные распределения вероятности: шпаргалка data scientist-а

Reading time11 min
Views141K

У data scientist-ов сотни распределений вероятности на любой вкус. С чего начать?


Data science, чем бы она там не была – та ещё штука. От какого-нибудь гуру на ваших сходках или хакатонах можно услышать:«Data scientist разбирается в статистике лучше, чем любой программист». Прикладные математики так мстят за то, что статистика уже не так на слуху, как в золотые 20е. У них даже по этому поводу есть своя несмешная диаграмма Венна. И вот, значит, внезапно вы, программист, оказываетесь совершенно не у дел в беседе о доверительных интервалах, вместо того, чтобы привычно ворчать на аналитиков, которые никогда не слышали о проекте Apache Bikeshed, чтобы распределённо форматировать комментарии. Для такой ситуации, чтобы быть в струе и снова стать душой компании – вам нужен экспресс-курс по статистике. Может, не достаточно глубокий, чтобы вы всё понимали, но вполне достаточный, чтобы так могло показаться на первый взгляд.
Читать дальше →

Повседневный C++: изолируем API в стиле C

Reading time8 min
Views26K

Мы все ценим C++ за лёгкую интеграцию с кодом на C. И всё же, это два разных языка.


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

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

Теорема Байеса: из-за чего весь сыр-бор?

Reading time7 min
Views138K

Теорему Байеса называют мощным методом создания нового знания, но её можно использовать и для рекламы суеверий и псевдонауки




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

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

Разглагольствования студентов запутали меня, как и объяснения теоремы на Википедии и других сайтах – они были либо совсем тупые, либо слишком сложные. Я решил, что Байес – преходящая причуда, и в глубоких исследованиях смысла нет. Но теперь байесовская лихорадка стала слишком назойливой, чтобы её игнорировать.
Читать дальше →

Что ваш микробиом хочет на ужин

Reading time11 min
Views61K
image

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

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

В вашей толстой кишке живёт большая часть вашего микробиома – сообщества микробной жизни, живущей как на вас, так и внутри вас. По сути всё, что вы едите, питает ваш микробиом. А то, что они производят на основе съеденной вами пищи, может поддерживать ваше здоровье или развивать хронические заболевания.
Читать дальше →

Автопилот своими силами: sensor fusion с телефона и открытые обучающие данные

Reading time9 min
Views14K

Всем привет. Продолжаем собирать автомобильный автопилот на компьютерном зрении из гитхаба и палок (начало здесь). Сегодня подключаем к делу датчики движения смартфона (акселерометр, гироскоп и GPS приемник) на Android, осваиваем несложный sensor fusion и окончательно закрываем с кодом для сбора обучающей выборки. Бонусы — Android приложение для записи всех сенсоров синхронзированных с видео и больше часа размеченных данных в рамках импортозамещения иностранных конкурсов. Весь код по-прежнему на github.



Это трехосные MEMS акселерометр и гироскоп, они будут нам крайне полезны.

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

Что намазать на зубы, чтобы они не выпали

Reading time8 min
Views194K


Хорошо зафиксированный пациент в анестезии не нуждается

По многочисленным просьбам трудящихся сегодня мы будем заниматься очень важными вопросами:


  • Как правильно мазать зубы пальцем?
  • Хорошо ли растворяются пломбы в кислоте?
  • Почему больно, когда сверлят зубы дрелью без анестезии?
  • Зачем мазать зубы зеленкой?
  • Лечение кариеса на дому
  • Глубокое микрофторирование эмали

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

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

Открытый проект модуля управления электрическими моторами. Начало

Reading time4 min
Views43K


Основное назначение модуля — управление синхронными бесколлекторными двигателями (BLDC, BLAC, PMSM ...) с трапецеидальной или синусоидальной формой напряжения, с сенсорами скорости-положения или без сенсоров. Кроме этого модуль имеет небольшие габариты, достаточно широкий диапазон питающих напряжений, разнообразные каналы отладки, проводную и беспроводную связь.
Читать дальше →

MakiseGUI — бесплатная библиотека графического интерфейса для микроконтроллеров

Reading time6 min
Views34K

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


Назвал я её MakiseGui.


Эти загадочные конденсаторы

Reading time4 min
Views32K

Эта статья — об особенностях керамических конденсаторов, которые проявляются на высоких частотах (порядка десятков, сотен мегагерц и выше). Статья основана на материалах исследований, проводимых специалистами компании Johanson Technology.
Читать дальше →

Могучий малыш — TrueRMS мультиметр Aneng AN8001

Reading time2 min
Views55K
Несколько лет назад невозможно было себе представить, что TrueRMS-мультиметр с автоматическим переключением диапазонов, способный измерять постоянное и переменное напряжение, постоянный и переменный ток, сопротивление, ёмкость и частоту с 6000 отсчётами и 0.5-процентной точностью может стоить меньше 15 долларов. Сегодня этот прибор у меня в руке.

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

Изучаем STM32 на практике. Часть 1. Подключение экрана от Siemens C55

Reading time10 min
Views139K


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


Свела как-то судьба начинающего программиста и начинающего электронщика вместе. И начали они творить. Сделали они сдесяток небольших игрушек-мишек с записывающими звуковыми модулями и поняли, что использовать однофункциональные платы не так уж и весело. И вот светлыми летними вечерами они собирались и думали, что бы им такого интересного сделать? Судьба помогла им и во второй раз: они нашли объявление о продаже отладочной платы STM32VLDiscovery в России и уже через неделю трясущимися руками распаковали посылку и «поморгали» светодиодами. От ощущения полной власти над крошечным устройством загорелись глаза и заработали мозги. Было решено: сделать «электронный браслет» с каким-нибудь интересным функционалом, используя весь потенциал их новой «игрушки»…
Читать дальше →

Угадай фильтр по импульсной характеристике

Reading time5 min
Views20K


На некотором сайте, в некотором форуме, добрый молодец по прозвищу SciFi озадачил коллектив свой историей.
Нашел он в руководящих технических материалах иноземной фирмы Texas Instruments [FSK Modulation and Demodulation With the MSP430 Microcontroller] требуемый ему цифровой фильтр. Но иноземцы шибко хитры оказались, и в исходном коде привели следующее:
Читать дальше →

Программируем микроконтроллеры в QtCreator

Reading time9 min
Views25K


Почему-то в интернете мало документации про qbs, и я решил немного исправить эту ситуацию. Попробую описать в виде повествования, что необходимо сделать, что бы в QtCreator можно было компилировать (и не только) что угодно под что угодно.
Читать дальше →

Программируем микроконтроллеры stm32 при помощи QtCreator

Reading time4 min
Views68K

Как-то так незаметно получилось, что программист, который разрабатывал нам прошивку для микроконтроллера, стал банально не успевать и в некоторые моменты я начинал перехватывать инициативу и самостоятельно браться за исправление ошибок.
Разработка велась в среде IAR, и многие согласятся со мной, что по сравнению с разработкой в QtCreator'е это боль и страдание.
В какой-то момент мы решили, что быстрее нанять нового программиста и вместе с ним заново переписать прошивку контроллера stm32, так, как я к этому моменту уже немного сам смыслил в их программировании и к тому же обнаружил, что QtCreator умеет отладку на голом железе (плагин BareMetal), я решил принять в этом активное участие.
Здесь я хочу поделиться шаблоном проекта для stm32f407 от Terra Electronica и рассказать об особенностях его настройки.
Читать дальше →

Удачная модель ветвления для Git

Reading time10 min
Views1M
Перевод статьи Vincent Driessen: A successful Git branching model

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



В качестве инструмента управления версиями всего исходного кода она использует Git.

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

Information

Rating
10,475-th
Location
Екатеринбург, Свердловская обл., Россия
Date of birth
Registered
Activity