Как в Three.js можно обнаружить ошибки компиляции в коде шейдера?

Я создаю проект на three.js, и одна из идей, над которой я работаю, заключается в том, чтобы позволить пользователям писать собственный код шейдера. Код пользователя будет динамически загружаться в графический процессор, как в этом примере. В такой настройке пользователь получит большую выгоду от возможности отображать ошибки времени компиляции, сгенерированные его кодом. Я просмотрел код из приведенного выше примера, но этот экземпляр работает напрямую с WebGl.

Есть ли какие-либо альтернативы, которые я мог бы рассмотреть, которые используют библиотеку three.js для обнаружения ошибок шейдера времени компиляции?


person 16807    schedule 15.01.2014    source источник


Ответы (1)


Я просто предполагаю, но похоже, что вы хотите использовать WebGL для компиляции и компоновки шейдеров. Если есть ошибки, отобразите их. Если компиляция и связывание прошли успешно, создайте shaderMaterial three.js и передайте исходный код шейдера, который только что работал.

Если вы просматриваете исходный код на glsl.heroku.com/e вы можете видеть в коде createShader, который проверяет наличие ошибок и пытается выделить определенные строки в исходном коде.

person gman    schedule 16.01.2014