1

我已经研究了涉及嵌入 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 course3嵌入 WebGL javascript 框架,除了包含 javascript 库和调用代码(例如 course3.js)之外,还需要这些着色器代码。

<script id="shader-fs" type="x-shader/x-fragment">
 precision mediump float;

 varying vec4 vColor;

 void main(void) {
     gl_FragColor = vColor;
 }
</script>

<script id="shader-vs" type="x-shader/x-vertex">
 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;
 }
</script>

问题:

(1) 如何将这些着色器 javascript 代码包含到第 3 课 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 上下文

  1. 对于 UWP,第一步是通过 Microsoft Angle 让 c# 的 OpenGL ES 工作
  2. 使用 OpenGL ES C# 接口开发 WebGL4UWP 库,然后使用WebGL 第 3 课进行测试
  3. 然后将 (b) 带到 ChakraBridge 来解决启动这个项目的问题是可行的。
4

0 回答 0