Что использовать для C # SlimDX Game UI

2

В настоящее время я разрабатываю 3D-игру с использованием С#/SlimDX (цель Direct3D 9). Я искал подходящий набор инструментов для игрового интерфейса некоторое время, но я не мог решить.

Игровой интерфейс будет для игры с ролевыми играми, поэтому он будет довольно сложным и будет включать в себя довольно много элементов управления (текстовые поля, инвентарные сетки, списки, поля выбора, прокручиваемые области и т.д.).

Я ранее (когда я все еще использовал С++/OpenGL) смотрел GameSWF и очень понравилась идея, но для моего в текущей игре это не может быть и речи.

Кто-нибудь знает хороший инструментарий GUI для использования с SlimDX?

Мне было бы особенно интересно использовать WPF/Silverlight для этого, так как для них есть хорошие IDE. Но быстрый поиск в Google не выявил никакой информации о вложении этих данных.

Теги:
user-interface
slimdx

1 ответ

2
Лучший ответ

Для этого вы можете использовать WPF (но не Silverlight).

Для этого нужно использовать SlimDX в сочетании с D3DImage. Затем вы позволяете WPF обрабатывать весь ваш окончательный состав, включая наложение интерфейса WPF поверх верхней сцены вашего SlimDX.

SlimDX в основном просто отображает кисть в этой ситуации, которая может использоваться для любого элемента WPF. (Это не работает для Silverlight, поскольку Sliverlight не поддерживает D3DImage.)

  • 0
    Привет, все еще можно использовать FullScreen Direct3D? И какой удар по производительности для главной сцены для этого?
  • 1
    Ну, это работает, довольно хорошо. Производительность снижается, но главное, что вы должны позволить WPF обрабатывать композитинг, что означает, что вы работаете с частотой кадров WPF, а не с вашей - что-то вроде включения vsync. Самый большой удар прибывает из-за того, что D3D_MULTITHREADED включен и работает в окне вместо прямых, хотя, с точки зрения ваших вызовов D3D. Это сказанное, мы делали это, и были очень счастливы. Вы можете сделать окно полноэкранным в WPF довольно легко. К сожалению, это единственный способ напрямую использовать WPF для вашего пользовательского интерфейса.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню