Сделал coff-библиотеку на скорую руку, для своих будущих целей. Эксперименты с ядром показали, что все выводить с альфа-каналом - есть плохая идея.
Итак, в библиотеке (которую нужно положить в /sys/lib/) две функции.
Miximage получает две картинки (pic1 и pic2) в формате 24bpp, их разрешение (а они должны быть одинакового разрешения) и прозрачность (float от 0 до 1). Результат: pic1 - смешанное изображение.
Alphaimage получает на вход картинки pic1 в 24bpp и pic2 в 32bpp, и их разрешение. Результат: pic1 - смешанное изображение.
В архиве приложены две программы. a32 тестирует первую функцию, beta - вторую. Смотреть в них особенно не на что. Программы простые, написаны на Си, но я перепишу их на ассемблере, если никто не сделает этого раньше.
Смешивание картинок с учетом прозрачности
-
- Attachments
-
-
alpha.7z (5.68 KiB)Downloaded 312 times
-
Это... "А тебя ведь предупреждали". ![Laughing :lol:](./images/smilies/icon_lol.gif)
![Laughing :lol:](./images/smilies/icon_lol.gif)
Ну, попытка - не пытка. И вообще, может быть когда-нибудь 32bpp все же появится в ядре/видеодрайверах ![Wink ;)](./images/smilies/icon_wink.gif)
![Wink ;)](./images/smilies/icon_wink.gif)
В моей оси иконки прозрачные при перетаскивании, так же как и в винде. Кстати они у меня 128*128, при чём разрешение пока что 640*480. Смотрятся здоровыми(но симпатышными)
По прозрачности у меня эфектов дофига.
По прозрачности у меня эфектов дофига.
Почем свою ОС продавать будешь?
Зачем, это просто вечернее хоби
Ну, поскольку я татарин ("татарин пока руками не потрогает не поверит" народная поговорка) то пока не увижу работающий код, то вынужден воспринимать такие заявления с огромной долей скепсиса. Не пойми превратно, но пока твои заявления выглядят в стиле старого анекдота - "доктор как же так? а вот мой друг, который на 20 лет старше меня говорит, что он с женой каждую ночь! - так и вы говорите!".
Ну у меня пока тока рабочий стол с картинкой загружается с панелью и иконками, и два окошка открываются. На одном список контроллеров. И усё пока. Возможности сделать чтото интересное впринципи есть.
Mario, когда-то давно у меня была своя ОС с поддержкой масштабируемых растровых шрифтов и многозадачностью, и 32bpp, и прозрачностью на QBasic'е.
На 80486 выдавало примерно 5-10 fps.
![Very Happy :D](./images/smilies/icon_biggrin.gif)
КЭП уверенно утверждает, что ОС это не GUI, а нечто большее - по крайней мере в современных понятиях. GUI Это всего лишь побочное направление. Хотя с точки зрения пользователя конечно в первую очередь GUI только и присутствует. Но мы же в конечном счете разработчики, а не только пользователи.
ОК, это была операционная оболочка. Энд оффтоп ![Smile :)](./images/smilies/icon_smile.gif)
![Smile :)](./images/smilies/icon_smile.gif)
У меня в библиотеке buf2d есть возможность рисования прозрачных изображений. Я выкладывал на форуме пример с использованием прозрачности. В твои примеры я пока не вникал, но думаю что основная мысль та же что и у меня. Хотя если тебе нужен вывод сразу на экран без использования буфера, то мои примеры не подойдут.
Ок, я сделал велосипед, похоже
Интересно сравнить производительность, кстати.
![Very Happy :D](./images/smilies/icon_biggrin.gif)
Забыл сказать что более новые примеры (по сравнению с форумом) есть на svn в папкеSoUrcerer wrote:Интересно сравнить производительность, кстати.
(root)/programs/develop/libraries/buf2d/trunk/examples/
так что на форуме можно не искать.
Who is online
Users browsing this forum: No registered users and 1 guest