2014-01-15 2 views
2

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

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

ответ

0

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

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