Поддерживает ли XNA OpenGL


В конце концов, когда я закончу игру, которую пишу, я хотел бы перенести ее на XNA. Сейчас я использую C++ и OpenGL. Мой вопрос прост: поддерживает ли XNA OpenGL (я могу переключиться с языка C++ на язык XNA, если это необходимо)?

2 3
xna

2 ответа:

РеализацияXnaTouch работает на iPhone и поэтому использует OpenGL ES под капотом. Он использует C# через проект Mono (в частности, MonoTouch для iPhone). Это может быть использовано в качестве основы для переноса XNA на другие платформы, которые не поддерживают DirectX (например, Mac, Linux).

(примечание: по моему опыту, реализация XnaTouch не очень хороша.)

Очевидно, что Xbox 360 вообще не использует OpenGL - он использует DirectX - вы не получаете опции о этот.

И я даже не понимаю, почему вы хотите использовать XNA, но с OpenGL под крышками, на Windows, когда существующая реализация XNA работает просто отлично.

Нет, не напрямую. XNA построена на DirectX.

Вы можете открутить отдельное окно, используя оболочку вокруг OpenGL, если хотите. Однако для этого вам придется использовать неофициальную привязку. Затем используйте конструкции XNA внутри этого. Я работал над подобным проектом и не рекомендовал бы его. Есть два способа использовать XNA. Книжный подход, который слишком ограничен для большинства, или наоборот. "Другой" способ - не использовать базовые игровые классы и управление собственной логикой игры. При втором подходе использование другого метода рендеринга-это слишком много работы, чтобы реально окупиться.

Я бы рекомендовал, чтобы для вашей текущей игры логика и графика были разделены. Если вы все же решите перенести его на более поздний срок, то перенос будет легче преобразовать из C++ в C#.

Кроме того, XNA не является языком. Это фреймворк, построенный с использованием C#.