Должен ли я использовать .NET / Mono / Tao / OpenTK / ... что-то еще? - PullRequest
2 голосов
/ 02 августа 2010

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

  1. Могу ли я использовать что-то еще, кроме Xna, с Windows Phone?Один из вышеупомянутых фреймворков.
  2. Тао говорит, что это фреймворк, основанный на Mono.(по крайней мере, это непосредственный подтекст при поиске в Google для платформы Tao.) Но в их часто задаваемых вопросах говорится: «Проект Mono - это открытая инициатива разработки, спонсируемая Novell для разработки открытой версии Microsoft для UNIX.Платформа разработки NET "Что будет означать, что это полная замена Mono, верно?
  3. Всегда ли OpenTK всегда нужен либо Mono, либо Tao для работы кроссплатформенного?1011 *

1 Ответ

9 голосов
/ 02 августа 2010

AFAIK, WinPhone7 будет поддерживать только XNA, то есть подмножество CF библиотек классов .NET, плюс API-интерфейсы графики / аудио / ввода / etc XNA.

Tao и OpenTK являются привязками к OpenGL и т. Д. Они могут использоваться в .NET или Mono, но только на платформах, где существует OpenGL и т. Д. OpenTK - это, по сути, более приятная версия Tao - вы бы не использовали обе.

Ключ к переносимости заключается в том, чтобы поступать так же, как это делают все движки больших игр, - абстрагировать аудио и видео рендеры и систему ввода. Этот объект рендера возьмет ваш граф сцены и отобразит его на экране с помощью API платформы. Так что на WinPhone и Xbox вы можете использовать XnaRenderer; в Windows вы можете использовать XnaRenderer, OpenTKRenderer или DirectXRenderer; в Linux, Mac, iPhone (через MonoTouch), Android (через MonoDroid) вы можете использовать OpenTkRenderer.

Возможно, вы захотите взглянуть на графический движок C # Axiom3d с открытым исходным кодом, который уже делает это.

...