2014-01-04 5 views
4

Мне нужно получить доступ к тексту строки, которую я импортирую с помощью HTML из другого скрипта.Доступ к содержимому файла шейдера для three.js с помощью jquery

Я включил текстовый файл в вопрос в HTML файле:

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

Затем я хочу, чтобы поместить содержимое этого файла в переменной внутри другого файла сценария и использовать его в качестве шейдера для трех, Я.С. :

var fShader = $('#fragmentshader'); 

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

Этот код работает отлично, если я просто написать необходимый шейдер код между тегами сценария в HTML-файл, но только обращается к строгому URL (не данные), если используется как указано выше.

Вопрос: как мне получить доступ к тексту внутри файла после его загрузки, как показано выше?

ответ

4

Вы не можете загружать шейдеры, используя src в script тег.

Вы можете использовать ShaderLoader.js, а затем написать:

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

В ЯШ:

SHADER_LOADER.load(function(data) { 
    var particlesVertexShader = data.shader.vertex; 
}); 
Смежные вопросы