![]() |
|
Модераторы: Rickert, Alexeis, BorisVorontsov |
![]()
|
|
| Prog |
|
|||
|
Unregistered |
пытаюсь изобрести велосипед: делаю 3D графику под GDI;
Есть проблема: как сделать Back/Front buffer ? Точнее как их между собой обменять? SetPixel работает слишком медленно;можть можно как то в пямяти подменить видеобуфер окна(если таковой существует)? Памагите!!! |
|||
|
||||
| chipset |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 4071 Регистрация: 11.1.2003 Где: Seattle, US Репутация: нет Всего: 165 |
Модератор: перенесено из C++:Общие вопросы.
--------------------
|
|||
|
||||
| DENNN |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 3878 Регистрация: 27.3.2002 Где: Москва Репутация: 2 Всего: 43 |
::BitBlt() ?
|
|||
|
||||
| Guest |
|
|||
|
Unregistered |
Используй контекст памяти совместимый с экраном CreateCompatibleDC()
Из него в окно копируй BitBlt - только не ждиот GDI скорости как от D3D. У GDI слишком длинный путь от вызова до реальноцй роприсовки. Да, попиксельно работаь вообще не стоит. Есои хочеш работаь руками то сам строй изображение в памяти в формате экрана, оптом преобразуй это дело в картинку и выводи уже ее. Но это опять же медленно будет, под DX буджет всеравно быстрее, так как там самый коротки путь к видеокарте. |
|||
|
||||
| DeadProger |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 21 Регистрация: 30.12.2004 Где: The Earth Репутация: нет Всего: нет |
можно поподробнее ps тему я создал |
|||
|
||||
| Madest |
|
|||
|
Шустрый ![]() Профиль Группа: Участник Сообщений: 143 Регистрация: 27.11.2003 Где: Городок Репутация: нет Всего: нет |
Где-то читал, что StretchDIBits() работает не медленней. Так ли это?
--------------------
|
|||
|
||||
| oleg1973 |
|
|||
![]() asm fanat ![]() ![]() ![]() ![]() Профиль Группа: Экс. модератор Сообщений: 3283 Регистрация: 16.7.2003 Где: Italy Репутация: нет Всего: 34 |
дык вроде была такая тема уже
имхо лучше в директдраве все это рисовать если уж на то пошло там вроде как 3д нет функций но есть полезности для работы с бэк буффером для ускорения вывода графики, а BitBlt и ему подобные есть полный сакс и тормоза -------------------- SST 465555 icq 200-512-712 |
|||
|
||||
| ZeroMem |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 25 Регистрация: 24.8.2004 Где: Комсомольск-на-Ам уре Репутация: нет Всего: нет |
Люди, а не проще ли просто использовать новую библю GDI+. Лично мне, она очень понравилась. Там все очень просто и очень круто! Даже есть 3D преобразования 2D объектов
|
|||
|
||||
| Xerx |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 28.5.2005 Где: Калуга Репутация: нет Всего: нет |
BitBlt для копирования контекста в контекст, есль же буфер цвета просто массив чисел, то нужно StretchDIBits. Без 'Stretch' никак... Если нужно, могу скинуть мою лабу по Машинной Графике (3D и т.д.)
|
|||
|
||||
| Xerx |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 28.5.2005 Где: Калуга Репутация: нет Всего: нет |
StretchDIBits работает медленнее BitBlt, но, если размеры исходной области и приемной совпадают, то не намного. Вообще, если кому надо, могу выложить спой вариант реализации: 24-битный цвет, 32-битный z-буфер, отсечения невидимых граней, освещение(плоское, Гуро, с цветом и направлением). Все в BCB 6.0 с КУЧЕЙ(предупреждаю) кода на AMS'е. Для окна 600x600 дает 97 FPS.
|
|||
|
||||
| Empirik |
|
|||
![]() Бывалый ![]() Профиль Группа: Участник Сообщений: 156 Регистрация: 28.10.2005 Где: Россия, Пермь Репутация: нет Всего: 1 |
если не сложно то вышли мне на мыло [email protected] --------------------
Постоянно удивляюсь человеческой фантазии напридумывают гаджетов |
|||
|
||||
| Xerx |
|
|||
![]() Новичок Профиль Группа: Участник Сообщений: 17 Регистрация: 28.5.2005 Где: Калуга Репутация: нет Всего: нет |
Отправил, лови
|
|||
|
||||
![]()
|
| Вы можете найти полезным что... | |
|
|
|
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Мультимедия, OpenGL/DirectX | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |