IPB
ЛогинПароль:

> Правила раздела!

1. Заголовок или название темы должно быть информативным !
2. Все тексты фрагментов программ должны помещаться в теги [code] ... [/code] или [code=pas] ... [/code].
3. Прежде чем задавать вопрос, см. "FAQ" и используйте ПОИСК !
4. НЕ используйте форум для личного общения!
5. Самое главное - это раздел теоретический, т.е. никаких задач и программ (за исключением небольших фрагментов) - для этого есть отдельный раздел!

> Графические эффекты, Довольно глупая тема :D
сообщение
Сообщение #1


Пионер
**

Группа: Пользователи
Сообщений: 85
Пол: Мужской
Реальное имя: max

Репутация: -  0  +


подскажите какие-нибудь интересные графические 2д эффекты, фокусы с расстановкой пикселей или цветами, учитываю что не должна использоваться какая-либо видео акселерация видео картой(я имею ввиде без опенгл или дирестикс). Надеюсь вы меня поняли и что-нибудь подскажите :D
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гуру
*****

Группа: Пользователи
Сообщений: 1 168
Пол: Мужской
Реальное имя: Сергей Андрианов

Репутация: -  28  +


Можно, конечно, получить данные непосредственно экрана. Но это долго. Долго это было под DOS, т.к. видеопамять намного тормознее по операции чтения, чем по операции записи. Еще дольше это под Windows.
В то же время хорошо себя зарекомендовал следующий алгоритм:
1. готовим в оперативной памяти буфер в формате BMP-файла, причем, с удобной нам глубиной цвета.
2. в обработчике сообщения WM_PAINT процедурой StretchDIBits переливаем содержимое буфера на экран.
Примечания:
к п.1: обычно я использую 256-цветный режим, т.к. для операций в труколоре обычно больше подходит OpenGL. Но это мое личное мнение. Опять же, сущесвуют исключения, например, то, что я привел вл втором посте темы.
к п.2: мне кажется, что если размеры буферов совпадают (т.е. не требуется масштабирования), то операцию преобразования цвета (например от палитры 256 цветов в труколор) берет на себя железо видюшки прозрачно для программы. По крайней мере, судя по скорости этого преобразования.

Что же касается примера, то чем не подходит, опять же, архив из второго поста? Там я как раз реализовал описанную технику.

PS. Да, язык Ассемблера здесь в подавляющем большинстве случаев совсем необязателен. В приведенном римере, например, на нем написано всего несколько строк, и то лишь для того, чтобы использовать MMX для ускорения одного конкретного алгоритма.

Сообщение отредактировано: andriano -
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 

Сообщений в этой теме
XaMMaX   Графические эффекты   6.05.2008 22:07
andriano   Что-нибудь такое?   6.05.2008 23:48
XaMMaX   Да, спасибо. Линзу поизучаю, но хотелось бы ещё чт…   6.05.2008 23:57
andriano   Да, спасибо. Линзу поизучаю, но хотелось бы ещё ч…   8.05.2008 2:23
klem4   не знаю подойдет или нет, но есть такая темка: Зан…   8.05.2008 22:29
XaMMaX   2klem4, Переработаю на свой лад и подойдёт, спасиб…   8.05.2008 22:40
XaMMaX   Господа знатоки, вот думаю как реализовать эффект …   9.05.2008 15:02
andriano   Если взрыв наподобие того, что справа - полупрозра…   10.05.2008 1:18
XaMMaX   Нет нет, ты смотрел на сам взрыв, а не на взрывну…   10.05.2008 2:12
andriano   Честно говоря, по оному статичному скриншоту не мо…   10.05.2008 14:20
XaMMaX   Честно говоря, ты меня поставил в тупик. А как ещ…   11.05.2008 0:45
andriano   Работаешь с экраном (вероятно экранным буфером) ка…   11.05.2008 2:17
XaMMaX   Значит ли это, что мне все процедуры надо переписы…   11.05.2008 3:05
andriano   Не понял вопроса. Какие процедуры ты записываешь в…   11.05.2008 3:10
XaMMaX   Хм, как с массивом, тоесть процедуры вывода допус…   11.05.2008 3:29
andriano   Любая процедура, участвующая в формировании изобра…   11.05.2008 11:06
XaMMaX   А пример подобного где-нибудь посмотреть можно? Мо…   11.05.2008 17:37
andriano   Можно, конечно, получить данные непосредственно эк…   11.05.2008 23:33
XaMMaX   Да вот запустить не могу. Я так понимаю компилиро…   12.05.2008 1:42
andriano   Откомпилировано оно в TMT-Паскале, для Delphi, вер…   12.05.2008 14:34


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 4.05.2024 1:27
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name