Как добавить 3D-контекст работает в JsBridge, добавив WebGLRenderingContext?

В настоящее время JsBridge поддерживает только getContext("2d"), но не getContext("webgl").

    public object getContext(string contextType)
    {
        if (contextType == "2d") {
            if (this.context == null) {
                this.context = new CanvasRenderingContext2D(this.window, this);
            }
            return this.context;
        }
        return null;
    }

В идеале, чтобы JsBridge поддерживала 3D, нужно

public object getContext(string contextType)
{
    if (contextType == "2d") {
        if (this.context == null) {
            this.context = new CanvasRenderingContext2D(this.window, this);
        }
        return this.context;
    }
   else if (contextType == "experimental-webgl" || contextType == "webgl")
    {
        if (this.context == null)
        {
            this.context = new WebGLRenderingContext(this.window, this);
        }
        return this.context;
    }
    return null;
}

Я предполагаю, что нам нужно кодировать новый класс WebGLRenderingContext.cs, чтобы JsBridge работал, например, с three.js?

У Microsoft Chakra github есть пример OpenGL

Кто-нибудь может дать предложение на основе JsBridge и примера Microsoft Chakra opengl, как начать кодирование WebGLRenderingContext.cs?

Редакция 14 сентября 2016 г. Для того, чтобы ChakraBridge работала с WebGl.js или производной платформой, например Three.js, необходимо устранить несколько пробелов, чтобы ориентироваться на 3D-контекст WebGL:

  1. Для UWP первый шаг - заставить OpenGL ES для C# работать через Microsoft Angle.
  2. Использование интерфейса OpenGL ES C# для разработки библиотек WebGL4UWP, а затем протестируйте его на примерах WebGL.
  3. Тогда можно привести (б) в ChakraBridge, чтобы ответить на вопрос, который начал этот проект.

0 ответов

Другие вопросы по тегам