Фрагментный шейдер Chrome WebGL на Radeon IGP 340m

У меня есть старая машина с графической картой Radeon IGP 340m. Согласно спецификации производителя, он поддерживает только OpenGL 1.3 и не поддерживает фрагментный шейдер, но когда я запускаю некоторые приложения WebGL здесь: http://glsl.heroku.com/ (требуется фрагментный шейдер версии 120+) запускается успешно, но немного медленно. Я не понимаю, как Google Chrome может это сделать? Это компилирует и запускает шейдер в программном обеспечении?


person Bình Nguyên    schedule 15.06.2012    source источник


Ответы (1)


Причина в том, что WebGL в Chrome и Firefox в Windows использует не OpenGL, а DirectX для рендеринга.

Оба они используют библиотеку ANGLE (почти собственный механизм графического слоя), которая переводит вызовы API OpenGL ES 2.0 в вызовы API DirectX 9.

Подробнее см. здесь: http://code.google.com/p/angleproject/.

Если DirectX 9 недоступен, Chrome в Windows использует программный рендерер SwiftShader ( http://transgaming.com/swiftshader). ).

Подробнее об этом читайте здесь: http://blog.chromium.org/2012/02/gpu-accelerating-2d-canvas-and-enabling.html

person Mortennobel    schedule 15.06.2012
comment
Итак, что произойдет, если я запущу Chrome под Linux? - person Bình Nguyên; 18.06.2012