Вопрос

Я взял firefox 3.7a (обратите внимание на раздел about: config и включите webgl) и запустил примеры на этом сайте http://www.iquilezles.org/apps/shadertoy/

Примеры были классными, а потом меня осенило.Как это работает?Код выполняется, не так ли?Является ли это реализацией LLVM?происходит что-то еще?Смогу ли я запустить свои собственные примеры и сделать что-то вроде текстовой игры на основе командной строки?

Это было полезно?

Решение

Примеры шейдеров на этом сайте написаны на C-подобном языке под названием GLSL, который является (Открытым / веб-) языком шейдеров GL.Когда они выполняются, код JavaScript WebGL отправляет исходный код шейдера функциям OpenGL вашего графического драйвера, которые компилируют его в машинный код, который выполняется непосредственно на вашем графическом процессоре.

Кстати, стиль кодирования только для шейдеров, хотя и очень популярен и является отличным способом написания классных демонстраций, не является полностью типичным использованием WebGL.Обычно шейдеры используются для выполнения большого количества сложных операций с числами, но дизайн и анимация различных объектов, составляющих вашу сцену, выполняются на JavaScript.(В OpenGL вы бы увидели аналогичное разделение между GLSL и некоторым другим языком, таким как C или C ++.)

Если вы хотите узнать больше о кодировании WebGL, вы могли бы сделать что-нибудь похуже, чем посетить учебные пособия на моем сайте, learningwebgl.com.Я также часто ссылаюсь на демо-версии и учебные пособия других людей, так что, если вам не нравятся мои примеры, вы легко сможете найти что-нибудь получше :-)

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top