Как работает WebGL (на Firefox)? - PullRequest
0 голосов
/ 23 марта 2010

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

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

1 Ответ

6 голосов
/ 23 марта 2010

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

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

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

...