Как добавить 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:
- Для UWP первый шаг - заставить OpenGL ES для C# работать через Microsoft Angle.
- Использование интерфейса OpenGL ES C# для разработки библиотек WebGL4UWP, а затем протестируйте его на примерах WebGL.
- Тогда можно привести (б) в ChakraBridge, чтобы ответить на вопрос, который начал этот проект.