Лет 10 назад делал скринсейвер с показом HTML на основе WebBrowser контрола. Поискал, увы, исходников не нашёл. Думаю, заново написать труда не составит. Но только вот что я подумал. Писать спецом именно под эту демку смысла мало. Надо сделать «пацанский» программерский html-скринсейвер. Пусть он показывает html-ки из специальной папки и пусть понимает упакованные в zip наборы html+js+css+картинки, а так же и просто сложенные в папку. Чтоб любой мог сам себе скринсейвер на HTML забабахать. Как идейка?
Да, мысль хорошая. Только нужно продумать такой момент. Я сделал альфа версию, чтоб он запускался на всех мониторах. Для каждого монитора тогда получается нужна своя картинка. Наверное нужно сделать какое-то свойство, чтоб через JavaScript можно было получить название файла. Постараюсь на новогодних каникулах довести до беты и выложить в открытый доступ.
Собственно, когда капли друг на друга «наезжают» виден квадрат вокруг капли, да и почему они не сливаются? Да и не очень понятно каким образом использование трех слоев улучшает производительность и читаемость…
Реалистичности больше мешает за-gauss-еный фон.
В реальности объекты не в фокусе размываются по более сложному алгоритму, должно получится то что фотографы называют «bokeh».
Для большей реалистичности фон надо бы сделать не таким статичным, можно например гифку с огнями, машинами и облаками. Или хотя бы просто слегка менять общую яркость.
вот кстати, в Firefox оно ведет себя более реалистично. Ведь намачивая стекло, капля действительно должна оставлять след. Правда он должен быть более похож на воду :) Сомневаюсь, что добавление этой фичи оставит неизменной производительность. А так прикольно.
Ну на самом деле оно в любом браузере оставляет след из капелек (как в оригинале, так и у меня), только значительно меньше размером — не более пятой части от радиуса самой капли. Надо глянуть, что там за ерунда с файрфоксом.
Причем я сделал так, что эти капельки действительно уменьшают радиус оставляющей их большой капли (и увеличивают радиус капель, с которыми сливаются вместе).
Конечно, на самом деле нужно сделать вместо мелких капелек длинный след, который только потом будет плавно собираться в отдельные капли. Но это уже совсем другая история :)
И FF под маком, и FF под виндой — да, наверное, везде. Все же, при всех его особенностях и фишках, JS не производителен — аналогичные нативные скринсейверы для Win98 работали шустро на железе прошлого века.
Живо вспоминается демка из 2000-го на четвертом или пятом флеше. Прямо один в один и даже фоновая картинка похожа была. Кто-то делал на основе сливающихся капель Дена Иванова, а может он и сам делал. И работало кстати со свистом на целероне 300Мгц и в третьем нетскейпе :)
Неправильное размытие убивает реалистичность. Нужно использовать равномерное распределение, а не гауссово. Да, это ужасно медленно, но его просчет идет только один раз.
Еще две идеи, которые, имхо, добавят реалистичности:
1) Искажения фона от смоченного стекла (сейчас оно «обладает» гидрофобным эффектом)
2) Во второй демке изменение угла стекания капель вниз, после их падения на стекло.
Rainyday.js