Комментарии 28
не «почему», а «для чего» ;-)
+2
вопрос совершенно некорректно поставлен
XNA — это не аналог интерфейсов DirectX или OpenGL, а относительно высокоуровневая обертка над DirectX9
а если мне надо использовать DirectX10, то никакая, простите, ХN'я мне не поможет
с другой стороны, заюзать DirectX10-интерфейсы в C# через C++/CLI или даже автоматический COM-маршаллинг — дело пары десятков минут, сам пробовал
XNA — это не аналог интерфейсов DirectX или OpenGL, а относительно высокоуровневая обертка над DirectX9
а если мне надо использовать DirectX10, то никакая, простите, ХN'я мне не поможет
с другой стороны, заюзать DirectX10-интерфейсы в C# через C++/CLI или даже автоматический COM-маршаллинг — дело пары десятков минут, сам пробовал
+2
Я так понял, вопрос больше про технологию чем про инструментарий. Советую вам использовать для начальной обрисовки идеи использовать OpenGL, а потом, когда опыта будет боболе, то перенесете на DirectX. XNA всетаки больше для бизнес-приложений. Я так понимаю вопрос был создан под действием топика про халфу :)
0
Таких бизнес-приложений: www.youtube.com/watch?v=TgChURF5fQE? :)
На платформе xbox360 XNA используется вовсю уже давно (думаю в играх типа Halo 3 — тоже).
На платформе xbox360 XNA используется вовсю уже давно (думаю в играх типа Halo 3 — тоже).
0
если же включить режим телепата и предположить, что вы собираетесь делать что-то, использующее GPU под Windows (исходя из предложенных вариантов)
то я бы рекомендовал DX10 via C#
очень чистый интерфейс в отличие от предыдущего DX9, полностью пересмотрен API, стало более… эээ, cohesive (сгруппировано по функциональности)
выкинут весь fixed-function анахронизм, и — внимание — выкинут концепт «hardware capabilities», теперь гарантируется, что железяка (точнее, драйвер) должна реализовывать весь API
программировать его — одно удовольствие
с OpenGL я работал пару лет и могу точно вам сказать, что геморрой с ним будет просто космический и это может быть оправдано только лишь острой необходимостью в кросс-платформенности
а, ну ещё OpenGL используют гики — для демок, юзающих vendor-specific фичи железяк (которые, понятное дело, недоступны из DirectX)
то я бы рекомендовал DX10 via C#
очень чистый интерфейс в отличие от предыдущего DX9, полностью пересмотрен API, стало более… эээ, cohesive (сгруппировано по функциональности)
выкинут весь fixed-function анахронизм, и — внимание — выкинут концепт «hardware capabilities», теперь гарантируется, что железяка (точнее, драйвер) должна реализовывать весь API
программировать его — одно удовольствие
с OpenGL я работал пару лет и могу точно вам сказать, что геморрой с ним будет просто космический и это может быть оправдано только лишь острой необходимостью в кросс-платформенности
а, ну ещё OpenGL используют гики — для демок, юзающих vendor-specific фичи железяк (которые, понятное дело, недоступны из DirectX)
+3
Хм… следуя вашему рассуждению приходим к Ruby + DX10 — используя компилятор Ruby написанный на C++, или лучше на ASM.
получим такого же франкенштейна как firefox, зато скорость разработки будет невероятной :))))
получим такого же франкенштейна как firefox, зато скорость разработки будет невероятной :))))
-2
при чем тут Ruby, какой-то ASM и Firefox?
+2
1. На данный момент Ruby является самым перспективным языком в платформе, заточенной под быстрое создание приложений — дальше нам нужно определиться с тем кто нам все это будет показывать — поскольку речь идет только об одной платформе — то смело можно писать компилятор — а чтобы работал быстрее — на assembler (который с моей легкой руки был назван ASM-ом)
2. Что касается firefox — как мы все знаем ядро firefox состоит из интерпретатора XUL, к которому подключаются различные плагины и модули. Очень удачная и расширяемая архитектура — в итоге очень удачный проект.
Мой предыдущий комментарий — не более чем размышление на интересную тему и никак не попытка Вас задеть :)
2. Что касается firefox — как мы все знаем ядро firefox состоит из интерпретатора XUL, к которому подключаются различные плагины и модули. Очень удачная и расширяемая архитектура — в итоге очень удачный проект.
Мой предыдущий комментарий — не более чем размышление на интересную тему и никак не попытка Вас задеть :)
-1
Ruby не подходит для работы с DirectX, не тот уровень
с C# это ещё как-то реально без заметного performance hit (биндинги к C-коду через C++/CLI, unsafe-блоки для работы с сырой памятью, P/Invoke)
а игровую логику делать на чем-то вроде Ruby это фи… немодно уже
в конторах, где я работал, использовали Virtools и Quest3D — графические визуальные языки, для ультра-high-level кодинга (редактирование кода на живой системе — это убойная фича)
с C# это ещё как-то реально без заметного performance hit (биндинги к C-коду через C++/CLI, unsafe-блоки для работы с сырой памятью, P/Invoke)
а игровую логику делать на чем-то вроде Ruby это фи… немодно уже
в конторах, где я работал, использовали Virtools и Quest3D — графические визуальные языки, для ультра-high-level кодинга (редактирование кода на живой системе — это убойная фича)
+1
а можно по-подробнее?
у нас есть идея создания OpenSource online 3D игры и мы ищем наиболее удачную и расширяемую платформу.
Посоветуете?
И почему Ruby не модно?
у нас есть идея создания OpenSource online 3D игры и мы ищем наиболее удачную и расширяемую платформу.
Посоветуете?
И почему Ruby не модно?
0
идея хорошая, потом будет что в резюме показывать, когда пойдете на реальный проект спустя пару лет, когда энтузиазм пропадет
а насчет наиболее «удачной и расширяемой» — пишите на C#, и клиента, и сервер
до performance-оптимизаций у вас дело просто не дойдет
насчет немодного Ruby я пошутил, но, в любом случае, я не вижу смысла в лишнем языке — C# достаточно хорош сам по себе, чтобы не париться насчет каких-то еще языков
а насчет наиболее «удачной и расширяемой» — пишите на C#, и клиента, и сервер
до performance-оптимизаций у вас дело просто не дойдет
насчет немодного Ruby я пошутил, но, в любом случае, я не вижу смысла в лишнем языке — C# достаточно хорош сам по себе, чтобы не париться насчет каких-то еще языков
+1
www.dtf.ru/forum/thread.php?id=212635&DTFSESSID=d96c89b5c5dacbbbf61157099a5d19e6
зашевелились волосы на голове :))))
зашевелились волосы на голове :))))
0
Virtools хорош для того, для чего он предназначен — маленькие игры а-ля пинг-понг и интерактивные 3D-презентации
для чего-либо побольше — оно непригодно
это же framework, а любой framework он как рельсы — шаг влево, шаг вправо и расстрел
для чего-либо побольше — оно непригодно
это же framework, а любой framework он как рельсы — шаг влево, шаг вправо и расстрел
0
а проводили независимые тесты производительности?
+1
производительности чего именно?
на рендеринге у него abstraction penalty минимальный, но толку с этого, если платформа не дает мне той выразительности, что необходима
на этой штуке удобно описывать вещи вроде: «вот у нас объект, машинка, сделано из таких-то моделек, налеплены такие-то материалы; вот у нас кнопка, нажали кнопку, машинка поехала»
но чтобы сделать сложную игру, например, Warcraft, мне неудобно использовать Virtools, он слишком высокоуровневый для моих задач (т.е. такую игру проще описать на C#+DirectX, чем на Virtools)
на рендеринге у него abstraction penalty минимальный, но толку с этого, если платформа не дает мне той выразительности, что необходима
на этой штуке удобно описывать вещи вроде: «вот у нас объект, машинка, сделано из таких-то моделек, налеплены такие-то материалы; вот у нас кнопка, нажали кнопку, машинка поехала»
но чтобы сделать сложную игру, например, Warcraft, мне неудобно использовать Virtools, он слишком высокоуровневый для моих задач (т.е. такую игру проще описать на C#+DirectX, чем на Virtools)
+1
а открытых аналогов этого фреймворка нет?
+2
есть какие-то поделки, названий не вспомню
но я бы даже не смотрел в их сторону
работа с графикой — это настолько интимная часть проекта, что тут нет смысла какие-то готовые абстракции использовать, с учетом того, что современный DirectX сам по себе достаточно высокоуровневый
про игровую логику я уже даже не говорю
но я бы даже не смотрел в их сторону
работа с графикой — это настолько интимная часть проекта, что тут нет смысла какие-то готовые абстракции использовать, с учетом того, что современный DirectX сам по себе достаточно высокоуровневый
про игровую логику я уже даже не говорю
+2
НЛО прилетело и опубликовало эту надпись здесь
Что лучше, молоток или отвёртка? Ну если гвозди забивать, то молоток.
+2
Я думаю, если вам не нужна кроссплатформенность и если вы не поклонник Кармака, то забудьте про OpenGL.
0
Забавно читать комменты после голосования.
OpenGL — 61.86 %
по-любому Windows, а там OpenGL только гик будет использовать
OpenGL — 61.86 %
0
НЛО прилетело и опубликовало эту надпись здесь
Вопрос какой-то странный — Какой овощь лучше в супе? Марковка? Свекла? Редиска?
PS: Все зависит от того «какой суп» вы собираетесь готовить… ИМХО
PS: Все зависит от того «какой суп» вы собираетесь готовить… ИМХО
0
Зарегистрируйтесь на Хабре, чтобы оставить комментарий
XNA + C# vs DirectX + C++ vs OpenGL. Что лучше? И почему?