DirectX-программирование в Windows, что является предпочтительным способом? - PullRequest
5 голосов
/ 23 апреля 2009

Мне нужно разработать часть бизнес-приложения в форме яркого взгляда. Поэтому хотел посмотреть, смогу ли я использовать DirectX. Вот что я получил.

  1. Сначала я прочитал, что использование C / C ++ похоже на стрельбу по ногам, и вместо этого я должен использовать DirectX.NET. Я не мог не согласиться. Это 21 век.

  2. Скачал DirectX SDK, но не смог найти там сборки .NET. Поиск в сети показал, что DirectX .NET (называемый MDX) устарел (выпущен в 2006 году). И что я должен использовать XNA вместо этого, который был в основном разработан для XBOX.

  3. Загруженный XNA. Но он не будет установлен, потому что у меня нет C # .NET Express 2005 SP1. Установил SP1 на моем VS Pro 2005. Но он все равно не будет установлен. Для этого нужен Express 2005 и именно эта единственная версия, а не Pro, явно не 2008.

  4. Разочарованный попытался загрузить C # .NET Express, который является бесплатным. Но ссылка от MS, которая говорит, что C # .2005 фактически загружает C # .2008, потому что C # .2005 теперь устарела.

  5. А теперь я прочитал, что MS теперь использует силу WPF / silverlight. И XNA не поддерживает DX10, а Vista не поставляется с DX9.

Теперь у меня есть два варианта:

  1. Вернитесь на 15 лет назад и используйте простой старый C / C ++. По крайней мере, C зарекомендовал себя вне времени.

  2. Попробуйте Silverlight.

Что бы вы посоветовали? Или я что-то упустил?

Udpate: хотелось бы добавить, что DX10 не имеет обратной совместимости с любой другой версией DX. SlimeDX выглядит действительно многообещающе. Но как новый пакет я не уверен, насколько полезной будет документация и учебные пособия.

Обновление 2. Похоже, что первая ссылка для загрузки, которую Google вызывает при поиске загрузки XNA, которую я использовал, не самая последняя. Спасибо DouglasH за предоставленную ссылку на v.3. Занимаясь этим. Возможно, это сработает.

Но тогда Агиан. Должен ли я перейти на WPF / Silverlight? Или пойти с XNA? Какой из них лучше задокументирован и перспективен?

Больше обновлений: Vista действительно не поставляется с предустановленным DirectX 9 [проверьте по googling]. По крайней мере, это не было на моей машине в прошлом году. Поиск в Google показал, что я должен вручную установить DirectX 9 на Vista после загрузки с MS. Но мой сервер отказал, потому что драйверы аппаратного обеспечения для DX9 / Vista отсутствовали или не работали. Я понял, что это не очень хорошо поддерживается.

Ответы [ 6 ]

4 голосов
/ 23 апреля 2009

WPF делает довольно хорошие 3D-вещи, и для WPF доступно множество «рыбьих глаз» панелей и исходного кода, да, поскольку MS отошла от своей технологии, в современных условиях мы не можем сосредоточиться только на одной технологии от MS, чтобы сделать все одно бизнес-приложение.

Конечно, мы устали от использования различных версий технологий, даже для изготовления мельчайших деталей, но я считаю, что они отлично справляются с обслуживанием миллиарда машин, но это непросто, но WPF и .NET кажутся наиболее стабильными технологиями. Microsoft, а также они тратят хорошие деньги на создание полностью управляемой операционной системы.

4 голосов
/ 23 апреля 2009

MS перестала поддерживать библиотеки .net DirectX. Существует альтернатива с открытым исходным кодом SlimDX , и она работает хорошо. Документация оставляет желать лучшего, но ее можно озадачить, используя документацию DirectX C ++ и немного здравого смысла.

2 голосов
/ 23 апреля 2009

DirectX полностью обратно совместим. Любое приложение DX9 будет работать на Vista и DX10. Что касается XNA и VS2005 - это немного странно. Это сделало бы XNA эффективно бесполезной. Проверьте, не пропустили ли вы что-нибудь.

2 голосов
/ 23 апреля 2009

Если вы когда-нибудь вернетесь к C или C ++, вы можете попробовать Simple DirectMedia Layer (SDL).

ИМХО, это намного проще, чем DirectX.

URL: http://www.libsdl.org/

1 голос
/ 23 апреля 2009

Хотя я никогда не работал напрямую с DirectX (немного с OpenGL) - я бы взял WPF. Наименее болезненный для реализации (прозрачность, градиенты, кисти, анимация и т. Д.), И он обеспечивает хорошую производительность из того, что я видел и испытал на себе. Но да, он не зависит от платформы.

1 голос
/ 23 апреля 2009

пара пунктов, какую версию XNA вы скачали. Вот ссылка на XNA Studio 3.0, которая будет работать в Visual Studio 2008. http://www.microsoft.com/downloads/details.aspx?FamilyId=7D70D6ED-1EDD-4852-9883-9A33C0AD8FEE&displaylang=en

Во-вторых, я очень надеюсь, что Vista имеет Direct X 9, поскольку это версия Direct X, на которой работает DWM в Vista. Я думаю, вы найдете библиотеки DLL для Direct X 9 и более ранних версий и библиотеки DLL для DirectX 10, загруженные в Vista. Или для этой ОС Windows 7, которая также будет иметь DirectX 11 (отредактируйте 2, обратите внимание, что DWM построен на DirectX10, с программным эмулятором для систем, не имеющих 3D-видеооборудования, драйверами dx10ondx9 для тех, которые имеют карты DirectX 9 и Конечно полная поддержка DirectX 10 карт).

редактировать

Кроме того, если вы загрузили мартовский DirectX SDK, вы загружаете DirectX 9.0C, DirectX 10, 10,1 и бета-версию DirectX 11. И мне придется проверить, включен ли DirectX 8.x или нет, хотя DirectX 9 обратно совместим с большей частью этой платформы.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...