javascript - 使用 jquery 访问 three.js 的着色器文件内容

标签 javascript jquery html three.js shader

我需要访问我从另一个脚本中使用 HTML 导入的字符串的文本。

我在 html 文件中包含有问题的文本文件:

<script src="shaders/fragmentshader.fs" id=fragmentshader></script>

然后我想把这个文件的内容放在另一个脚本文件中的一个变量中,并将它用作 three,js 的着色器:

var fShader = $('#fragmentshader');

var shader = new THREE.ShaderMaterial({
    vertexShader: vShader.text(),
    fragmentShader: fShader.text()
});

如果我只是在 html 文件的脚本标签之间编写必要的着色器代码,这段代码就可以正常工作,但如果像上面那样使用,则只能访问严格的 url(而不是数据)。

我的问题是如何在如上所示加载文件后访问文件中的文本?

最佳答案

不能script 标签中使用src 加载着色器。

您可以使用 ShaderLoader.js然后写:

<script data-src="shaders/name/vertex.js" data-name="shader" 
type="x-shader/x-vertex"></script>

在 js 中:

SHADER_LOADER.load(function(data) {
    var particlesVertexShader = data.shader.vertex;
});

关于javascript - 使用 jquery 访问 three.js 的着色器文件内容,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/20920691/

相关文章:

javascript - JavaScript 的 Rails text_area 格式

javascript - 如何在 for 循环中使用 I-Value

javascript - 屏幕阅读器 - jquery 弹出窗口

javascript - 如何更改 asp.net 中的 outerHTML 属性

html - Internet Explorer 8 不为具有相同类的两个元素加载 CSS 的问题

javascript - 如何使用 Bootstrap 并排保存图像

JavaScript : How to split an audio blob into 1 second chunks and export to wav files using recorder. js?

javascript - 仅将应用程序脚本公开给某些脚本

jquery - JQM 根据表单选择值删除元素

javascript - 在自定义 js 上传递给 getElementById() 的空字符串