尝试使用three.js渲染时接收以下内容。
THREE.WebGLProgram:着色器错误:1282 gl.VALIDATE_STATUS false gl.getProgramInfoLog没有链接。
我已经让我的项目在Windows 10笔记本电脑上运行,现在尝试让它在Windows Server 2012上运行。我推测这可能是因为服务器没有真正的GPU,但我不是OpenGL开发人员和这对我来说都是中国人。这就是DXDIAG所说的:
展示设备
Card name: RDPUDD Chained DD Manufacturer: Chip type: DAC type: Device Type: n/a Device Key: Enum\ROOT\BASICRENDER Display Memory: n/a Dedicated Memory: n/a Shared Memory: n/a Current Mode: 1920 x 1080 (32 bit) (32Hz) Driver Name: Driver File Version: () Driver Version: DDI Version: 9Ex Feature Levels: Driver Model: Graphics Preemption: Compute Preemption: Driver Attributes: Final Retail Driver Date/Size: , 0 bytes WHQL Logo'd: n/a WHQL Date Stamp: n/a Device Identifier: {D7B71AF4-43CC-11CF-3921-F003ADC2CB35} Vendor ID: 0x1414 Device ID: 0x008C SubSys ID: 0x00000000 Revision ID: 0x0000 Driver Strong Name: Rank Of Driver: Video Accel: DXVA2 Modes: Deinterlace Caps: n/a D3D9 Overlay: Not Supported DXVA-HD: Not Supported DDraw Status: Not Available D3D Status: Enabled AGP Status: Not Available
因此,安装node-gyp的过程与往常一样,这是一项有风险的业务。这需要安装在服务器上的Visual C ++ Build工具。安装了Python 2.7,我运行了安装部分中所述的命令:https://github.com/nodejs/node-gyp
然后我使用headless gl来创建Three.js中的WebGL上下文。这需要d3dcompiler_47.dll,它被添加到system32文件夹中。 https://github.com/stackgl/headless-gl
问题是服务器非常锁定..由于自签名证书,我无法执行 npm install 模块,可能是因为我不允许在服务器上执行插孔。现在我几乎陷入困境..我不知道我的错误是由于某些编译器未安装,是否需要在服务器上安装模块,如果node-gyp与我嘲笑等等。这是一个完整的混乱。但是服务器可以在我自己的机器上运行。有没有遇到类似事情的人可以指点我的方向?太棒了!