为WebGL示例嵌入ChakraHost(c#)
我已经研究过涉及嵌入javascript框架(paper.js)的示例,用于通过ChakraHost的JsBridge实现将输出绘制到XAML的CanvasControl。
要包含paper.js框架和javascript来调用框架(例如paper.js的蝌蚪示例),我们只需要这些语句:
await host.ReadAndExecute("paper-core.js", "paperjs-refs"); await host.ReadAndExecute("tadpoles.js", "paperjs-refs");
要使用例如WebGL lesson3嵌入WebGL javascript框架,除了包括javascript库和调用代码例如lesson3.js之外,还需要这些着色器代码。
precision mediump float; varying vec4 vColor; void main(void) { gl_FragColor = vColor; } attribute vec3 aVertexPosition; attribute vec4 aVertexColor; uniform mat4 uMVMatrix; uniform mat4 uPMatrix; varying vec4 vColor; void main(void) { gl_Position = uPMatrix * uMVMatrix * vec4(aVertexPosition, 1.0); vColor = aVertexColor; }
问题:
(1)如何将这些着色器javascript代码包含到lesson3 webgl jsbridge c#示例中?
// WebGl lesson3 await host.ReadAndExecute("glMatrix-0.9.5.min.js", "webgl-refs"); await host.ReadAndExecute("webgl-utils.js", "webgl-refs"); await host.ReadAndExecute("lesson3.js", "webgl-refs");
2016年9月14日修订当我在2016年2月发布此问题时,我还没有想出ChakraBridge提供的示例仅限于Canvas2D。 我最近重新回答了这个问题,并意识到要使ChakraBridge与WebGl.js或派生框架(例如Three.js)一起工作,需要解决多个空白以定位WebGL 3D上下文 :
- 对于UWP,第一步是让OpenGL ES for c#通过Microsoft Angle工作
- 使用OpenGL ES C#接口开发WebGL4UWP库,然后使用WebGL lesson3进行测试
- 然后将(b)带到ChakraBridge以解决启动该项目的问题是可行的。