PaintCAD для Windows - журнал разработки

Аватара пользователя
blackstrip
Админ
Сообщения: 1208
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows - журнал разработки

Сообщение blackstrip » Ср дек 21, 2022 10:17 pm

Бета 1.5.2.1351 доступна по ссылке http://blackstrip.ru/paintcad.exe
(а также через меню "Помощь" - "Проверить обновления")

Изменения:

Новые функции:
- просмотр мозаики: в меню "Эффекты (E)" добавлен пункт "Залить выделение картинкой", позволяющий указать картинку с элементом из папки через стандартный диалог открытия файлов с предпросмотром картинок

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

Изображение

В частности, в Windows 10 в диалоговом окне вместо значков видны картинки ("эскизы"). При выборе картинки - ее увеличенное изображение появится справа в диалоговом окне в области предпросмотра. Чтобы посмотреть выбранную картинку в масштабе 1:1 можно нажать на кнопку с листком и лупой над областью - тогда появится окно "preview".

Изображение

В Windows 98 эскизов еще не придумали. При выборе картинки как и в Windows 10 справа видно ее увеличенное изображение, по кнопке с листком и лупой - изображение без масштаба (1:1).

Изображение

Аватара пользователя
blackstrip
Админ
Сообщения: 1208
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows - журнал разработки

Сообщение blackstrip » Пн янв 23, 2023 1:27 am

Выпущена версия 1.5.2.1352

Скачать:
По прямой ссылке (14,2 Мбайт)
RAR: http://blackstrip.ru/pcw.rar
ZIP: http://blackstrip.ru/pcw.zip
SFX-EXE: http://blackstrip.ru/pcw.exe

Изображение

Основные изменения:

1) Редактор мозаики теперь отображает номер элемента мозаики под курсором, меняет размер отображаемых номеров элементов мозаики в зависимости от размеров самих элементов (чтоб номер влезал в мелкие элементы), а также показывает курсор и выделение даже при выключенных деталях.

Изображение

Также теперь можно заливать выделенный фрагмент мозаики указывая картинку из папки (с предпросмотром всех возможных картинок), а не просто по номеру картинки или перебором всех номеров по Z/X-клавишам.

Изображение

2) В программируемый редактор картинок/анимаций Scriptaint добавлен вывод эмодзи-значков шрифтом Segoe UI Emoji. Пример вывода эмодзи добавлен в стандартный шаблон нового скрипта картинки.

Изображение

3) Генератор ASCII-артов инструмента Текст дополнен новым методом "Черно-белый + Зернистый 5-цветный", смешивающим 5-цветную псевдографику и черно-белые точки в зависимости от перепада яркостей пикселей на исходной картинке.




4) Генератор мелодий Muzz теперь научился сочинять песни в четырех жанрах (рок, поп, хип-хоп и регги), а также менять громкость нот в партиях мелодии, аккомпанемента и барабанов. Добавлено много вариантов аккомпанемента (включая простые на 1-2 нотах), а также много вариантов барабанного боя для новых жанров. Сохраняемые в MID-файлы мелодии теперь проигрываются в корректном темпе на Android-устройствах.

Изображение

Примеры новых сгенерированных мелодий:

Рок
http://blackstrip.ru/tmp/pcw152/rockmus1.mid
http://blackstrip.ru/tmp/pcw152/rockmus2.mid
http://blackstrip.ru/tmp/pcw152/rockmus3.mid
http://blackstrip.ru/tmp/pcw152/rockmus4.mid
http://blackstrip.ru/tmp/pcw152/rockmus5.mid
http://blackstrip.ru/tmp/pcw152/rockmus6.mid

Поп
http://blackstrip.ru/tmp/pcw152/popmus1.mid
http://blackstrip.ru/tmp/pcw152/popmus2.mid
http://blackstrip.ru/tmp/pcw152/popmus3.mid
http://blackstrip.ru/tmp/pcw152/popmus4.mid
http://blackstrip.ru/tmp/pcw152/popmus5.mid
http://blackstrip.ru/tmp/pcw152/popmus6.mid

Хип-хоп
http://blackstrip.ru/tmp/pcw152/hiphop1.mid
http://blackstrip.ru/tmp/pcw152/hiphop2.mid
http://blackstrip.ru/tmp/pcw152/hiphop3.mid
http://blackstrip.ru/tmp/pcw152/hiphop4.mid
http://blackstrip.ru/tmp/pcw152/hiphop5.mid
http://blackstrip.ru/tmp/pcw152/hiphop6.mid

Регги
http://blackstrip.ru/tmp/pcw152/reggae1.mid
http://blackstrip.ru/tmp/pcw152/reggae2.mid
http://blackstrip.ru/tmp/pcw152/reggae3.mid
http://blackstrip.ru/tmp/pcw152/reggae4.mid
http://blackstrip.ru/tmp/pcw152/reggae5.mid
http://blackstrip.ru/tmp/pcw152/reggae6.mid

5) Мини-браузер Bro и IRC-чат Retro теперь могут отображаться не только на полный экран, но и в окошке. А запуск паинткада с ключами -bro или -retro показывает только окошко браузера/чата, не показывая другие окна паинткада. При закрытии такого окошка весь паинткад автоматически закрывается (т.е. можно запустить паинткад с ключом -bro или -retro как будто отдельную программу-чат или программу-браузер).

Изображение

Полное описание изменений:
РазвернутьПоказать
Интерфейс:
- окно "О программе": добавлены кнопки перехода на форум PaintCAD 4Windows, telegram канал, youtube канал, facebook группу и openvk группу BlackStrip Studios с новостями и видео о компьютерном/мобильном паинткаде и другом софте/играх
- главное окно: при изменении размера окна панель статуса теперь растягивает пятую ячейку
- просмотр мозаики: при размере элементов мозаики меньше 20 пикселей по высоте размер шрифта номера элемента уменьшается (но не ниже 5)
- просмотр мозаики: курсор теперь виден даже при выключенных "Деталях (D)"
- просмотр мозаики: выделение теперь видно даже при выключенных "Деталях (D)"

Новые функции:
- меню в окне инструмента "Текст": в генератор ASCII-артов добавлен новый метод генерации "Черно-белый + Зернистый 5-цветный", использующий "Черно-белый 2-цветный" метод генерации на резких границах и "Зернистый 5-цветный" метод на плавных границах рисунка
- Scriptaint: в шаблон скрипта "DIV (пример картинки)" добавлены две строки с выводом цветных эмодзи-значков
- в меню "Настройки": добавлено подменю "Bro/Retro" с настройками браузера Bro и IRC-чата Retro
- в меню "Настройки"-"Bro/Retro" перемещены настройки браузера Bro из Общих настроек
- в меню "Настройки"-"Bro/Retro": добавлена опция "Полноэкранный режим Bro/Retro", по умолчанию выключена (браузер и чат показываются в отдельном модальном окне), при включении опции браузер Bro и чат Retro показываются на полный экран (как раньше). В оконном режиме окно можно растягивать/сжимать до любого размера
- браузер Bro и IRC-чат Retro: при запуске паинткада с ключами -bro или -retro - показывается только окно браузера/IRC-чата, а при его закрытии - паинткад также мгновенно закрывается. Теперь можно запустить паинткад ради только чата или браузера
- окно настройки IRC-чата Retro: добавлена новая опция "Режим экрана", позволяет выбрать оконный или полноэкранный режим работы (переключает автоматически соответствующую опцию в меню "Настройки"-"Bro/Retro"-"Полноэкранный режим Bro/Retro" перед показом окна IRC-чата)
- окно настройки IRC-чата Retro: выбор сервера по Ctrl+1 - Ctrl+6 теперь также автоматически выбирает порт под кодировку Windows-1251
- браузер Bro и IRC-чат Retro: теперь в оконном режиме клавишей F2 можно развернуть окно на весь экран и свернуть обратно (как в других окнах паинткада)
- настройки Muzz: базовый размер увеличен до 16, добавлены размеры мелодии с 9/16 до 16/16
- настройки Muzz: добавлен выбор жанра музыки: рок, поп, хип-хоп, регги или случайный выбор жанра, жанры отличаются наборами барабанных ритмов и диапазоном возможного темпа мелодии
- настройки Muzz: добавлена настройка "Варьируемый аккомпанемент" (выключена по умолчанию), случайным образом назначающая различные стили аккомпанемента вступлению, куплету и припеву генерируемых мелодий
- настройки Muzz: добавлена настройка "Варьируемая громкость" (включена по умолчанию), случайным образом назначающая различные громкости нотам мелодии, аккомпанемента и барабанов
- настройки Muzz: добавлен выбор устройства для вывода MIDI
- Muzz: в генерируемых мелодиях случайно выбирается распределение громкости барабаны<аккомпанемент<мелодия (барабаны тише всех, так было раньше) или мелодия<аккомпанемент<барабаны (барабаны самые громкие)
- главное окно: последняя ячейка панели статуса теперь отображает для Muzz не только настроение мелодии (мажор, норм, минор), но и жанр мелодии (рок, поп, хип-хоп, регги)
- окно Muzz: добавлен флажок "Дублировать аккомпанемент на октаву вверх (DAU)", управляемый командой скрипта DAU0/DAU1, позволяющий каждую ноту аккомпанемента играть двумя нотами - текущей и нотой на октаву выше, выбирается случайным образом для вступления/куплета/припева при генерации
- Muzz: теперь размер песен по умолчанию выставлен в 16/16 (вместо случайного)
- просмотр мозаики: номер элемента под курсором теперь также отображается в левом верхнем углу окна
- просмотр мозаики: в меню "Эффекты (E)" добавлен пункт "Залить выделение картинкой", позволяющий указать картинку с элементом из папки через стандартный диалог открытия файлов с предпросмотром картинок

Исправления ошибок:
- Muzz: при отключенных в настройках барабанах они больше не будут появляться в мелодиях
- окно всех меню: добавлена проверка на наличие курсора в пределах показываемых пунктов и автопромотка меню до места, где курсор виден
- Muzz: теперь сохранение в MID-файл создает не 3, а 4 дорожки в файле, в первую записывается только информация о темпе (как положено по MIDI-стандарту), а в три других - мелодия, аккомпанемент, барабаны
- Muzz: сохраненные MID-мелодии теперь проигрываются на Android в нормальном темпе (для этого в сохраненных файлах количество тиков на четвертную ноту и дельта-времена были увеличены в 12 раз)
- просмотр очереди кадров: исправлена ошибка некорректного выбора текущей папки окна загрузки файлов в качестве рабочей папки для вставки/перемещения кадров (когда просматриваем очередь кадров из папки очереди, а вставляем/перемещаем файлы в последней папке, использованной окном открытия файлов, а не в папке очереди)

Аватара пользователя
blackstrip
Админ
Сообщения: 1208
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows - журнал разработки

Сообщение blackstrip » Вс фев 05, 2023 11:36 pm

Подробности об изменениях генератора музыки Muzz в PaintCAD 4Windows 1.5.2.1352 на Хабрахабре: https://habr.com/ru/post/712878/

Сгенерированная MIDI-музыка из поста о выпуске версии 1.5.2 на Youtube:








Аватара пользователя
blackstrip
Админ
Сообщения: 1208
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows - журнал разработки

Сообщение blackstrip » Чт сен 14, 2023 9:37 pm

Бета 1.5.3.1355 доступна по ссылке http://blackstrip.ru/paintcad.exe
(а также через меню "Помощь" - "Проверить обновления")

Изменения:

Исправления ошибок:
- разбор PCF шрифта на BMP буквы: исправлена редкая ошибка создания BMP с мусорными пикселями вместо изображения символа

Аватара пользователя
blackstrip
Админ
Сообщения: 1208
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows - журнал разработки

Сообщение blackstrip » Сб май 25, 2024 10:07 am

Бета 1.5.3.1358 доступна по ссылке http://blackstrip.ru/paintcad.exe
(а также через меню "Помощь" - "Проверить обновления")

Изображение

Изменения:
Новые функции:
- Scriptaint: команда "Развернуть текст (F4)" теперь имеет третий режим - полностью скрытое поле текста, а также текстовых строк и полосы прогресса над ним

Исправления ошибок:
- Scriptaint: съемка кадров и их сохранение (включая сохранение из скрипта) теперь дополнительно ждут 100 мс чтобы поле с программным кодом до конца скрылось и не попало в кадр

Аватара пользователя
blackstrip
Админ
Сообщения: 1208
Зарегистрирован: Ср янв 02, 2008 1:42 pm
Откуда: Подольск
Контактная информация:

Re: PaintCAD для Windows - журнал разработки

Сообщение blackstrip » Пн ноя 04, 2024 4:26 am

Разработка PaintCAD 4Windows - 3D редактор Hippo

В меню Экстра есть несколько заблокированных заготовок на будущее. Одна из них - 3D редактор Hippo.
Изображение

Сначала для этого редактора писался софтверный 3d движок, рисующий в трехмерном пространстве точки, линии, треугольники, с каркасным отображением а ля wireframe. Классно, конечно, но в Windows есть встроенные движки OpenGL и DirectX для отрисовки 3D, с освещением, текстурами и т.д.

Почитав старые сайты про OpenGL 1.0 (без шейдеров) в Delphi 7 удалось прикрутить к паинткаду встроенный в Delphi 7 модуль opengl без каких-либо сторонних движков. Переписав софтверный движок 3D редактора в управление этим старым OpenGL удалось заставить его работать +)

Тестовая отдельная прога (для проверки как работает этот самый дельфийский opengl 1.0) с текстурированием кубика картинкой из файла нормально так его рисует:
Изображение

Интерфейс программирования Hippo скопирован с встроенного в PaintCAD 4Windows звукового редактора Qmpot (даже кнопка Ввод нот осталась, позже трансформируется в одну из функций). В 3D редакторе Hippo будет как в Qmpot модуль для программирования 3D моделей с самого низшего уровня - от точек и треугольников до объектов.

Будет примерно что-то типа такого как в коде ниже:
- создаем новую сцену (командой N),
- красим фон (BC),
- создаем камеру (C) и устанавливаем ее активной (SC),
- ставим в сцене до 8 источников света (здесь 4 источника света) через L - позиция источника света c регулируемым w-параметром (направленный свет из бесконечности w = 0, свет вблизи (точечный) w=1 или что-то промежуточное), цвета источника света фоновый (LCA), диффузного рассеяния (LCD) и цвет бликов (LCS),
- включаем источники света через команду LS,
- а дальше создаем объекты - в этом примере это восемь точек-углов кубика по команде D номер точки, x, y, z (от слова dot - точка), из них собираем 12 треугольников по команде T номер треугольника, точка1, точка2, точка3 (от слова triangle - треугольник, по 2 треугольника на сторону кубика), а из треугольников собираем объект через команду 0 номер объекта, все номера треугольников через запятую (от слова object - объект). Можно собрать и что-то другое, засунув, таким образом, все треугольники этого чего-то в объект.

Код кубика с 4 источниками света вокруг него:
//введите сюда HIP-команды
N
BC 48,111,160

C 1,0,0,5,0,0,0,0,0
SC 1

L 1,-5,0,-5,0
LCA 1,0,0,0,255
LCD 1,255,0,0,255
LCS 1,255,255,255,255

L 2,-5,0,5,0
LCA 2,0,0,0,255
LCD 2,0,255,0,255
LCS 2,255,255,255,255

L 3,5,0,5,0
LCA 3,0,0,0,255
LCD 3,0,0,255,255
LCS 3,255,255,255,255

L 4,5,0,-5,0
LCA 4,0,0,0,255
LCD 4,128,128,0,255
LCS 4,255,255,255,255

LS 1,1
LS 2,1
LS 3,1
LS 4,1

D 1,-1,-1,1
D 2,-1,-1,-1
D 3,-1,1,-1
D 4,-1,1,1
D 5,1,-1,1
D 6,1,-1,-1
D 7,1,1,-1
D 8,1,1,1
T 1,1,2,3
T 2,1,3,4
T 3,4,3,7
T 4,4,7,8
T 5,8,7,6
T 6,8,6,5
T 7,5,6,2
T 8,5,2,1
T 9,6,7,3
T 10,6,3,2
T 11,8,5,1
T 12,8,1,4
O 1,1,2,3,4,5,6,7,8,9,10,11,12

X
Код рисует вот такой кубик (вообще-то камера смотрит на кубик спереди из точки x=0,y=0,z=5 в точку x=0,y=0,z=0, был после построения скриптом докручен мышкой до ракурса с видом с угла):
Изображение

Будет масса и других команд на автоматизированное создание более сложных объектов - параллелепипеды, сферы, цилиндры, плоскости и т.д. и управление их точками, установкой опорной точки, раскрашивание цветами и/или текстурирование из внешних файлов с изображениями, копирование объектов, расположение объекта в 3D-пространстве, поворот, масштабирование и различные трансформации объекта относительно опорной точки, управление пространственным курсором (как конкретное "установить курсор в точку x,y,z", так и относительное "сдвинуть курсор на x,y,z относительно текущего положения"), помещение объекта в место расположения курсора, экспорт рисунка из paintcad в скрипт для 3D редактора Hippo, рисующий этот самый рисунок вокселями в 3D-пространстве), загрузка объектов из внешних файлов моделей, сохранение получившейся сцены в модель (как минимум в obj-формате, описывающим как раз точки (вершины), треугольники, нормали, расположения координат текстур на вершинах), рендер нескольких кадров для создания 3D-анимации. Как в Qmpot сделан вызов подпрограмм (через команды CALL имя_строки и RET).

Также планируется реализовать рисование подобно пиксельному как в паинткаде, но оно будет уже воксельное 3D-курсором и в 3D-пространстве. Получится такой мини-3D-паинткад.

Самое простое применение - отрендеренную сцену можно командой в скрипте или просто мышкой покрутить для нужного ракурса и экспортировать в паинткад в виде картинки, получится настоящее рисование в 3D (с дорисовкой в паинткаде если нужно). Посложней применение - создание 3D-моделек и сцен.
Еще одно назначение 3D-редактора HippoПоказать
В перспективе таким редактором можно будет рисовать модели для MMORPG Basis (viewtopic.php?t=616)или для других 3D-игр вместо сторонних редакторов =)
Продолжение следует...

Ответить

Вернуться в «Разработка PC4W»

Кто сейчас на конференции

Сейчас этот форум просматривают: нет зарегистрированных пользователей и 0 гостей