|
|
Регистрация Восстановить пароль |
Повторная активизация e-mail |
Регистрация | Задать вопрос |
Заплачу за решение |
Новые сообщения |
Сообщения за день |
Расширенный поиск |
Правила |
Всё прочитано |
|
Опции темы | Поиск в этой теме |
27.04.2010, 17:49 | #1 |
Форумчанин
Регистрация: 26.10.2009
Сообщений: 170
|
Alpha blending using mmx
Господа, вопрос такой, а кто-нибудь пользуется/вался mmx для создания эффектов полупрозрачности в directdraw? Если у кого-то есть готовые сниппеты, поделитесь пожалуйста, очень хочется делать Fade2Black в играх, ну и всякие там другие штуки при помощи полупрозрачности. Я в интернете посерфил, скачал кое-что, но чего-то не работает. Хотелось бы иметь интерфейс вроде этого:
Код:
|
29.04.2010, 23:19 | #2 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
берешь куду или opencl или intel compiler и все это дело паралелишь на кучу потоков, тогда точно тормозов не будет)))
А вообще тут немного написано про sse http://ru.wikipedia.org/wiki/Streaming_SIMD_Extensions |
30.04.2010, 11:41 | #3 |
Форумчанин
Регистрация: 26.10.2009
Сообщений: 170
|
возможно я сам когда-нибудь и займусь написанием функций альфа-блендинга с использованием ассемблерных вставок (если будут идеи по оптимизации и куча свободного времени и желания), но пока предпочитаю пользоваться готовеньким)) я тут сам кое-что нашел по этой теме
http://www.gamedev.net/reference/art...rticle1487.asp человек написал функции альфа - блендинга для directdraw с использованием mmx. Я немного разворошил там код, адаптировал под свою платформу и теперь у меня работает альфа-блендинг. Но вот проблема, у чувака там рендерится текстура размером 800на600 с фпс=60, а у меня где-то 300на200 и фпс падает аж до 10-15 кад/с. Вот какая-то такая хрень. Сам пока не пойму где косяк. Ах, да, еще когда сворачиваю/разворачиваю окно, приложенияе падает, если там рендерились поверхности функцией альфа-блендинга. Рад, что хоть кое-как работает ЗЫ вообще, полезно, наверное, было бы вспомнить ассемблер и заняться таки этим самому. Кучу бы сил потратил, зато потом в таких темах смело постил бы верные ответы))) |
30.04.2010, 11:53 | #4 | |
Форумчанин
Регистрация: 26.10.2009
Сообщений: 170
|
Цитата:
|
|
30.04.2010, 12:36 | #5 |
Участник клуба
Регистрация: 21.11.2007
Сообщений: 1,690
|
А как же!
DirectDraw уже давно устарел, было время когда я его тоже ковырял. В DirectX есть такая штука, как потеря устройства которая случается при сворачивании программы, то бишь происходит передача управления вывода на экран Windows и DX теряет все свое "имущество". Нужно делать проверку на потерю устройства и когда его можно будет восстановить восстанавливать. Для Direct3D я делал так: Код:
В DD я с этой проблемой никак не боролся))) |
30.04.2010, 13:30 | #6 | |
Форумчанин
Регистрация: 26.10.2009
Сообщений: 170
|
Цитата:
ЗЫ на счет потери устройства, я тоже заморачивался в directdraw (с direct3d не довелось поработать). Только там еще нужно всю графику заново на поверхности подгружать предупреждение, ...за нецензурную лексику Последний раз редактировалось Beermonza; 30.04.2010 в 16:05. |
|
30.04.2010, 13:34 | #7 |
Форумчанин
Регистрация: 26.10.2009
Сообщений: 170
|
с другой стороны для directx у меня уже весь код есть, вся платформа под него сделана. Так что переходить на ОпенГЛ второпях пока точно не стоит. Для этого требуется время и подготовка моральной базы)))
|
Опции темы | Поиск в этой теме |
Похожие темы | ||||
Тема | Автор | Раздел | Ответов | Последнее сообщение |
Alpha skins | dolphin705 | Компоненты Delphi | 36 | 27.12.2010 11:10 |
деление при помощи mmx команд | Tecka | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 0 | 19.12.2009 20:09 |
MMX инструкции , С++ и *.bmp | gizmonder | Общие вопросы C/C++ | 0 | 14.11.2009 22:39 |
Регистры и команды i486 i586 i686 SSE MMX SSE2 etc в качестве альтернативы памяти. | Ivan_32 | Assembler - Ассемблер (FASM, MASM, WASM, NASM, GoASM, Gas, RosAsm, HLA) и не рекомендуем TASM | 4 | 02.06.2009 00:30 |
Alpha Controls v3.56 | Михаил Юрьевич | Компоненты Delphi | 3 | 01.05.2008 15:52 |