Подскажите пожалуйста, как реализовать пользовательский интерфейс под Direct3D. Обработка событий, отрисовка котролов(спрайтами или ещё как-то). Смотрел пример CustomUI из DirectX SDK но не смог разобраться там пока. Пишу на C# под Windows Mobile. Больше всего интересует вторая часть вопроса. Пока что… спасибо)
5 февраля 2010 в 22:05
5 февраля 2010 в 22:01
нету. обещали в 2009 но нет
5 февраля 2010 в 16:01
Стран А silverlight я думаю будет работать
5 февраля 2010 в 12:01
нет
5 февраля 2010 в 10:02
А wpf к winmobile не прикрутили???
4 февраля 2010 в 19:02
Ладно. всем спасибо) я решение вроде нашёл. посмотрим, что получится..
4 февраля 2010 в 18:04
По крайней мере вывод текста в WinAPI весьма медленный. Так что делать через DirectX смысл имеет. Но только если вам действительно надо сильно нестандартный и сильно красивый интерфейс. Если же простецкий, то делайте через WinAPI, зачем вам сверхскорость? (Не знаю, правда, какая сверхскорость у DirectX в мобильных устройствах).
А Direct3D через C# в Windows Mobile – это по крайней мере звучит дико
4 февраля 2010 в 16:03
>GDI – это медленно
Почему же? AFAIK, все стандартные графические API в венде ускоряются по мере возможности.
>Хотя может я и ошибаюсь.
Напиши простой benchmark и сравни результаты с другими API.
4 февраля 2010 в 13:01
ну так эти функции вроде как для работы с GDI. к D3D они никак не относятся. А GDI – это медленно. Хотя может я и ошибаюсь.
4 февраля 2010 в 10:04
для простейшего используют перерисовку с помощью WindowsAPI (всякие CreateBMP, BitBlt )в обработчике OnPaint()
если ошибся в функциях – сильно не пинать – давно не работал. =)
но направление истинное
4 февраля 2010 в 3:05
я не имею в виду что мне кнопки объемные нужны. Нужен простецкий пользовательский интерфейс. я думал так сделать: при рендере сцены генерировать текстуру по каким-то параметрам(Text, Top, Left, etc.) и выводить ее при помощи класса спрайт. А вот как генерировать эту самую текстуру я, увы, не знаю..
4 февраля 2010 в 3:04
Direct3D? o0 не, ну ладно ещё DirectDraw… но если очень хочется именно 3D, то создай модели кнопочек, клиентской области окна, етс., выведи как обычные 3D-модели, потом просто по кликам мыша вычисляй точку пересечения прямой, перпендикулярной экрану, проходящей через точку клика, с твоим гуём, отсюда поймёшь, нажата ли какая кнопа, и какая именно.