Как стать автором
Обновить
-10
0
Копилов Александр @Kopilov

Аналитик-разработчик

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

Простой шейдер мультяшной графики в OpenGL своими руками

Время на прочтение17 мин
Количество просмотров12K
Недавно я заинтересовался рисунками, состоящими только из контуров, и решил попытаться воспроизвести нечто подобное для трехмерной графики.


Suzanne, неофициальный маскот Blender, отрендеренный с получившимся шейдером

В этом посте я расскажу, как написать отрисовку контуров с плавным переходом веса линий на OpenGL, хотя метод может использоваться в любом другом графическом API. Всем заинтересованным — добро пожаловать под кат.
Всего голосов 15: ↑14 и ↓1+18
Комментарии11

Оптимизация рендера под Mobile. Часть 3. Шейдеры

Время на прочтение9 мин
Количество просмотров7.2K
Привет Хабр! В предыдущих частях цикла (раз, два) мы рассматривали тайловую архитектуру мобильных GPU, а также классифицировали различные семейства GPU, представленные у пользователей. В этой части мы рассмотрим приемы, которые помогут писать быстрые шейдеры для мобильных GPU.


В мобильной экосистеме оптимальный код — всегда хорошо. Ведь даже в случае достижения требуемой частоты формирования кадров более оптимальный код позволяет переводить CPU и GPU на пониженные частоты, за счет чего снижается расход заряда и увеличивается среднее время сессий. Это, в свою очередь, положительно сказывается на доходе от игр со встроенной монетизацией.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+18
Комментарии6

Мир Open Source: преимущества и недостатки

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

open source adv and disadv


Субъективная попытка оценить мир open source, с позиции рядового контрибьютора, спустя два года ежедневного участия. Не претендую на истину, не напрягаю советами, только структурированные наблюдения. Возможно, эта статья поможет лично вам понять — быть или не быть open source contributor'ом.

Читать дальше →
Всего голосов 25: ↑23 и ↓2+32
Комментарии8

Юлия → Iuliia. Всё о транслитерации

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

Транслитерация


Транслитерация — это запись кириллических слов латиницей (Анна → Anna, Самара → Samara). Её используют в загранпаспортах, водительских удостоверениях, трансграничной доставке, библиотечных каталогах и множестве других международных процессов.


Так вышло, что я недавно окунулся в эту тему, а в Википедии она раскрыта слабо. Поэтому расскажу, что к чему (спойлер — если вы думаете, что с транслитерацией всё плохо, то на самом деле всё ещё хуже).


И конечно, поскольку это Хабр — предложу open-source библиотеки для решения проблемы.

Читать дальше →
Всего голосов 146: ↑145 и ↓1+191
Комментарии544

3D своими руками. Часть 2: оно трехмерное

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


В предыдущей части мы разобрались, как выводить на экран двумерные объекты, такие как пиксель и линия (отрезок), но ведь хочется поскорее создать что-то трехмерное. В этой статье впервые попробуем вывести 3D-объект на экран и познакомимся с новыми математическими объектами, такими как вектор и матрица, а также некоторыми операциями над ними, но только с теми, которые применим на практике.
Продолжить обучение
Всего голосов 13: ↑11 и ↓2+14
Комментарии5

3D своими руками. Часть 1: пиксели и линии

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


Этот цикл статей я хочу посвятить читателям, желающим изучить мир 3D-программирования с нуля, людям, которые хотят узнать основы создания 3D-составляющей игр и приложений. Каждую операцию мы будем реализовывать с чистого листа, чтобы понимать каждый аспект, даже если есть уже готовая функция, которая делает это быстрее. Научившись, мы будем переходить на встроенные инструменты по работе с 3D. По прочтению цикла статей вы поймете как создаются сложные трехмерные сцены со светом, тенями, текстурами и эффектами, как все это сделать без глубоких познаний в математике и многое другое. Сможете все это делать как самостоятельно, так и при помощи готовых инструментов.
Начать обучение
Всего голосов 29: ↑27 и ↓2+36
Комментарии11

Что в Белизне тебе моей или Справочное пособие по гипохлориту натрия («хлорке»)

Время на прочтение31 мин
Количество просмотров218K
Не передать, насколько мне приятно это писать. Данная статья полностью профинансирована подписчиками канала LAB66. Ни один производитель описанных в тексте средств -  своего участия не проявил, так что никакой скрытой рекламы, чиcтый альтруизм и потребительский интерес :)

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


Даешь нормальную Белизну!
Всего голосов 139: ↑136 и ↓3+173
Комментарии73

Настоящее программирование для гуманитариев с нуля в… 3DS Max

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

Программирование с нуля


статья расcчитана прежде всего на "гуманитариев".


Исполняемая среда и 


Почему 3DS Max?


Предлагаю немного необычный, но действенный, на мой взгляд способ знакомства с практическим программированием для “гуманитариев". 


Статья будет очень простой и доступной но для основательности попробуем начать с “истории анатомии" :


 Что есть программирование? 


  • написание программ! 

Программ чего? 


  • Программа это последовательность инструкций!

Инструкций кому?
 - В конечном итоге процессору компьютера или смартфона, т.е. физическому, реальному устройству.


Теоретически все верно, но процессор понимает только машинный код, фактически поток цифр или, если уж совсем анатомично, — электрических сигналов “высокого” (например 3 вольта) и “низкого” (1 вольта) напряжения, которое “понимается" схемотехникой процессора как нули и единицы, бинарные сигналы.


В физику полупроводников лезть не станем, но кому интересно — гуглите “полупроводники и логические элементы" )


Ничто не мешает реализовать и “десятинарные” сигналы и десятичную математику но это громоздко и не экономично. Хотя в телекоммуникациях очень много именно “троичных" элементов и математики.


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


Мы и сейчас “припаиваем" оперативную память, видеокарту или жесткий диск, да даже флэшку к своим компьютерам, но благодаря “дядьке Фон Нейману” делаем это без паяльника.


Ища более продуктивные пути взаимодействия с компьютером люди придумали сперва перфокарты а потом и просто доску с ключами-тумблерами “keyboard” для ввода данных в компьютер.


Но главная проблема — непонятность машинных кодов для человека!

Читать дальше →
Всего голосов 4: ↑3 и ↓1+4
Комментарии6

Распределение данных в Apache Ignite

Время на прочтение11 мин
Количество просмотров6.3K
Привет! Этот пост — немного сокращенная версия моего одноименного доклада на встрече сообщества Apache Ignite. Полную видеоверсию вместе с вопросами и ответами можно посмотреть здесь, а слайды скачать здесь. В докладе я постарался на примерах показать, как данные распределяются в Apache Ignite.
Читать дальше →
Всего голосов 13: ↑13 и ↓0+13
Комментарии1

IPv6 — прекрасный мир, стоящий скорого перехода на него

Время на прочтение8 мин
Количество просмотров41K
Практически все статьи, которые я видел на тему «чем хорош IPv6 и почему на него стоит пошустрее переходить», говорят только о просто более широком адресном пространстве. В лучшем случае, упомянут автоматическую конфигурацию адресов и маршрутов (stateless address autoconfiguration (SLAAC)). Это удручает, а ведь IPv6 имеет много ещё других неявных плюшек, являясь очень продуманным стеком протоколов (IPv6 + ICMPv6 + NDP)! Создаётся впечатление, что IPv6 это просто тупо про расширение адресов, а дальше то особо никакого профита. Или же некоторые статьи плачутся о том, что они не видят сиюминутного профита от внедрения/перехода. Простоту и удобство, гибкость и расширенные возможности (из-за одного только избавления от NAT-а) не так то легко измерить, как какие-нибудь задержки и пропускную способность. Решил поэтому собрать моё видение прекрасного мира IPv6 протокола и его плюсы в этой статье.
Читать дальше →
Всего голосов 35: ↑34 и ↓1+44
Комментарии459

Аппаратный ключ шифрования за 3$ — возможно ли это?

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

Итоговый результат — ключ размером с флешку

Повсеместное шифрование и, как следствие, обилие ключей заставляет задуматься об их надежном хранении. Хранение ключей на внешних устройствах, откуда они не могут быть скопированы, уже давно считается хорошей практикой. Я расскажу о том, как за 3$ и 2 часа сделать такой девайс.
Читать дальше →
Всего голосов 151: ↑151 и ↓0+151
Комментарии151

Дешёвая и быстрая печать на чековом термопринтере

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

У нас, айтишников, часто возникает задача напечатать что-то простое и одноразовое – например, логин и пароль новому сотруднику, тикет для монтажника или что-то в этом роде. Тратить бумагу и картридж на подобное очень дорого. При этом есть принтеры с ультрадешёвой скоростной печатью, про которые редко кто вспоминает, хотя видим мы их все каждый день по много раз. Речь про чековые термопринтеры.



Всего голосов 96: ↑96 и ↓0+96
Комментарии98

[Конспект админа] Что делать, если программа хочет прав администратора, а вы нет

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


(с) Вася Ложкин.


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


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


Попробуем разобрать решения, которые позволят и программу запустить, и безопасника с финансистом не обозлить.

Читать дальше →
Всего голосов 86: ↑86 и ↓0+86
Комментарии88

GPT-2 нейросеть от OpenAI. Быстрый старт

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

image


Не успели отшуметь новости о нейросети BERT от Google, показавшей state-of-the-art результаты на целом ряде разговорных (NLP) задач в машинном обучении, как OpenAI выкатили новую разработку: GPT-2. Это нейронная сеть с рекордным на данный момент числом параметров (1.5 млрд, против обычно используемых в таких случаях 100-300 млн) оказалась способна генерировать целые страницы связного текста.


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


Тем не менее, в OpenAI выложили в общий доступ уменьшенную версию нейросети GPT-2, со 117 млн параметров. Именно ее мы запустим через сервис Google Colab и поэкспериментруем с ней.

Читать дальше →
Всего голосов 54: ↑52 и ↓2+50
Комментарии70

Зачем нужно столько разработчиков?

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

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


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


Читать дальше →
Всего голосов 21: ↑16 и ↓5+16
Комментарии19

Домен-фронтинг на базе TLS 1.3

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

Введение



Современные корпоративные системы фильтрации контента, от таких именитых производителей как Cisco, BlueCoat, FireEye имеют довольно много общего с более мощными их собратьями — DPI системами, которые усиленно внедряются на национальном уровне. Суть работы и тех и других в том, чтобы производить досмотр входящего и исходящего интернет трафика и, на основании черных/белых списков, принимать решение о запрете интернет-соединения. А так как и те, и другие в основах своей работы полагаются на схожие принципы, то и способы их обхода также будут иметь много общего.

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

О данной технологии было написано уже достаточно много статей и приведено много примеров. Однако популярные и обсуждаемые в последнее время технологии DNS-over-HTTPS и encrypted-SNI, а также новая версия протокола TLS 1.3 дают возможность рассмотреть еще один вариант домен-фронтинга.
Читать дальше →
Всего голосов 46: ↑44 и ↓2+42
Комментарии36

2 лайфхака: альтернативы классическому поиску в Microsoft SQL Server

Время на прочтение12 мин
Количество просмотров19K
Привет, Хабр! Наши друзья из Softpoint подготовили интересную статью про Microsoft SQL Server. В ней разбирается два практических примера использования полнотекстового поиска:

  • Поиск по «бесконечным» строкам (напр., Комментарии) в противовес обычному поиску через LIKE;
  • Поиск по номерам документов с префиксами. Там, где обычно полнотекстовый поиск применять нельзя: ему мешают постоянные префиксы. Разбирается 2 подхода: предварительная обработка номера документа и добавление собственной библиотеки-word breaker’а.

Присоединяйтесь!

Читать дальше →
Всего голосов 14: ↑13 и ↓1+12
Комментарии13

Приложения для электронных книг на операционной системе Android. Часть 2. Книжные магазины и приложения для чтения книг

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

Электронная книга ONYX BOOX Monte Cristo 4

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

Кратко причины сложностей в работе приложений на «читалках» состоят в следующем:

  1. «Читалки» имеют черно-белый экран; отображение цвета в приложениях не должно быть принципиально важным;
  2. Экраны «читалок» также и довольно медленно обновляются, поэтому приложения не должны показывать быстро меняющийся контент;
  3. Приложения не должны быть платными, т.к. электронные книги не имеют магазина Google Play; необходимого для установки платных приложений (но платный контент в приложении при этом не исключается!);
  4. Приложения должны быть принципиально совместимыми с «читалками» даже при выполнении всех трёх предыдущих условий.
Читать дальше →
Всего голосов 10: ↑10 и ↓0+10
Комментарии28

Почему все мои игры выглядят так отстойно

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

Мы потратили на создание этой игры несколько лет. От неё зависит будущее нашей семьи. Почему же она так ужасно выглядит?

Я уже 25 лет зарабатываю на жизнь написанием инди-игр. У нас с женой есть небольшой семейный бизнес. Мы создаём низкобюджетные ролевые игры в ретро-стиле с отличным сюжетом, дизайном и геймплеем.

Но все они выглядят как куча навоза.

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

Благодаря этой репутации мы провели на Kickstarter успешную кампанию по сбору средств на Queen's Wish: The Conqueror — потрясающую RPG, которая тоже будет выглядеть чудовищно. Мы надеемся, что она станет фундаментом для дальнейшего создания ужасно выглядящих игр.

Мы ни на что не жалуемся. Мы находимся на пике долгой и успешной карьеры, и всё просто чудесно. Однако иногда я люблю писать о бизнесе создания инди-игр, помогать людям понять его принципы, а также давать советы менее опытным разработчикам. Эта статья о том, почему наши игры выглядят именно так, нравится вам это, или нет (скорее всего, нет).

Самое главное заключается в том, что я хочу защитить право инди-разработчиков быть странными. Если у инди-разработчика появится безумная, творческая идея, и он испугается её реализовать, но подумает: «Это можно и сделать; по крайней мере, я не настолько сумасшедший, как Джефф Вогель», то я буду считать свою миссию выполненной.

Итак, если вам интересно, почему мы пишем игры, которые выглядят и ВСЕГДА будут выглядеть как куча навоза, то продолжайте чтение.
Читать дальше →
Всего голосов 79: ↑74 и ↓5+69
Комментарии64

Любительская голография — начало пути

Время на прочтение13 мин
Количество просмотров59K
Вторая часть про галогенсеребряные фотоматериалы.

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


Всего голосов 149: ↑149 и ↓0+149
Комментарии127

Информация

В рейтинге
Не участвует
Откуда
Санкт-Петербург, Санкт-Петербург и область, Россия
Дата рождения
Зарегистрирован
Активность