Форум программистов, компьютерный форум, киберфорум
DirectX
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
 
Рейтинг 4.96/100: Рейтинг темы: голосов - 100, средняя оценка - 4.96
 Аватар для Stas96
35 / 35 / 7
Регистрация: 31.08.2009
Сообщений: 116

C++ и DirectX SDK и OpenGL

09.12.2009, 18:29. Показов 19550. Ответов 40
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Всем Привет. Изучая С++ я узнал про DirectX SDK.Захотелось попробовать ,но такая вот проблема я по С++ остановился только на "указателях".
Вопрос: Стоит ли сейчас начать изучать DirectX SDK попутно С++ или стоит больше узнать о С++ ,а потом начать изучать DirectX SDK.А может взять для начала OpenGL как я понял это - процедурная библиотека, с ней работать намного проще.
Жду ответов от людей которые сами это момент проходили в своей учебе.
Заранее Благодарен
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
09.12.2009, 18:29
Ответы с готовыми решениями:

DirectX SDK
Здравствуйте! У меня есть Visual C++ 6 и мне нужен DirectX SDK для него. Какую версию directx sdk надо взять ?

DirectX SDK урезан?
Столкнулся с проблемой: установил DirectX SDK, но при компиляции примеров из книги оказалось, что отсутствуют файлы DXUtil.h, d3dfont.h и...

Работа с DirectX SDK
А вот такой вопрос, какой тип проекта обычно используется для приложений с DirectX SDK? Среда Visual Studio 2008. Просто не знаю как...

40
 Аватар для Harlequin
42 / 42 / 7
Регистрация: 08.11.2009
Сообщений: 167
10.12.2009, 11:06
ничего сверхсложного в директ иксе нет
возьми хороший самоучитель и вперед
главное желание и время
0
 Аватар для Stas96
35 / 35 / 7
Регистрация: 31.08.2009
Сообщений: 116
10.12.2009, 12:17  [ТС]
А не могли бы вы мне посоветовать хороший самоучитель
0
 Аватар для Harlequin
42 / 42 / 7
Регистрация: 08.11.2009
Сообщений: 167
10.12.2009, 13:14
я эту читал
только примеры промежуточные из книги могут не работать
но в конце глав вроде более менее рабочие исходники

и скачай DirectX 9 SDK c офиц сайта майкрософта
вроде 500-600 метров весит
но без него никак
0
 Аватар для Stas96
35 / 35 / 7
Регистрация: 31.08.2009
Сообщений: 116
10.12.2009, 15:06  [ТС]
DirectX 9 SDK -Уже стоит

Добавлено через 1 минуту
Спасибо буду пытаться найти ее в бумажном вараенте
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
13.01.2010, 13:02
Наверное через интернет можно заказать все, однако в моем городе я нашёл лишь "Ален Торн. Графика в формате DirectX", довольно хорошо изложено, однако там только про Direct3D.
Про Горнакова не знаю - не читал, но на форумах часто жалуются что примеры не компилятся и есть логические ошибки, хотя для начала может и неплохо.
0
нубик программист)
 Аватар для Мегатрон
96 / 10 / 0
Регистрация: 04.06.2008
Сообщений: 348
07.02.2010, 05:28
это шо получается DirectX сложней OpenGL?
0
 Аватар для snake32
3511 / 1694 / 236
Регистрация: 26.02.2009
Сообщений: 8,476
Записей в блоге: 6
08.02.2010, 14:26
Цитата Сообщение от Мегатрон Посмотреть сообщение
шо получается
Хех...если и сложнее то не на много. В основном за счёт COM-модели, наверно, кажется сложным. Ну и так...по мелочам. Например, без буфера вершин никак не отрендерить полигон, а в Огле - понадобилась вершина - тут же добавил. Но в итоге, всё равно приходишь к массивам вершин(собственно и есть буфер), тк это самый быстрый способ передачи данных на видеокарту - пачками.
Думаю, изучая ОГЛ, ты более-менее постепенно усложняешь материал. Ну, хотя.... это очень мелкие детали....можно и за раз изучить. Так что в самом общем случае ничем они не отличаются. Имеется ввиду с точки зрения программиста в рамках одной всеми "любимой" M$ Windoz. Я не программил DX10 и DX11 возможно там есть заметные отличия.... Кстати, отличия могут быть довольно серьёзными, например, ф-ия вывода спрайта в DX8(или 7 даже, уже не помню) имела разное кол-во параметров по сравнению с такой же в DX9. Это мне как раз и не понравилось в DX. Чё хотят - то и творят. Совместимостью с предыдущими версиями даже и не пахнет. Чего не скажешь об OpenGL.
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
08.02.2010, 15:05
DirectX построен на технологии COM.
С DirectX я не работал:
Скажу лишь одно: если используя библиотеку часто надо использовать AddRef и Release,
тогда новичку надо ещё почитать про COM.

Это моя субъективная оценка.
Просто я работал с Direct Show API: тоже технология COM,
а там AddRef и Release "геморройная штука".
Может DirectX по проще: в плане управления ресурсами.
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
08.02.2010, 15:58
Цитата Сообщение от Мегатрон Посмотреть сообщение
это шо получается DirectX сложней OpenGL?
Много слышал мнений что да. В том плане что он понятнее
Цитата Сообщение от snake32 Посмотреть сообщение
Это мне как раз и не понравилось в DX. Чё хотят - то и творят. Совместимостью с предыдущими версиями даже и не пахнет. Чего не скажешь об OpenGL.
Согласен, однако он вроде и развивается и побыстрее. А совместимость есть, имею ввиду что написанное приложение в DX8 работает и в DX9...
Цитата Сообщение от Genius Ignat Посмотреть сообщение
Просто я работал с Direct Show API: тоже технология COM,
а там AddRef и Release "геморройная штука".
Я не работал с DX Show, но работал пока с более важными вещами для игры - DX 3D и DX Input. Про релизы конечно надо помнить но это то же самое что и пара new - delete, а вот AddRef не встречал ни разу, что это? Про COM не знаю вообще так что не скажи что новичку надо про COM читать

В целом могу сказать что DirectX не так уж и сложен, но без внятного руководства его наврятли можно изучить вообще.

По теме: изучать C++ и DirectX одновременно и не зная обоих, так что могу сказать что это возможно. Однако был большой опыт скриптинга на Lua поэтому с программированием как таковым был знаком не по наслышке, поэтому все таки смог освоить основы С++ "попутно", если опыта у вас мало, лучше все же предварительно его получить а потом браться за DirectX (или OpenGL).
0
 Аватар для snake32
3511 / 1694 / 236
Регистрация: 26.02.2009
Сообщений: 8,476
Записей в блоге: 6
08.02.2010, 16:23
Цитата Сообщение от insideone Посмотреть сообщение
Согласен, однако он вроде и развивается и побыстрее.
ну это спорный вопрос. В разделе холивар могем пообщатся...
Цитата Сообщение от insideone Посмотреть сообщение
А совместимость есть, имею ввиду что написанное приложение в DX8 работает и в DX9...
Готовые проекты работают. Спору нет. Я с другой стороны смотрю на ситуацию:
Пытался как-то откомпилить старый двигло(не помню как называется, но точно помню что знаменитая игра Зума была написана на нём). Стоял у меня тогда самый последний СДК ДХ9(кое как скачал больше 500 метров). Думаю ща начну ваять свою зумму. Не успел я пару строк написать, как посыпались ошибки одна за одной =( . Как оказалось ( потом прочитал на форумах ) нужен старый ДХ8 СДК который ещё вышел хз когда! А если я ещё где бесплатный другой двигло найду? Мне теперь все СДК коллекционировать? Это теперь нет проблем с доступом и скоростью в интернет, а 5 лет назад...
0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
08.02.2010, 16:57
insideone
Release и AddRef: это не new и не delete, не так всё просто как хотелось бы.
insideone:
Если тебе интересно можешь зайти в раздел COM & OLE и там книгу про COM выложил.
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
08.02.2010, 18:08
Цитата Сообщение от snake32 Посмотреть сообщение
Готовые проекты работают. Спору нет. Я с другой стороны смотрю на ситуацию:
В этом плане согласен, страшные вещи. Я начинал когда 9-ка была актуальна, а сейчас уже 11 выпустили. Каждое новое SDK - переписывай все заново. Однако в теории есть метод избежать этого - приложение пишется моульно-функционально. Допустим есть функция которая грузит текстуру, если методика загрузки текстуры изменилась - просто переписываем свою функцию под новый лад и все работает. Ну это простейший пример...

2 Genius Ignat. Про COM я знаю ровно столько сколько мне нужно знать для того чтобы писать свой код. В данном контексте я имел ввиду что если я создаю COM ресур то мне надо следить за тем чтобы в конце он делал свой Release(). И имел ввиду что это подобно слежке за new - delete, просто парралель такая.
0
 Аватар для snake32
3511 / 1694 / 236
Регистрация: 26.02.2009
Сообщений: 8,476
Записей в блоге: 6
08.02.2010, 18:29
Цитата Сообщение от insideone Посмотреть сообщение
а вот AddRef не встречал ни разу, что это?
AddRef вызывается автоматически когда ты создаёшь СОМ-объект. на сколько я знаю. например
C++
1
pD3DDevice->CreateRenderTargetView(....);
Поэтому ты и не видишь их

Добавлено через 2 минуты
AddRef - увеличевает подсчёт ссылок на объект(+1). Метод Release уменьшает кол-во ссылок(-1). Объект не очистится пока кол-во ссылок на него больше ноля.
1
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
08.02.2010, 18:37
Да я так и хотел за AddRef сказать.
snake32:
insideone считает что знает достаточно про COM.
Поэтому про AddRef можно было и не говорить наверное.
0
08.02.2010, 19:20

Не по теме:

Говоря что я знаю достаточно про COM я имею ввиду что я знаю про COM ровно столько сколько позволяет мне решать мою конкретную задачу без появления проблем из за незнания COM) однако такая небольшая информация весьма полезна и я вообще всегда рад узнать новое. Мой принцип узнавать новое когда оно нужно или когда оно само появляется перед глазами :)

0
1261 / 799 / 108
Регистрация: 16.09.2009
Сообщений: 2,010
08.02.2010, 19:34
insideone:
Я ни чего плохого не имел.
0
Автор FAQ
 Аватар для insideone
3687 / 964 / 114
Регистрация: 10.01.2010
Сообщений: 2,550
08.02.2010, 23:41
Вот ещё информация для размышления на эту тему
Себастьен Сент-Лаурент "Шейдеры для программистов игр и художников"
Продолжительные дебаты и масштабные сражения разворачиваются по вопросу о том, какой API лучше: Direct3D или OpenGL. С одной стороны, Direct3D и DirectX работают только на платформе Windows, что не оставляет выбора разработчикам кросс-платформенных приложений. Но если вы разрабатываете приложения только для Windows, стоит рассмотреть сильные и слабые стороны каждого API.
Оба API достаточно просты в использовании. Однако DirectX в общем случае требует больше кода для инициализации. DirectX чаще обновляется и более приспособлен для использования преимуществ самых последних технологий чем OpenGL. DirectX предоставляет более объектно-ориентированную структуру, но, с другой стороны, OpenGL проще использовать. Большинство разработчиков имеют склонность к одному из API, но если вы начинающий разработчик ваши потребности удовлетворит любой из них.
0
 Аватар для snake32
3511 / 1694 / 236
Регистрация: 26.02.2009
Сообщений: 8,476
Записей в блоге: 6
09.02.2010, 02:31
Цитата Сообщение от insideone Посмотреть сообщение
но если вы начинающий разработчик ваши потребности удовлетворит любой из них
Во! Это правда.
0
 Аватар для Norby
66 / 66 / 5
Регистрация: 12.03.2008
Сообщений: 392
09.02.2010, 17:23
Если остановился только на указателях, то лучше их дальше и учи. Потому что в ДирИксе они используются очень активно. Ну и ООП обязательно. А насчет какой сложнее скажу так: я пытался разобраться в обоих. Изучил только основы, и скажу что по сложности они были одинаковы.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
09.02.2010, 17:23
Помогаю со студенческими работами здесь

VC++ DirectX SDK (DirectX9)
Привет всем ! В этом примере кода я пытался тупо нарисовать треугольник: // DirectX.cpp: определяет точку входа для приложения. //...

Установка DirectX SDK
DirectX SDK ошибка при установке This setup executable has not been packed with files and settings please use the PACKER tool to build this...

Как установить DirectX SDK?
Привет всем. скачал DirectX SDK june 2010. Хочу установить на Windows 8. Начал требовать .NET Framework 3.5 для установки. Интернета на...

Где скачать DirectX SDK 11?
Привет всем!Люди, где скачать DirectX SDK 11? Именно 11, а то во всех примерах,которые я последнее время осваиваю,нужно подключать...

Не могу скачать DirectX SDK
К сожаления оф. сайт SDK не загружается. Кинте ссылочку пожалуйста с какого-нибудь торента без вирусов.


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
20
Ответ Создать тему
Новые блоги и статьи
Реалии
Hrethgir 01.03.2026
Нет, я не закончил до сих пор симулятор. Эта задача сложнее. Не получилось уйти в плавсостав, но оно и к лучшему, возможно. Точнее получалось - но сварщиком в палубную команду, а это значит, в моём. . .
Ритм жизни
kumehtar 27.02.2026
Иногда приходится жить в ритме, где дел становится всё больше, а вовлечения в происходящее — всё меньше. Плотный график не даёт вниманию закрепиться ни на одном событии. Утро начинается с быстрых,. . .
SDL3 для Web (WebAssembly): Сборка SDL3, Box2D, FreeType и SDL3_ttf из исходников с помощью CMake и Emscripten
8Observer8 27.02.2026
Недавно вышла версия 3. 4. 2 библиотеки SDL3. На странице официальной релиза доступны исходники, готовые DLL (для x86, x64, arm64), а также библиотеки для разработки под Android, MinGW и Visual Studio. . . .
SDL3 для Web (WebAssembly): Реализация движения на Box2D v3 - трение и коллизии с повёрнутыми стенами
8Observer8 20.02.2026
Содержание блога Box2D позволяет легко создать главного героя, который не проходит сквозь стены и перемещается с заданным трением о препятствия, которые можно располагать под углом, как верхнее. . .
Конвертировать закладки radiotray-ng в m3u-плейлист
damix 19.02.2026
Это можно сделать скриптом для PowerShell. Использование . \СonvertRadiotrayToM3U. ps1 <path_to_bookmarks. json> Рядом с файлом bookmarks. json появится файл bookmarks. m3u с результатом. # Check if. . .
Семь CDC на одном интерфейсе: 5 U[S]ARTов, 1 CAN и 1 SSI
Eddy_Em 18.02.2026
Постепенно допиливаю свою "многоинтерфейсную плату". Выглядит вот так: https:/ / www. cyberforum. ru/ blog_attachment. php?attachmentid=11617&stc=1&d=1771445347 Основана на STM32F303RBT6. На борту пять. . .
Камера Toupcam IUA500KMA
Eddy_Em 12.02.2026
Т. к. у всяких "хикроботов" слишком уж мелкий пиксель, для подсмотра в ESPriF они вообще плохо годятся: уже 14 величину можно рассмотреть еле-еле лишь на экспозициях под 3 секунды (а то и больше),. . .
И ясному Солнцу
zbw 12.02.2026
И ясному Солнцу, и светлой Луне. В мире покоя нет и люди не могут жить в тишине. А жить им немного лет.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru