在Windows上的VSCode的GLSL Lint扩展上设置Glsland验证器路径的正确方法是什么(使用WSL)

问题描述 投票:0回答:4

尝试在浏览器上使用着色器,刚刚安装了 VSCode 的 GLSL Lint 扩展,它显然需要知道

glslangValidator
二进制文件的路径才能正常工作。

所述二进制文件(我假设)可以在这里找到:https://github.com/KhronosGroup/glslang/releases/tag/master-tot

但是,我已经在 Linux 和 Windows 中尝试了多种安装路径组合,但均无济于事:扩展程序不断出现

ENOENT
错误,如下图所示:

考虑到我的设置(在 Windows 上使用 VS Code 和 WSL),我应该将该二进制文件放置在哪里,以便 GLSL Lint 可以正确找到它?

例如,我尝试了

~/glslang/bin/glslangValidator
C:\\Users\\{User}\\AppData\\Local\\Packages\\TheDebianProject.DebianGNULinux_31v5hhsz12ds6\\LocalState\\rootfs\\home\\glslang\\bin\\glslangValidator
(以及其他安装路径),但到目前为止没有任何效果。

我错过了什么?

visual-studio-code glsl
4个回答
6
投票

我刚刚想通了——问题是使用 VSCode 和 WSL 会更改应写入路径的文件系统。您应该下载 linux 二进制文件

glslangValidator.exe
,而不是下载 Windows 二进制文件
glslangValidator
检查此链接并复制最新版本的网址,然后像这样下载:

cd ~ # Or wherever you want it
wget https://github.com/KhronosGroup/glslang/releases/download/master-tot/glslang-master-linux-Release.zip
unzip glslang-master-linux-Release.zip -d glslang

然后,您需要将

glslangValidatorPath
设置为WSL路径:

"glsllint.glslangValidatorPath": "/home/<username>/glslang/bin/glslangValidator"

*当然,请将

<username>
替换为您的用户名,如果您将其安装在其他目录中,请改用该路径。


2
投票

我使用的是 Windows 并在我的根路径中安装了

glslang
。之后我像这样设置路径参数并且它起作用了:

"glsllint.glslangValidatorPath": "C:/glslang/bin/glslangValidator.exe"

或者,您可以将

C:/glslang/bin
添加到
PATH
变量中。


0
投票

我使用的是Windows 以下帮助我:将顶点着色器文件的扩展名更改为“.vert”,将片段着色器文件的扩展名更改为“.frag”。


0
投票

我刚刚遇到了这个问题,但我像接受的答案那样使用WSL。

对我有用的实际上非常愚蠢:GLSL Lint 错误是它未能 spawn 进程,而不仅仅是未能找到。如果您从 OP 中的链接下载该文件并在“设置”中更新

glsllint.glslangValidatorPath
,GLSL Lint 会找到该文件,但仍然无法执行它...因为 Windows Defender 阻止了您下载的 exe。

只需双击手动运行 exe,然后选择“仍然运行”即可将程序列入白名单,允许 GLSL Lint 运行它。之后你需要重新启动 VSCode,然后就不再是问题了。

© www.soinside.com 2019 - 2024. All rights reserved.