【问题标题】:alternative to 'new Image()' of browser implementation into node-webgl javascript implementation?替代浏览器实现的“新图像()”到node-webgl javascript实现?
【发布时间】:2017-01-27 10:09:14
【问题描述】:

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

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

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

C:\Users\z003npra\Desktop\node>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:\Users\z003npra\Desktop\node\exp.js:1
5:9), <anonymous>:346:18)
at volumerc_main (eval at <anonymous> (C:\Users\z003npra\Desktop\node\exp.js
:15:9), <anonymous>:392:2)
at Object.<anonymous> (C:\Users\z003npra\Desktop\node\exp.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 install canvas 并访问它的 Image 对象元素:但是,我收到了其他错误,看起来它不兼容。一开始我已经定义 var Canvas1 = require('canvas') , Image = Canvas1.Image;

错误如下,

C:\Users\z003npra\Desktop\node>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:\Users\z003npra\Desktop\node\node_modules\node-webgl\lib\webgl.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:\Users\z003npra\Desktop\node\node_modules\node-webgl
\lib\webgl.js:806:13)
at handleLoadedTexture (eval at <anonymous> (C:\Users\z003npra\Desktop\node\
exp.js:15:9), <anonymous>:330:5)
at gl.tf_img.onload (eval at <anonymous> (C:\Users\z003npra\Desktop\node\exp
.js:15:9), <anonymous>:349:3)
at Image.src (C:\Users\z003npra\Desktop\node\node_modules\canvas\lib\image.j
s:30:17)
at initTexture (eval at <anonymous> (C:\Users\z003npra\Desktop\node\exp.js:1
5:9), <anonymous>:351:16)
at volumerc_main (eval at <anonymous> (C:\Users\z003npra\Desktop\node\exp.js
:15:9), <anonymous>:392:2)
at Object.<anonymous> (C:\Users\z003npra\Desktop\node\exp.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 的实现中模仿 Image 类型的任何其他替代方法?

【问题讨论】:

    标签: javascript node.js image canvas browser


    【解决方案1】:

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

    【讨论】:

    • 以及如何使用 headless-gl 库中的图像?
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2011-01-26
    • 1970-01-01
    • 2011-01-17
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多