CSS Shaders

Adobe CSS Shaders приносит высококачественные кинематографические эффекты в интернет с помощью новых инструментов CSS, и это было одобрено Консорциум W3C.

В этом эксперименте использованы пользовательские vertex shader spherify.vs и фрагмент шейдеров spherify.fs, чтобы создать шар с помощью Google Maps.

HTML

<iframe class="globe"
  src="http://maps.google.com/?ie=UTF8&amp;ll=14.597042,-15.625&amp;spn=158.47027,316.054688&amp;t=h&amp;z=2&amp;output=embed"
  scrolling="no">
</iframe>

CSS

.globe {
  width: 550px;
  height: 550px;
  border: 0;
  -webkit-filter: contrast(1.4) custom(url(shaders/spherify.vs) mix(url(shaders/spherify.fs) multiply source-atop),
    50 50 border-box,
    amount 1,
    sphereRadius 0.5,
    sphereAxis -0.41 1 0.19,
    sphereRotation 43.5,
    ambientLight 0.15,
    lightPosition 1 0.87 0.25,
    lightColor 1 1 1 1,
    transform perspective(500));
}

Здесь применяется vertex shader spherify.vs, который будет работать в таблице, в ней 50 строк и 50 колонок 50 50 border-box. Если не понятно прочтите источник vertex shader: spherify.vs. Он написан на GLSL.

Функция mix() обеспечивает базовую функциональность для манипуляций с цветом, как смешивание и альфа-композиции на фрагменте шейдеров.

Мы можем изменить радиус shere’s в оси вращения прямо в CSS. Для примера мы установили значение sphereRadius: 0,5, и это делает оригинальный размер сферы.

Ниже видео с эффектом. Если у вас включен шейдер, то вы увидите демо!


Поддержка

В настоящее время это самая современная идея, так что это доступно только в последнем Google Chrome Canary и WebKit nightly. Чтобы пользоваться всеми возможностями, Вам нужно выполнить несколько действий.

В Chrome Canary:

  • В адресной строке браузера Chrome набираем about:flags
  • Ищем Включить CSS Shaders и включаем его
  • Перезапустите браузер

WebKit nightly:

  • Скачать и установить WebKit nightly для Mac OSX
  • Откройте панели настроек браузера. Расширенные вкладки и поставьте галочку, чтобы показать Разработка => Включить WebGL меню в строке меню.
  • В меню браузера выберите: Разработка