Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Kopa
Зарегистрирован: 02.02.2014 Сообщения: 39 Откуда: Челябинск
|
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Сб Окт 24, 2015 00:12 Заголовок сообщения: |
|
|
о, прикольно - без Flash и без SMS
Работает. _________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Вт Ноя 10, 2015 09:43 Заголовок сообщения: |
|
|
Интерактивный шейдер - реагирует на клавиши W/A/S/D
Не забывайте нажимать Like
\ use WASD keys
: b button ; : d dup ;
2 b dt * 200 / d
1 @ sin * swap 1 @ cos *
4 @ 5 @ z+ 5 ! 4 !
2 @ 3 @ 4 @ 5 @ z+ 3 ! 2 !
2 @ x + .5 - 3 @ y + .5 -
5 b dt * 3 * 1 b dt * 3 * -
1 @ + d d 1 !
cos swap sin z* 2dup
.05 + atan2 abs .4 < -rot
.01 - atan2 abs 1 < - 0 max
6 @ sin dt * 2 * 7 @ + 7 !
6 @ cos dt * 2 * 8 @ + 8 !
3 b d d
if 1 @ 6 ! then
if 2 @ 7 ! then
if 3 @ 8 ! then
7 @ .5 x - - d *
8 @ .5 y - - d *
+ .00003 < +
x y ** 56 * sin
237 * d floor -
1000 * 999 - 0 max
+ d d
В этом Forth появился оператор if then, благодаря чему удалось сократить размер интры до 467 байт.
Звёздное небо делается синусом от X в степень Y - тогда в дробной части получается шум:
x y ** 56 * sin 23710 * dup floor -
На GLSL это будет выглядеть так: fract(sin(pow(x,y)*56)*23710) _________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Сб Ноя 14, 2015 23:52 Заголовок сообщения: |
|
|
Удалось сделать эффект, над которым я давно думал - star field. Типа, летишь среди звёзд. По скриншоту не очень понятно, но эти пиксели летят на зрителя.
Проблема в том, что в этом Forth вообще нет доступа к памяти - ни к текстурам, ни к массивам, ни к переменным. Есть только маленький стек.
Как бы вы сделали star field без массивов и текстур?
_________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Вс Ноя 15, 2015 00:23 Заголовок сообщения: |
|
|
Manwe, ты типа сделал, а теперь хочешь чтобы мы догадались - как?
Давай уже публикуй ) |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Вс Ноя 15, 2015 11:01 Заголовок сообщения: |
|
|
А всё равно по Forth-коду не догадаетесь, он запутанный
Если в двух словах, то я генерю 38 Mb псевдослучайных данных в секунду ради отрисовки звёздного поля. По аналогии со звёздным небом в "Asteroids", только намного больше. _________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Вт Ноя 17, 2015 23:36 Заголовок сообщения: |
|
|
Готово _________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Вт Ноя 17, 2015 23:54 Заголовок сообщения: |
|
|
Годно.
ЗЫ: урл там у тебя (www.thesands.ru/forth-demotool) криво написан |
|
Вернуться к началу |
|
|
Mikle
Зарегистрирован: 02.12.2008 Сообщения: 432 Откуда: Туапсе
|
Добавлено: Ср Ноя 18, 2015 09:10 Заголовок сообщения: |
|
|
Картинку звёзд вижу, но при нажатии на Play ничего не происходит. Раньше демки на Forth, вроде бы, работали. |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Ср Ноя 18, 2015 09:42 Заголовок сообщения: |
|
|
Mikle писал(а): | Картинку звёзд вижу, но при нажатии на Play ничего не происходит. Раньше демки на Forth, вроде бы, работали. |
у меня и без Play сразу все летает. Может у тебя WebGL в браузере отключен? |
|
Вернуться к началу |
|
|
Mikle
Зарегистрирован: 02.12.2008 Сообщения: 432 Откуда: Туапсе
|
Добавлено: Ср Ноя 18, 2015 11:34 Заголовок сообщения: |
|
|
Цитата: | Может у тебя WebGL в браузере отключен? |
А статическая картинка чем нарисована?
Прошёлся по теме назад - остальные демки тоже вижу в статике. WinXP, может в этом быть дело? |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Ср Ноя 18, 2015 23:23 Заголовок сообщения: |
|
|
Mikle писал(а): | Цитата: | Может у тебя WebGL в браузере отключен? |
А статическая картинка чем нарисована?
Прошёлся по теме назад - остальные демки тоже вижу в статике. WinXP, может в этом быть дело? |
Когда WebGL выключен, то рисуется статическая картинка Жаваскриптом. Также и превьюшки формируются.
На счет того, как обстоит дело с WebGL в WinXP не могу знать. Я думаю ОС не причем, просто в браузере он выключен.
А на шейдертое тоже не работает? Например https://www.shadertoy.com/view/4tlSWl |
|
Вернуться к началу |
|
|
Mikle
Зарегистрирован: 02.12.2008 Сообщения: 432 Откуда: Туапсе
|
Добавлено: Чт Ноя 19, 2015 09:25 Заголовок сообщения: |
|
|
Цитата: | А на шейдертое тоже не работает? |
Во! Тут хоть написано, что нужно, Яндекс-браузер не устроил, у меня версия 15.10.2454.3658, а в списке есть минимально необходимый Chrome 23, интересно, на сколько это сравнимо, стоит ли просто ждать обновление. |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Чт Ноя 19, 2015 09:33 Заголовок сообщения: |
|
|
Mikle писал(а): | Цитата: | А на шейдертое тоже не работает? |
Во! Тут хоть написано, что нужно, Яндекс-браузер не устроил, у меня версия 15.10.2454.3658, а в списке есть минимально необходимый Chrome 23, интересно, на сколько это сравнимо, стоит ли просто ждать обновление. |
Открой адрес chrome://flags/
найди там WebGL, и глянь, включено или нет. (там ваще будет опция "Отключить WebGL", и она может быть активирована, поэтому WebGL не работает) |
|
Вернуться к началу |
|
|
Mikle
Зарегистрирован: 02.12.2008 Сообщения: 432 Откуда: Туапсе
|
Добавлено: Чт Ноя 19, 2015 09:48 Заголовок сообщения: |
|
|
Нашёл, включил, перезагрузился - ситуация не изменилась. |
|
Вернуться к началу |
|
|
|