Как стать автором
Обновить
82
0
Виталий Кузьмин @Triang3l

Графический программист

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

Как я компьютер «Радио 86-РК» настраивал

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

Всем привет! Расскажу вам о том, как я собирал (и тут же ремонтировал) ретро-компьютер на базе Радио86-РК. Данной разработке через некоторое время исполняется четвёртый десяток! А процессору Intel 8080, на базе которого она сделана - все 50 лет. По ходу дам пояснения, как можно собрать аналогичное изделие, сколько оно стоит (по состоянию на 2023 год), с какими проблемами я столкнулся.

Приступим!

Читать далее
Всего голосов 95: ↑94 и ↓1+118
Комментарии50

Уподобиться троллю: как монополисты правят патентами

Время на прочтение5 мин
Количество просмотров3.7K
Движение патентного троллинга и его использование в крупных корпорациях существует много лет, но в активную фазу на территории РФ оно перешло совсем недавно. Связано это с развитием высоких технологий, экспансией творческих, прикладных и других сфер, связанных с интеллектуальным правом. Патентные тролли паразитируют на участниках этих рынков, а недобросовестные компании используют такой троллинг как рычаг давления на конкурентов. Как, почему это происходит и кому это выгодно?

Кто такой патентный тролль и что он делает


Патентный тролль, он же патентный дилер — это физическое или юридическое лицо, которое промышляет предъявлением патентных исков. Существуют целые корпорации, специализирующиеся на регистрации и предъявлении различных патентов. Крупнейшие из них — Ventures, Round Rock Research LLC или Rockstar Consortium LLC (компания консорциумом ряда всемирно известных компаний, например Microsoft, Apple и BlackBerry). Таким образом, патентные тролли делают деньги “из воздуха”, шантажируя компании, и создают недобросовестную конкуренцию на рынке.
Читать дальше →
Всего голосов 13: ↑12 и ↓1+11
Комментарии5

Я скучаю по механикам из старых игр

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

За время существования индустрии разработки игр формул разных механик, способных развлечь нас, придумали не одну сотню. Что-то умерло засветившись в паре игр, что-то ушло со временем, какие-то существуют до сих пор. Есть и такие, которые не просто выжили, но стали мейнстримом, хотя только портят нервы игрокам. Игровой дизайн большинства старых игр, от второго фолыча до первого FarCry и пятью активными перками, пусть и не был вершиной искусства - затягивал не хуже современных песочниц с миллионом активностей. Редкую игру захочется пройти второй раз, а как вспомню, что на прохождение можно потратить под сотню и больше часов - думаю, а оно мне действительно было надо? Можно же было заняться чем-то более интересным. Я знаю, чем закончился второй фолыч, знаю это уже четвертый раз, но каждый раз игра удивляет меня чем-то новым. А вот нового "Аватара" бросил на половине, слишком много всего и все недоделанное, и прозрачные стены... просто бич игры. И тут вопрос, чего-то не хватает в этой раздутой, перекачанной сотней механик игре? Только задумайтесь - в аватаре больше сотни основных механик, которые влияют на окружение. Может в играх что-то потерялось? Хотя "потерялось" - звучит странно - за столько лет индустрия только создала просто море всего нового. Статья ориентирована на "побурчать", так что не ждите каких-то великих секретов и тонкостей мастерства.

Раньше и флешки квадратнее были...
Всего голосов 135: ↑130 и ↓5+150
Комментарии457

Смерть от тысячи микросервисов

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

Как мы к этому пришли? Как мы стали вместо решения наших задач, тратить кучи денег на решение проблем, которых у нас нет?

Читать далее
Всего голосов 105: ↑99 и ↓6+121
Комментарии309

Закат Stack Overflow

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

Недавно завирусился пост под названием The Fall of Stack Overflow («Падение Stack Overflow»), подробно рассказывающий о падении трафика этого сайта за последние полтора года на 35-50%.

Самой очевидной причиной этого можно назвать ИИ, потому что ChatGPT чрезвычайно полезен в качестве помощника в кодинге. Однако, мой дорогой разработчик, это не совсем правда.

Если приглядеться, то можно обнаружить, что самое существенное падение произошло примерно в апреле 2022 года, хотя ChatGPT вышел семь месяцев спустя, в ноябре. Хотя мы наблюдаем падения каждое лето (каникулы в школах и вузах) и зимой (праздничные выходные), это падение апреля 2022 года сохраняется и лишь усугубляется.

Читать далее
Всего голосов 81: ↑74 и ↓7+89
Комментарии249

Изобретательство — опасная штука, если не думать над своим изобретением

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

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

Читать далее
Всего голосов 33: ↑31 и ↓2+39
Комментарии111

Embox — открытая ОС на Эльбрусе

Время на прочтение3 мин
Количество просмотров16K
Всем привет.

Конечно, многие знают о том, какие Эльбрусы закрытые. Это является, наверное, самой главной претензией, предъявляемой к данным процессорам. Эти претензии небезосновательны, в МЦСТ их признают. Но, как говорится, нельзя “просто так взять и открыть исходники для Эльбруса”, ведь большинство работ велось для определенного заказчика и их разглашение — нарушение договора. С другой стороны, МЦСТ понимают проблему закрытости и стараются изменить ситуацию. Мы в проекте Embox тоже пытаемся этому способствовать по мере сил. О наших успехах в данном направлении вы можете узнать из этой статьи.
Читать дальше →
Всего голосов 38: ↑36 и ↓2+46
Комментарии17

QML: анимированная иконка-«бутерброд» в стиле Material Design за 20 минут

Время на прочтение6 мин
Количество просмотров38K
Привет, Хабр.

Многие разработчики, интересующиеся разработкой пользовательских интерфейсов (да и просто пользователи Android) уже успели ознакомиться с новой концепцией интерфейса Material Design, активно продвигаемой Google в рамках выпуска Android 5.0. Знакомясь с руководством по оформлению приложений и внимательно разглядев недавно обновившийся Google Play, я обратил внимание на один очень симпатичный компонент — иконку меню (в народе известную как hamburger icon), анимированно превращающуюся в иконку «назад», и решил реализовать такой компонент на Qt с использованием декларативного языка описания интерфейса QML.



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

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

Извлечение звука из фотографий пластинок

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

Отпечаток грампластинки в немецком журнале (февраль 1890 г.) и увеличенный фрагмент отсканированного изображения

Изобретение граммофона датируется 1887 годом, первые пластинки появились в продаже в Европе летом 1890 года. В музеях мира хранится несколько экспериментальных граммофонных записей 1887-1888 годов, которые считаются самыми старыми пластинками в мире. К сожалению, считать звук с них практически нереально. Хуже того, почти все старые пластинки сохранились только в виде фотографий. Именно поэтому в современных цифровых архивах самая старая аудиозапись датируется только 1893 годом. Но специалисты из университета Индианы нашли способ, как восстановить звук с грампластинки по одной фотографии.
Читать дальше →
Всего голосов 122: ↑111 и ↓11+100
Комментарии54

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 3.14 из 6

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

Содержание основного курса




Общение вне хабра

Если у вас есть вопросы, и вы не хотите задавать их в комментариях, или просто не имеете возможности писать в комментарии, присоединяйтесь к jabber-конференции 3d@conference.sudouser.ru

4 Приветствие и вступление

Нумерация в прошлой статье закончилась на 3, в этой будем продолжать нумеровать насквозь.
UPD: ВНИМАНИЕ! Раздел, начиная с номера 3.1, 3.14 и 3.141 и далее, будет о тонкостях реализации основы основ компьютерной графики — линейной алгебры и вычислительной геометрии. О принципах графики пишет haqreu, я же буду писать о том, как это можно внятно запрограммировать!

Эта статья является продолжением серии статей о практической реализации элементов вычислительной геометрии, и, в частности, программного отрисовщика, с использованием C++98. Мы с haqreu сознательно идем на использование прошлой версии стандарта и написание собственной геометрической библиотеки для того, чтобы, во-первых, выпустить код примеров, которые без особых трудностей будут компилироваться большинством имеющихся компиляторов, а во-вторых, чтобы в нашем коде не было ничего, что скрыто в недрах библиотеки. В статье излагаются вопросы реализации шаблона прямоугольной матрицы template<size_t DimRows,size_t DimCols,typename number_t> class mat;

4.1 Благодарности
Я выражаю огромную признательность haqreu, как основоположнику данного курса. Так держать!
Я очень признателен lemelisk за предварительное рецензирование и ревью моих исходников. Спасибо за плодотворные дискуссии!
Также я должен поблагодарить Mingun за ценное замечание об оформлении шаблонов. Надеюсь, они стали доступнее для прочтения.
Познавательного чтения!
Всего голосов 49: ↑43 и ↓6+37
Комментарии64

Краткий курс компьютерной графики: пишем упрощённый OpenGL своими руками, статья 6 из 6

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

Содержание основного курса




Улучшение кода






Official translation (with a bit of polishing) is available here.




Shadow mapping


Ну вот наш краткий курс подходит к концу, задача на сегодня — научиться отрисовывать тени (внимание, просчёт полутеней — это отдельная тема):



Как всегда, код доступен на гитхабе
Читать дальше →
Всего голосов 68: ↑65 и ↓3+62
Комментарии20

Немцы изобрели способ печатать гибкие сенсорные дисплеи на обычном принтере

Время на прочтение2 мин
Количество просмотров97K
Не спешите выбрасывать свои старые струйные принтеры: в 3D на них, конечно, не попечатаешь, но зато можно поэкспериментировать с технологией печати гибких сенсорных дисплеев, представленной на прошедшем в Гонолулу (Гавайи, США) технологическом симпозиуме.



Изобретатели из Саарского университета и Института информатики общества Макса Планка (Германия) показали, как можно печатать гибкие тонкие одно- или двухсторонние цветные сенсорные дисплеи практически на любом материале: дерево, мрамор, кожа, металл и, собственно, бумага. В отличие от обычного производства гибких/сенсорных дисплеев, не требуется сложное оборудование: их можно печатать практически в любых условиях, включая домашние, и с помощью самого простого оборудования вроде струйного принтера и стандартных визуальных редакторов.
Читать дальше →
Всего голосов 117: ↑110 и ↓7+103
Комментарии49

GPU Particles с использованием Compute и Geometry шейдеров

Время на прочтение10 мин
Количество просмотров54K
Привет, дорогой читатель!

Сегодня мы продолжим изучение графического конвейера, и я расскажу о таких замечательных вещах, как Compute Shader и Geometry Shader на примере создания системы на 1000000+ частиц, которые в свою очередь являются не точками, а квадратами (billboard quads) и имеют свою текстуру. Другими словами, мы выведем 2000000+ текстурированных треугольников при FPS > 100 (на бюджетной видеокарте GeForce 550 Ti).


Читать дальше →
Всего голосов 63: ↑62 и ↓1+61
Комментарии44

Релиз CrystaX NDK 10.1

Время на прочтение3 мин
Количество просмотров8.5K
Приветствую всех читателей!

Спешу сообщить о выпуске CrystaX NDK 10.1 — наборе инструментов для разработки на C/C++ (и Objective-C) под Android.

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

В этом релизе мы проделали немалую работу по обеспечению большей совместимости со стандартами ISO C, ISO C++ и IEEE Std 1003.1 (POSIX), благодаря чему портирование существующего кода на Android становится намного легче. Как вы, быть может, знаете, Android libc (Bionic) далека от того, чтоб соответствовать указанным стандартам. Многие части просто не реализованы, другие — реализованы с ошибками, заставляющими провести в отладке долгие часы, тем более что уж от libc этого не ожидаешь (помню до сих пор, как пришлось отлаживатся два дня, прежде чем выяснилось, что strtod() не умеет парсить «0xXXXX» строки). Конечно, со временем ситуация улучшается, и в новых версиях Android libc потихоньку исправляется и дополняется, но а) темпы исправлений и дополнений абсолютно неудовлетворительны и б) что делать разработчикам, программы которых должны работать не только на последних, но и на предыдущих версиях Android?

Читать дальше →
Всего голосов 20: ↑19 и ↓1+18
Комментарии17

Что нужно знать, чтобы хорошо рисовать?

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


Давид Ревуа — прекрасный художник, работающий со свободным программным обеспечением, постоянный член сообществ Krita Foundation и Blender Institute, концепт-художник анимационных проектов Gooseberry Open Movie Project, Mango Open Movie Project (Tears of Steel) и Durian Open Movie Project (Sintel). В этой статье он делится с начинающими художниками списком знаний, которые необходимо приобрести, чтобы работы получались реалистичными. Он обращает внимание, что для рисования «в цифре» следует обзавестись теми же навыками, что и в традиционной технике. Итак, приобщимся к его опыту.
Читать дальше →
Всего голосов 134: ↑128 и ↓6+122
Комментарии113

CPU vs GPU. Distance field

Время на прочтение5 мин
Количество просмотров22K
Привет всем. Я уже однажды писал про Distance Field и приводил реализацию «эвристическим» кодом, дающую неплохую скорость: «Честный glow и скорость».

Зачем он нужен?


DField можно применять:
  • Для значительного повышения качества шрифтов
  • Для эффектов например горения контура. Один из эффектов я приводил в своей предыдущей статье
  • Для эффекта «metaballs» но в 2д и для любых сложных шейпов. (возможно я когда-нибудь приведу пример реализации этого эффекта)
  • А в данный момент DField мне нужен для качественного сглаживания углов и удаления мелких деталей.

И если в первых двух случаях мы можем заранее вычислить DField, то для других эффектов нам нужно просчитывать его в реальном времени.
В статье будет рассмотрен наиболее популярный, я бы сказал классический Chamfer distance (CDA) с кучей картинок, объясняющих принцип его работы, а так же рассмотрен двухпроходный алгоритм на GPU.
Оба алгоритма реализованы в демонстрационных программах на FPC.
Читать дальше →
Всего голосов 39: ↑37 и ↓2+35
Комментарии24

Consulo: ~1000 коммитов, или как прошла осень

Время на прочтение3 мин
Количество просмотров16K
Для тех, кто пропустил мои посты:

Consulo — это форк IntelliJ IDEA Community Edition, который имеет поддержку .NET(C# на текущий момент, и на этот сектор пока идет большой акцент), Java, Javascript(NodeJS) и многое другое. Проект собрал множество открытых плагинов в себе. При этом код остался открытым.

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


Ниже я расскажу вам, как прошла моя осень, и как эти три месяца постоянной работы повлияли на плагины .NET + C#, и на многое другое.
Читать дальше →
Всего голосов 62: ↑57 и ↓5+52
Комментарии44

Забавные баги

Время на прочтение5 мин
Количество просмотров72K
Баги — сленговое обозначение ошибки в системе или программе. Конечно, баг — это плохо. Искать баг — еще хуже. Они могут быть как безобидными (но назойливыми), так и весьма катастрофическими, последствия которых могут привести к финансовым потерям, очернению репутации и даже к трагическим случаям.

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

Читать дальше →
Всего голосов 130: ↑90 и ↓40+50
Комментарии35

SSLR: Screen Space Local Reflections в AAA-играх

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

Привет, друг! В этот раз я опять подниму вопрос о графике в ААА-играх. Я уже разобрал методику HDRR (не путать с HDRI) тут и чуть-чуть поговорил о коррекции цвета. Сегодня я расскажу, что такое SSLR (так же известная как SSPR, SSR): Screen Space Local Reflections. Кому интересно — под кат.
Читать дальше →
Всего голосов 62: ↑60 и ↓2+58
Комментарии48

Я слышу голоса: запись озвучки для игрового проекта

Время на прочтение5 мин
Количество просмотров21K
«Нужна ли игре голосовая озвучка?» − главный вопрос для звукорежиссера, почти такой же значимый, как «Быть или не быть?» в судьбе героев Шекспира. Прежде чем ответить «Ну конечно!», представьте тысячи строк диалогов, стройные ряды актеров озвучки, среди которых на роль подходит один из тысячи, тонны качественного оборудования и слезы счастья, когда через 6 месяцев работы вам удается записать приемлемый по звучанию отрывок.

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



Читать дальше →
Всего голосов 23: ↑19 и ↓4+15
Комментарии11
1
23 ...

Информация

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