Интересно, возможно ли использовать Awesomium для рендеринга GUI поверх игры DirectX 11? НЕ используйте .NET, это C ++ / DirectX 11 игра)?
Это будет включать в себя:
Обратите внимание, что некоторые элементы GUI должны быть полупрозрачный или округлый — так что это не только рендеринг на некотором прямоугольнике, но и смешивание.
Является ли это возможным? Или, может быть, я мог бы сделать это по-другому (например, сказать Awesomium использовать DirectX для рендеринга каким-либо образом)?
Или, может быть, я мог бы нарисовать полупрозрачный DirectX текстуры в Awesomium, а затем визуализировать его поверх сцены с помощью DirectX? Я знаю, что рендеринг на ресурс текстуры возможен с Awesomium, но поддерживает ли он прозрачность & полупрозрачность?
Если нет, то есть ли хорошие альтернативы тому, чего я хотел достичь с помощью Awesomium?
Да. Это может быть сделано.
Если вы посмотрите документацию по классу Awesomium WebView, у него есть метод surface (), который будет возвращать растровое изображение, поддерживающее представления.
Вот некоторая документация по c ++ для класса.
http://awesomium.com/docs/1_7_0/cpp_api/class_awesomium_1_1_web_view.html
Вы можете скопировать это растровое изображение в текстуру в DirectX и визуализировать его как слой поверх вашей игры, создавая пользовательский интерфейс.
Вы также должны направить и перевести ввод в Awesomium. Вы можете стилизовать свой пользовательский интерфейс так, как вам нравится, используя HTML, CSS и Javascript. Вы можете сделать его округленным таким образом и ввести прозрачность.
Я не буду повторять совершенно хороший урок по этому вопросу. Вы можете найти один здесь.
То, как вы визуализируете текстуру после того, как она написана, не имеет ничего общего с Awesomium. Выберите режимы смешивания и / или используйте шейдеры с выходной текстурой для желаемого эффекта.