Я хотел бы программировать приложение.NET, которое обеспечивает 3D рендеринг анимированного мира. Я кодирую в Windows PC, но многие из моей целевой аудитории будут на Linux.
Существует набор платформ там, что взгляд, полезный, категоризированный на и низкий уровень высокого уровня, поскольку лучше всего, я могу:
Низкокачественная графика
Платформы разработки игр
Какой-либо из этих несоперников? Что Вы нашли, чтобы быть наилучшим вариантом и почему? Я ищу любые проницательные сравнения и рекомендации для/против. Некоторые из них утверждают, что работали заменами XNA. Это буквально означает, что можно развернуться к Победе/Mac/Linux, а также Xbox? Существует ли выгода?
Я еще не знаком с OpenGL/DirectX/XNA API для 3D графики. Действительно ли какой-либо из них легче, чем другие работать с? Вы теряете какую-либо гибкость/питание/производительность из-за более высоких уровней абстракции?
Обратите внимание, что у меня не будет доступа к машине Linux в течение приблизительно одного месяца, таким образом, я не смогу протестировать свою разработку на Linux (следовательно этот вопрос).
ОТРЕДАКТИРУЙТЕ я нашел эту таблицу, которая добавляет еще много к списку. Я объединил их выше.
ОТРЕДАКТИРУЙТЕ 2, я склоняюсь к Аксиоме. Это дает довольно грубое приземление, но показывает реальное обещание с точки зрения функций. Вот большая сводная статья с отзывами пользователей. Но до сих пор документацию новичка и демонстрационные проекты довольно трудно использовать. Учебные руководства все ссылочные различные версии API, и они все рекомендуют использовать различные базовые классы (не включенный в API) для начала работы. Конечно, не разработанный с Ямой Успеха в памяти, но все еще обещанием.
Возможно, это не совсем то, что вы ищете, но Unity3D - это кроссплатформенная трехмерная игровая среда, основанная на Mono, что означает, что вы можете кодировать нужные вам биты на C #. Существуют инди- и про-версии, причем инди-версия бесплатна. http://unity3d.com/
Использовать OpenTK
Я бы поддержал идею посмотреть на Unity, который, если я правильно помню, использует C# в качестве скриптового языка, позволяя вам писать код игры (используя Mono), позволяя фактическому движку рендеринга и так далее использовать родной код (предположительно C++).
В противном случае я бы поостерегся использовать Mono для чего-либо вроде 3D-графики или других "тяжелых" применений... все, что связано с графическим интерфейсом или рендерингом, меня бы насторожило. Но это мой личный выбор, если у вас есть время на исследования, возможно, стоит создать прототип... но я бы не стал писать много кода на C# без возможности протестировать его на Linux очень рано, на случай, если возникнут большие проблемы.
Вы можете рассмотреть возможность использования Qt и OpenGL. Однако я полагаю, что OpenGL, вероятно, слишком низкоуровневый (читай: "ненужно сложный") для ваших конкретных потребностей.