?

Log in

No account? Create an account
nyaload

Журнал Пушыстого

Журнал Пушыстого

Entries by category: искусство

Standard brush
nyaload
_winnie
Стандартное упражнение на использование стандартной кисточки фотошопа. На самом деле Krita, но эта кисточка с pressure mapped to opacity (hard/soft edge) общая для всех программ рисования.
Read more...Collapse )
Tags:

Krita rotational symmetry
nyaload
_winnie
В Krita есть режим рисования, в котором автоматически применяется поворотная симметрия. Это позволяет легко стыковать сектора поворотной симметрии, и за минуту нарисовать что-то такое -



Вот бы ещё такой режим для других мозаик, тогда было бы легко делать Эшеро-подобные сюжеты
Tags:

Графические файлы DDS. Что лучше, DXT1, DXT3, DXT5 и тп.
nyaload
_winnie
DDS файлы - картинки, в которых данные хранятся так же, как в видеопамяти (включая мипмапы). Это позволяет их быстро загружать в игре. В DDS могут храниться объёмные текстуры, кубо-мапы и прочие необычные (для графических файлов) вещи.

2D слои в DDS-файле могут храниться в RGBA формате, а могут быть сжаты в форматы DXT1, DXT3, DXT5.

Это сжатие с потерями, как Jpeg. Оно было специально разработано для того, что бы видеокарта могла "расжимать" гигабайт текстур за секунду, отображая на экране сжатую текстуру сразу из видеопамяти, без промежуточного конвертирования.

DXT1 - для RGB картинок c однобитной альфой, четыре бита на пиксел (сжатие в 8 раз по сравнению с RGBX).
DXT3 и DXT5 - для картинок с альфа-каналом, типично DXT5 лучше. 8 бит на пиксел, сжатие в четыре раза.


Подробней про метод сжатия, на уровне битов:


изображение делится на блоки 4x4. Для каждого блока хранится два 16-битных цвета. При распаковке из двух цветов x,y генерится четыре последовательных цвета, палитра [x, ⅔x + ⅓y, ⅓x + ⅔y, y]. После 2*16 бит цветов хранится 4*4 двухбитых индексов в эту палитру. Порядок двух цветов (цвет_0 > цвет_1 ?) так же содержит один бит информации. Если цвет_0 > цвет_1, то в палитре одно из значений используется как нулевая альфа, и остальные 3 цвета [x, ½x + ½y, y] - палитра из непрозрачных цветов. Всего получается 64 бита на блок 4x4 пиксела.
В DXT3 и DXT5 rgb-канал хранится точно так же как в DXT1. Альфа в DXT3 хранится просто как округлённое с 8 битов до 4 битов на пиксел, без сжатия. В DXT5 для альфы используется метод сжатия, похожий на метод для RGB в DXT1. Два значения альфы на блок 4x4. Если цвет_0 > цвет_1, создаётся 6 промежуточных значений альфы в палитре и ещё отдельно два особых значения 0 и 1 для альфы. Если цвет_0 <= цвет_1, то из двух крайних значений альфы создаётся 8 промежуточных. После двух 8-битных граничных значений альфы идёт 16 3-битных индексов. DXT5 обычно гораздо точней сохраняет альфу и рекомендуется вместо DXT3.

Артефакты после сжатия малозаметны, чаще всего их можно увидеть в блоках, где сходится 3 разных оттенка (3 оттенка в 2-х на один блок не помещаются).

DXT2 раскодируется так же как DXT3, DXT4 так же как DXT5, только программа должна интерпретировать RGB как уже умноженный на альфу. В них хранится флажок "premultiplied alpha", который может быть интересен универсальной смотрелке картинок, но не игровому движку.

Это сжатие с потерями, паковщик должен выбрать два идеальных цвета для квадрата 4x4, поэтому разные инструменты могут конвертировать с разным соотношением время работы/качество результата. NVidia хвастается, что её nvcompress лучший, не знаю насколько справедливо. На глаз вроде результат лучше, чем у TEXCONV из D3D SDK.

При сжатии DXT в zip имеет смысл разделить индексы и палитру, хранить приращения. Тогда сожмётся чуть лучше. Увы сам не мерял, только напел. Если вы пробовали - напишите, интересно.

Можно чуть-чуть "подвигать" ползунок качество/сжатие таким образом: перед DXT-сжатием использовать текстуру которая в 2 раза больше, если такая есть. Например, уменьшить то, что нарисовал художник не с 4096x4096 до 128x128x, а до 256x256.

Итого:

Eсли картинка без альфы или достаточно однобитной альфы, используйте DXT1. С плавной альфой - DXT5. На "мультяшных" картинках с мелкими деталями будут артефакты, на реалистичных текстурах с шумом и градиентом компрессия незаметна.

Иллюстрация (масштаб 400%):
Read more...Collapse )

C++, Именованные параметры функций в С++. Спрайты в 2d движках.
nyaload
_winnie
Блог же у меня вроде про программирование и разработку игр? И про C++?

Тут я изложу свой опыт того, как надо организовывать основную API-функцию 2d-игр: вывод прямоугольных спрайтов. Это основая функция, игра наполовину состоит из неё :) Остальная половина - игровая логика и чуточку прочего, вроде сейвов, звука, мат-библиотеки.
А, ещё билд ресурсов, шрифты, плавная анимация тоже важные темы, работа с которыми у программиста будет сильно влиять на скорость разработки.

Не знаю насколько, это будет полезно. Для PC лучше взять скриптуемый готовый движок, или флеш и положить игру в Facebook/вконтакт :)
Но если вдруг окажется, что начинаете возиться с таким низким уровнем, да ещё и на C++, тут можете увидеть советы, как сделать жизнь гейм-кодера слаще. Остальные могут увидеть удобный приём для языков с ООП (C++, Java, C#, JavaScript, Python, ...).

Итак, задача с которой я столкнулся два года назад, когда делал движок для казуальной игры: функция удобного вывода прямоугольного спрайта.
Read more...Collapse )

Ещё один важный момент. Сортировка спрайтов по Z. .
Read more...Collapse )

см . так же сжатие графики для спрайтов
Tags: , ,

почему в коктейле две трубочки?
nyaload
_winnie
Позавчера устанавливал в баре горизонтальные связи с нашими художниками. Попробовал что такое «Лонг Айленд». На очереди - B-52 и «камикадзе».
В связи с потерей алкогольной девственности решил выяснить, зачем в коктейлях две трубочки. Посмотрел в гугле, похоже единой цели нет, пригождается сразу для всего.
1) Кто-то хочет по быстрому влить в себя всё. А кто-то хочет насладиться вкусом и растянуть удовольствие. Поэтому две трубки, толще и тоньше. Если одинаковые, можно пить через одну или две.
2) Можно дать попробовать другому.
3) В хитрых коктейлях, где разные жидкости образуют слои, можно по своему вкусу смешивать разные слои. По одной трубочке идёт ром, по другой сок.
4) Можно одновременно с девушкой пить один коктейль
Tags: ,

+релиз
nyaload
_winnie
Урра! Наш новый маджонг, вылизанный, и художник наизнанку вывернулся, что бы сделать его ещё более красивым чем предыдущий.
http://www.alawar.com/games/mahjongg-artifacts-2/ (пока только английская, в течении двух недель я думаю появится и русская).

Япония, Тибет (классические фишки), Индия, Европа и... И не скажу что. Скажу лишь что художник рисовал пятую раскладку с моих программистких черновиков!

Free Image Hosting at www.ImageShack.us

Read more...Collapse )