Как стать автором
Обновить
-2
0.3
Алексей @IIopy4uk

программист C++/Qt

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

Комитет ISO утвердил стандарт «C++20»

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


На днях комитет ISO по стандартизации языка С++ (да, есть и такой) утвердил международный стандарт «С++20». Возможности, которые представлены в спецификации, поддерживаются в компиляторах GCC, Clang и Microsoft Visual C++. Кроме того, стандартные библиотеки с поддержкой «С++20» реализованы в рамках проекта Boost.

Следующий этап — подготовка документа к публикации. Затем, в начале ноября, финальный вариант будет направлен в ISO, после чего он будет опубликован под формальным названием ISO/IEC 14882:2020. Сейчас комитет уже работает над следующим стандартом «C++23» (C++2b). Под катом — особенности «С++20» с примерами кода.
Читать дальше →
Всего голосов 25: ↑21 и ↓4+21
Комментарии11

Программирование игры для embedded-устройства на ESP32: шрифты и система тайлов

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


Начало: сборка, система ввода, дисплей.

Продолжение: накопитель, аккумулятор, звук.

Часть 7: Текст


Завершив со слоем кода Odroid Go, мы можем приступить к созданию самой игры.

Начнём с отрисовки на экране текста, потому что это станет плавным введением в несколько тем, которые пригодятся нам в будущем.

Эта часть будет немного отличаться от предыдущих, потому что в нём очень мало кода, выполняемого на Odroid Go. Основная часть кода будет относиться к нашему первому инструменту.

Тайлы


В нашей системе рендеринга мы будем использовать тайлы. Мы разобьём экран 320x240 на сетку тайлов, каждый из которых содержит 16x16 пикселей. Так мы получим сетку шириной 20 тайлов и высотой 15 тайлов.

Статические элементы, например, фоны и текст, будут рендериться при помощи системы тайлов, а динамические элементы, например, спрайты — иным способом. Это означает, что фоны и текст можно будет располагать только в фиксированных местах, а спрайты можно поместить в любое место экрана.
Всего голосов 12: ↑12 и ↓0+12
Комментарии1

Самые распространённые вопросы на собеседовании программиста графики

Время на прочтение5 мин
Количество просмотров50K
Недавно я проходил собеседования в игровых студиях на младшего программиста графики. По итогу я узнал, каких навыков они ожидают от начинающего программиста и какие вопросы могут задать. В этой статье я собрал вопросы в удобный список. Смысл в том, чтобы другие начинающие программисты могли использовать его для подготовки, прежде чем идти на первое собеседование. Но хочу оговориться, что я не рекомендую просто запоминать ответы на эти вопросы. Темы в списке — это темы, которые следует понять и освоить, чтобы решать реальные проблемы программирования графики. Их нужно понять, а не запомнить ответы.

Вопросы делятся по темам: С++, математика, оптимизация и компьютерная графика. Очевидно, это главные темы в повседневной работе. C++ часто используется в реальных задачах, поэтому естественно, что на собеседовании задают много вопросов по нему. Кроме того, в программировании графики требуется лучшее знание математики, чем в большинстве других видов программирования, поэтому математические навыки имеют первостепенное значение. Наконец, для достижения 60 FPS и рендеринга с высокой графической точностью обязательными являются сильные навыки оптимизации. Давайте рассмотрим популярные вопросы в каждой категории.
Читать дальше →
Всего голосов 59: ↑54 и ↓5+49
Комментарии53

20+ ресурсов, чтобы начать фрилансить

Время на прочтение3 мин
Количество просмотров680K
Чувствуете, что готовы уйти с работы, самостоятельно контролировать свой день, биться за клиента и работать только над интересными задачами? Пришло время попробовать себя во фрилансе. Это совсем нелегко, а чаще труднее, чем офисная рутина. Чтобы не разочароваться в выборе формата работы, устройте себе тест-драйв — на праздниках или в выходные. Собрали площадки, где найдете задачи по душе.


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

Английские фразы, которые не стоит переводить буквально

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


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

Повседневные фразы и инструкции


Тут сразу стоит отметить, что в английском довольно много фразовых глаголов, которые очень популярны, особенно в разговорной речи. Понятное дело, что sit down, stand up или come up уже никого не удивят, но есть другие интересные случаи, и не только с фразовыми глаголами.
Читать дальше →
Всего голосов 71: ↑58 и ↓13+45
Комментарии208

Восемь возможностей C++17, которые должен применять каждый разработчик

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

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


Вам также может быть интересна статья Десять возможностей C++11, которые должен использовать каждый C++ разработчик
Читать дальше →
Всего голосов 35: ↑33 и ↓2+31
Комментарии52

Интеграция физических тел полученных в редакторе Physics Body Editor в cocos2d-x-сцену

Время на прочтение4 мин
Количество просмотров3K
Создавая игру на движке cocos2d-x, мне понадобился инструмент для создания физических тел из произвольных изображений. Изначально поиск меня привёл к коммерческому инструменту PhysicsEditor, но взглянув на его цену, решил найти что-нибудь дешевле. Пришлось потратить довольно-таки много времени, прежде чем я наткнулся на видео-уроки, которые оказались для меня полезными.

В данной статье будет описано, как создавать физические тела для изображений в бесплатном, кроссплатформенном редакторе Physics Body Editor и интегрировать их в cocos2d-x-сцену.
Читать дальше →
Всего голосов 3: ↑3 и ↓0+3
Комментарии0

Интегрирование уравнений движения

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

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

Темой этой статьи как раз и будет реализация такого интегрирования.

Интегрирование уравнений движения


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

$F = ma$


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

$a = F/ma = F/m$


Ускорение — это темп изменения скорости от времени:

$dv/dt = a = F/m$



Аналогично, скорость — это темп изменения позиции от времени:

$dx/dt = v$


Это значит, что если мы знаем текущие позицию и скорость объекта, а также приложенные к нему силы, то сможем проинтегрировать, чтобы найти его позицию и скорость в определённый момент времени.
Читать дальше →
Всего голосов 26: ↑26 и ↓0+26
Комментарии12

Вызов управляемого кода из неуправляемого

Время на прочтение2 мин
Количество просмотров8.4K
image С задачей вызова неуправляемого кода из управляемого мы сталкиваемся довольно часто, и эта задача имеет простое решение в виде одного атрибута [DllImport] и небольшого набора дополнительных правил, которые хорошо изложены в MSDN. Обратная же задача встречается гораздо реже. В данной статье мы и рассмотрим небольшой пример, как это можно сделать. Его не стоит рассматривать как исчерпывающий, скорее лишь, как направление хода мыслей и концепцию. Итак, начнем.
Читать дальше →
Всего голосов 20: ↑13 и ↓7+6
Комментарии44

Must-Have: 20 игровых ассетов для дизайнера и художника

Время на прочтение3 мин
Количество просмотров16K
Предлагаю подборку невероятно красивых фонов и тайлсетов в разных сеттингах: от джунглей до sci-fi. Вы найдете всё, чтобы создавать эффектные окружения и задавать играм настроение посредством дизайна.


Читать дальше →
Всего голосов 20: ↑15 и ↓5+10
Комментарии7

Must-Have: 15 игровых спрайтов для дизайнера и художника

Время на прочтение2 мин
Количество просмотров24K
Создание игр – процесс трудоемкий и длительный. Но его можно ускорить с помощью готовых наборов ассетов, спрайтов, интерфейсов и массы других полезных ресурсов. Даже если вам просто нужны материалы для изучения какого-либо аспекта геймдизайна, в этом списке найдется то, что нужно.


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

Bash-скрипты, часть 7: sed и обработка текстов

Время на прочтение9 мин
Количество просмотров610K
Bash-скрипты: начало
Bash-скрипты, часть 2: циклы
Bash-скрипты, часть 3: параметры и ключи командной строки
Bash-скрипты, часть 4: ввод и вывод
Bash-скрипты, часть 5: сигналы, фоновые задачи, управление сценариями
Bash-скрипты, часть 6: функции и разработка библиотек
Bash-скрипты, часть 7: sed и обработка текстов
Bash-скрипты, часть 8: язык обработки данных awk
Bash-скрипты, часть 9: регулярные выражения
Bash-скрипты, часть 10: практические примеры
Bash-скрипты, часть 11: expect и автоматизация интерактивных утилит

В прошлый раз мы говорили о функциях в bash-скриптах, в частности, о том, как вызывать их из командной строки. Наша сегодняшняя тема — весьма полезный инструмент для обработки строковых данных — утилита Linux, которая называется sed. Её часто используют для работы с текстами, имеющими вид лог-файлов, конфигурационных и других файлов.


Читать дальше →
Всего голосов 22: ↑18 и ↓4+14
Комментарии34

Введение в криптографию и шифрование, часть первая. Лекция в Яндексе

Время на прочтение20 мин
Количество просмотров248K
Чтобы сходу понимать материалы об инфраструктуре открытых ключей, сетевой безопасности и HTTPS, нужно знать основы криптографической теории. Один из самых быстрых способов изучить их — посмотреть или прочитать лекцию Владимира ivlad Иванова. Владимир — известный специалист по сетям и системам их защиты. Он долгое время работал в Яндексе, был одним из руководителей нашего департамента эксплуатации.


Мы впервые публикуем эту лекцию вместе с расшифровкой. Начнём с первой части. Под катом вы найдёте текст и часть слайдов.

Всего голосов 96: ↑92 и ↓4+88
Комментарии29

Subtle Patterns: фоновые текстуры для вашего сайта

Время на прочтение1 мин
Количество просмотров72K
Если вы запускаете новый сайт и заканчиваете его оформление, то есть смысл посмотреть коллекцию Subtle Patterns: отлично оформленную коллекцию фоновых текстур (паттернов) под лицензией Creative Commons Attribution 3.0 Unported. Их можно использовать без ограничений.



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

Все текстуры на сайте Subtle Patterns являются повторяющимися, то есть склеиваются в бесшовную заливку.
Читать дальше →
Всего голосов 262: ↑247 и ↓15+232
Комментарии29

Информация

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

Специализация

Software Developer, Fullstack Developer
Middle
От 150 500 ₽
C++
Qt
Object-oriented design
Linux
Git
PostgreSQL