Javascript и WebGL, внешние скрипты

запишите хорошие модульные тесты и попытайтесь получить покрытие кода максимально высоко

25
задан Skeen 2 February 2011 в 18:10
поделиться

2 ответа

У меня была та же проблема, и я обнаружил, что это работает для меня с jQuery:

var fragmentShaderSRC = null,
var vertexShaderSRC = null;
...
function executeProgram(){ //main program }
...
$.get("shader.fs", function(data){ 
       fragmentShaderSRC = data.firstChild.textContent;
       $.get("shader.vs", function(data){
             vertexShaderSRC = data.firstChild.textContent;
             executeProgram();
       });
});   

Где shader.fs и shader.vs - мои шейдеры (и включают
<script type="x-shader/x-fragment"> и <script type="x-shader/x-vertex"> строк объявления)

Обновление В Chrome интеллектуальное предположение не выбирает «xml». Следующий код также работает в Chrome:

$.ajax({
          url: 'shader.fs', 
          success: function(data){ 
              fragmentShaderSRC = data.firstChild.textContent;
              $.ajax({
                  url: 'shader.vs', 
                  success: function(data){
                      vertexShaderSRC = data.firstChild.textContent;
                      executeProgram();
                   },
                   dataType: 'xml'
              })
           },
           dataType: 'xml'
        });               

Обновление 2: Поскольку < и & в источнике шейдера необходимо экранировать для загрузки в виде XML, это работает постоянно, даже если вы используете операторы less than сравнения или логические операторы and:

var vs_source = null,
    fs_source = null;
$.ajax({
    async: false,
    url: './my_shader.vs',
    success: function (data) {
        vs_source = $(data).html();
    },
    dataType: 'html'
});

$.ajax({
    async: false,
    url: './my_shader.fs',
    success: function (data) {
        fs_source = $(data).html();
    },
    dataType: 'html'
});
5
ответ дан 28 November 2019 в 21:45
поделиться

Я не гуру WebGL, но работает ли это?

<script id="shader-fs" type="x-shader/x-fragment" src="fragment-shader.fs" />
-1
ответ дан 28 November 2019 в 21:45
поделиться
Другие вопросы по тегам:

Похожие вопросы: