Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

DirectX или OpenGL

424
19 октября 2003 года
(C)dragon
307 / / 04.12.2002
Вопрос такой - какой из этих итнерфейсов обладает более высоким быстродействием при работе с 2D графикой, при условии их полной аппаратной поддержки?
239
24 октября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by (C)dragon
Вопрос такой - какой из этих итнерфейсов обладает более высоким быстродействием при работе с 2D графикой, при условии их полной аппаратной поддержки?



Честно говоря, вопрос всегда актуальный при выборе, в чем писать, и вместе с тем совершенно неоднозначный.

Если Вам надо программировать в полноэкранном режиме и просто использовать спрайты, возможно с некоторыми растяжениями, а иногда и поворотами, то советую DirectX(DirectDraw). Он довольно понятен в интерфейсном плане, имеет высокую производительность и небольшой объем библиотек.

Но OpenGL дает куда больше возможностей! Там можно задавать порядок действий, а потом его сохранять на выполнение, чтобы производить многновенно, без повтора вычислений. большие возможности работы со шрифтами и т.д.. Но он очень сложен, и нужен хотя бы какой-то опыт работы с такими вещами. Еще в OpenGL "искусственно" реализовано 2D с помощью установки перспективы на ноль и двигания камеры, перпендикулярной плоскости, на которой все нарисовано. Это огромный плюс - потери в скорости нет, а реализовать спрайты еще проще - тот, кто ближе к камере, тот перекрывает остальные. Еще OpenGL в оконном режиме не моргает..

Все!... %)))

424
25 октября 2003 года
(C)dragon
307 / / 04.12.2002
Если конкретнее, то я хочу сделать быструю программу для просмотра картинок в оконном режиме. Поэтому как я понял DirectDraw лучше подходит. Только мне исходники надо бы мне достать на C или ASM, чтобы только API функции использовались, без доп библиотек(типа MFC). А то хоть DirectDraw и просто использовать, но документации почти никакой.
239
26 октября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by (C)dragon
Если конкретнее, то я хочу сделать быструю программу для просмотра картинок в оконном режиме. Поэтому как я понял DirectDraw лучше подходит. Только мне исходники надо бы мне достать на C или ASM, чтобы только API функции использовались, без доп библиотек(типа MFC). А то хоть DirectDraw и просто использовать, но документации почти никакой.



Вы, конечно, сделали правильный выбор, поскольку в Вашей программе не нужно обязательно "безморгально" показывать изображение. Я только не пойму, зачем Вам вообще DirectDraw, ведь можно воспользоваться PictureBox и все дела. С подгрузкой изображений других форматов в DirectX b OpenGL такие же проблемы...

424
26 октября 2003 года
(C)dragon
307 / / 04.12.2002
Никаких PictureBox'ов мне не надо, главное - скорость. Я вообще без дополнительных модулей хочу писать, наверное на Intel C++, а библиотеки для поддержки форматов на чистом асме.

А как, с исходниками можете помочь? Мне надо только буфер DirectDraw выделить и к окну его прицепить, всё на API, без MFC.
239
27 октября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by (C)dragon
Никаких PictureBox'ов мне не надо, главное - скорость. Я вообще без дополнительных модулей хочу писать, наверное на Intel C++, а библиотеки для поддержки форматов на чистом асме.

А как, с исходниками можете помочь? Мне надо только буфер DirectDraw выделить и к окну его прицепить, всё на API, без MFC.



Я для DirectDraw писал только из-под VB... Но если надо, то от туда можно выковырять последовательность обращений к функциям DirectX и переткнуть в VCPP... это не проблема, ведь как и в Си++ там код модуля, орудующего с буферами и их обрезанием (и др.) связывает с остальной программой лишь HWND окна, куда прикреплять %) Если нужен этот пример, я к Вашим услугам!... %)

424
28 октября 2003 года
(C)dragon
307 / / 04.12.2002
Ну если в примере не будут использоваться объекты для работы с DirectX, то лишним он не будет.
239
30 октября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by (C)dragon
Ну если в примере не будут использоваться объекты для работы с DirectX, то лишним он не будет.



OK! Заметано! Тебе как, мылом, или тут выложить?

424
30 октября 2003 года
(C)dragon
307 / / 04.12.2002
Выложи тут, может ещё кому-нибудь пригодиться.
239
04 ноября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by (C)dragon
Выложи тут, может ещё кому-нибудь пригодиться.



Ага! Я тут еще сделал удобные сплиттеры (непростой алгоритм, если делать нормально %)). В общем, юзайте на здоровье! если будут вопросы - задавайте!

424
05 ноября 2003 года
(C)dragon
307 / / 04.12.2002
Тут есть проблема, я не знаю basic, может всё же на С перепишешь? Ну знал бы я его, сам бы переписал, а так не могу.
239
12 ноября 2003 года
Dolonet
1.7K / / 20.05.2000
Цитата:
Originally posted by (C)dragon
Тут есть проблема, я не знаю basic, может всё же на С перепишешь? Ну знал бы я его, сам бы переписал, а так не могу.



У меня очень много забот сейчас... %( неужели нет нигде нормальной доки по этой теме? Я как-то сам тогда справился, причем эту самую доку собирал не более часа %)...

Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог