Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Чт Янв 22, 2015 13:53 Заголовок сообщения: |
|
|
Получилось благодаря ошибке в процедуре возведения комплексного числа в комплексную степень.
Лайкнуть можно здесь
Код: | : q 2dup dup * swap dup * + sqrt ;
: l log -rot swap atan2 ;
: f
2dup >r >r
2 2.1 z*
.3 -2 z+
r> r>
-2 1.6 z*
-1.4 -1.75 z+
q l
-2 1.6 z*
over dup * over dup * + rot over / -rot /
over exp over cos * -rot sin swap exp *
z*
q l
;
x .05 - 1.7 * y .64 - 1.7 *
f f f f f f f f f
abs swap abs 3 /
q 3.5 / swap |
_________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Вт Янв 27, 2015 20:17 Заголовок сообщения: |
|
|
tone писал(а): | Саша! Вот идеальный шайдортой для тебя
ты вроде фанат правильного языка |
Ну что, теме исполнился год. Спасибо, Тон!
Уже через 2 дня я написал первую мелкую демку, а сегодня их наберётся десятка три. Я рад, что к теме подтянулись и другие люди, особенно из России.
И вообще,
Оказывается, FORTH для ZX Spectrum был выпущен в 1982-ом году и стоил 15 фунтов! _________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
phantom lord
Зарегистрирован: 27.09.2007 Сообщения: 264
|
Добавлено: Ср Янв 28, 2015 18:03 Заголовок сообщения: |
|
|
Manwe писал(а): | tone писал(а): | Саша! Вот идеальный шайдортой для тебя
ты вроде фанат правильного языка |
Ну что, теме исполнился год. Спасибо, Тон!
Уже через 2 дня я написал первую мелкую демку, а сегодня их наберётся десятка три. Я рад, что к теме подтянулись и другие люди, особенно из России.
И вообще,
Оказывается, FORTH для ZX Spectrum был выпущен в 1982-ом году и стоил 15 фунтов! |
Был у меня на кассете в 94 году. |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Пн Фев 09, 2015 02:39 Заголовок сообщения: |
|
|
Manwe писал(а): | сегодня их наберётся десятка три. | Оказывается, около 60-ти. Если не считать промежуточные варианты, то 40 с чем-то. _________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
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, может в этом быть дело? |
|
Вернуться к началу |
|
|
|