替代将浏览器实现'new Image()'到Node-WebGL JavaScript实现中?



目前我在客户端使用基于webGL的浏览器实现代码。它工作得很好。但是,我想在服务器端使用相同的代码。是的,这不是基于浏览器的,使用node-webgl库的纯javascript代码。

当我这样做的时候,我遇到了一个问题。

new Image() 由浏览器识别,但在服务器端我得到错误图像未定义。以下是我附上的错误。还有另外两个错误,我正在调查。

C:Usersz003npraDesktopnode>node exp.js
Status: Using GLEW 1.13.0
Linking ./simple.vert+./simple.frag
 ------------
Vertex info
-----------
(0) : error C5145: must write to gl_Position
Linking ./raycast.vert+./raycast-color.frag
------------
Vertex info
-----------
(0) : error C5145: must write to gl_Position
undefined:346
    gl.tf_img = new Image();
                    ^
ReferenceError: Image is not defined
at initTexture (eval at <anonymous> (C:Usersz003npraDesktopnodeexp.js:1
5:9), <anonymous>:346:18)
at volumerc_main (eval at <anonymous> (C:Usersz003npraDesktopnodeexp.js
:15:9), <anonymous>:392:2)
at Object.<anonymous> (C:Usersz003npraDesktopnodeexp.js:17:1)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)
at Function.Module._load (module.js:300:12)
at Function.Module.runMain (module.js:441:10)
at startup (node.js:139:18)
at node.js:974:3

我尝试了另一种安装画布的方法,即npm安装画布并访问它的图像对象元素:然而,我得到了其他错误,看起来不兼容。一开始我定义了var Canvas1 = require('canvas')

错误在下面,

C:Usersz003npraDesktopnode>node exp.js
Status: Using GLEW 1.13.0
Linking ./simple.vert+./simple.frag
------------
Vertex info
-----------
(0) : error C5145: must write to gl_Position
Linking ./raycast.vert+./raycast-color.frag
------------
Vertex info
-----------
(0) : error C5145: must write to gl_Position
C:Usersz003npraDesktopnodenode_modulesnode-webgllibwebgl.js:806
  throw new TypeError('Expected texImage2D(number target, number level, numb
er internalformat, number format, number type, Image pixels)');
  ^
TypeError: Expected texImage2D(number target, number level, number     internalforma
t, number format, number type, Image pixels)
at Object.texImage2D (C:Usersz003npraDesktopnodenode_modulesnode-webgl
libwebgl.js:806:13)
at handleLoadedTexture (eval at <anonymous> (C:Usersz003npraDesktopnode
exp.js:15:9), <anonymous>:330:5)
at gl.tf_img.onload (eval at <anonymous> (C:Usersz003npraDesktopnodeexp
.js:15:9), <anonymous>:349:3)
at Image.src (C:Usersz003npraDesktopnodenode_modulescanvaslibimage.j
s:30:17)
at initTexture (eval at <anonymous> (C:Usersz003npraDesktopnodeexp.js:1
5:9), <anonymous>:351:16)
at volumerc_main (eval at <anonymous> (C:Usersz003npraDesktopnodeexp.js
:15:9), <anonymous>:392:2)
at Object.<anonymous> (C:Usersz003npraDesktopnodeexp.js:17:1)
at Module._compile (module.js:409:26)
at Object.Module._extensions..js (module.js:416:10)
at Module.load (module.js:343:32)

在基于node-webgl的实现中模仿图像类型的任何其他替代方案?

使用node-webgl库中的图像:var Image = require("node-webgl").Image;

最新更新