Pull to refresh
-3
3.2
Send message

Netbeans 26 C++ (clang/clangd) + build system

Reading time2 min
Views2.6K

Всем привет. Стал нужен IDE минимальный, и я вспомнил, что есть Нетбинс. Скачал мне он очень понравился - удобный, но чего-то не хватает.

Как сделать рабочим Нетбинс 26(с++, clangd), когда какой-то модуль, который раньше в плагинах работал теперь не работает. Давайте рассмотрим этот нюанс.

Читать далее

Простая отрисовка емодзи в атлас из таблицы .ttf (NotoColorEmoji)

Level of difficultyHard
Reading time9 min
Views545

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

В этой статье рассмотрим возможно самый простой способ рисования всех емодзи из шрифта NotoColorEmoji.ttf.

Читать далее

Простой редактор текста при помощи java на swing

Level of difficultyMedium
Reading time8 min
Views1.3K

Всем привет. Для того чтобы писать код нужен удобный инструмент, кто-то пользуется IDE, кто-то редакторами текста Emacs, VIM. Зачастую, чтобы программисту было удобно, разработчику надо соблюсти много нюансов, тоесть в одном случае есть ускорение разработки, но решение тяжеловесное, в другом случае, разработчик, чтобы пользоваться редактором начинает писать код, чтобы писать код. Конечно это крайности, и проще поставить IDE/VSCode/etc... , но что если можно найти эту золотую середину!?

Неоднократно автор пытался делать текстовый редактор, но что-то было всё не то, пока не вспомнил, что есть старый добрый SWING, и java by design иногда круто и интересно.

В этой статье хочу показать как получилось минимальными усилиями сделать то, что на С или С++ потребует больших знаний без QT/GTK/etc...

Читать далее

Начальное ускорение математики

Reading time12 min
Views4.6K

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

В этой статье хочу показать как я почти в 10 раз ускорил графику при помощи математики.

Читать далее

Простой односвязный список на С

Level of difficultyEasy
Reading time6 min
Views3K

Всем привет. В 3д помимо моделек - статических, существуют анимации - анимированные модели, которые имеют набор своих данных, эти данные нужны для отображения модельки и её анимирования.

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

Читать далее

Начальная анимация

Level of difficultyEasy
Reading time6 min
Views1.4K

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

В 3D помимо статических обьектов и поверхностей, по которым можно ходить хотябы камерой. Нужны еще анимированные модели - такие как персонажи, еффекты, детали, которыми можно описывать какие-то наблюдаемые явления, частицы. Всё это можно создавать в программном инструменте Blender, Maya и тд.

Хочу продемонстрировать простенький подход минимального болванчика.

Читать далее

Начальная генерация пещер

Reading time3 min
Views1.2K

Всем привет, в 3D графике помимо решения задач тени/света, и примитивов, а так же физики и возможно каких-то базовых задач, которые сегодня могут заменить библиотеки по математике, стоит отметить генерацию поверхностей. Какие-то поверхности впуклые, какие-то поверхности выпуклые, поверхности можно комбинировать. Как это влияет на процесс в графике? Например, иммерсив - погружение. Влияет следующим образом, конечно все вкусы учесть невозможно. Задаём какие-то характеристики, которые характеризуют площадь поверхности и далее если она "подходит" в целом по ощущениям и по логике, её можно использовать как декорацию, возможно оптимизировав - если постараться, или оставить как есть. В этой статье хочу продемонстрировать как удалось добиться генерации пещер, конечно при помощи открытых источников все источники будут указаны в конце обзора, гит.

Итак, приступим

Читать далее

Обратная Матрица (Inverse Matrix)

Level of difficultyEasy
Reading time3 min
Views3.6K

Всем привет. При изучении 3D в программировании мы пользуемся математикой — линейная алгебра, матрицы, векторы, кватернионы. В какой‑то момент становится интересно как устроено пространство 3D, какие принципы и основы заложены в фундамент отображения моделей. Так же, просто на отображении 3D не возможно остановится — хочется добавить свет, тень, как минимум. Для расчета света нам надо отправить в шейдер матрицу модели рисуемого объекта — текущего, нормали плоскостей (например на триангулированный объект на каждый треугольник по нормали выходит).

Так же по расчету света необходимо добавить эту же текущую модель, в виде обратной матрицы и транспонированную.

В этой статье покажу как я решил такую задачу — комплексное решение приводящее к обратной матрице.

Читать далее

Первый Pattern, первый квест

Level of difficultyEasy
Reading time9 min
Views2.2K

Паттерн Команда (Hello World + Undo)

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

Подготовка рабочего пространства

Пользуюсь Линуксом, компилятор 14.2 gcc/g++, cmake>3.27, SDL3, X11.

Читать далее

Information

Rating
1,666-th
Registered
Activity

Specialization

Specialist
C++
Game Development
Linux
C