www.demoscene.ruenglish version
 FAQFAQ   ПоискПоиск   ПользователиПользователи   ГруппыГруппы   РегистрацияРегистрация   ПрофильПрофиль   Войти и проверить личные сообщенияВойти и проверить личные сообщения   ВходВход 
Forth Haiku
На страницу Пред.  1, 2, 3 ... 5, 6, 7 ... 19, 20, 21  След.
 
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Демо
Предыдущая тема :: Следующая тема  
Автор Сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Вс Янв 12, 2014 21:17    Заголовок сообщения: Ответить с цитатой

Ну вот и до практической пользы дошёл. Сделал bump mapping.
Golden Bump

_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Вт Янв 14, 2014 00:11    Заголовок сообщения: Ответить с цитатой

Не, ну для 9-летнего ребёнка, я считаю, это крутотень: Disco
Можно ещё посмотреть, что он написал, поискав по имени Ivanq.
_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2950


СообщениеДобавлено: Вт Янв 14, 2014 00:30    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):
Не, ну для 9-летнего ребёнка, я считаю, это крутотень: Disco
Можно ещё посмотреть, что он написал, поискав по имени Ivanq.


Ну миленько, но хайку эти мало имеют отношения к программированию как таковому. Думаю ребёнку полезнее Qbasic обычный, нежели эти шойдеры, особенно в такой реализации как "форт файку".
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Вт Янв 14, 2014 10:52    Заголовок сообщения: Ответить с цитатой

BiTL писал(а):
Ну миленько, но хайку эти мало имеют отношения к программированию как таковому. Думаю ребёнку полезнее Qbasic обычный, нежели эти шойдеры, особенно в такой реализации как "форт файку".

На QBasic он уже в 6 лет писал эмулятор юниксовской командной строки

А в 8 лет на PHP писал что-то типа почтового сервиса.
Forth и щейдеры полезны тем, что полностью меняют точку зрения на программирование, этакий заход с другого конца. Полагаю, годик повозиться с Фортом и шейдерами будет очень полезно для развития. Да и практическую пользу шейдеры несут.
_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Вт Янв 14, 2014 11:35    Заголовок сообщения: Ответить с цитатой

Код:
: d dup ;
: ' .5 - ;
: r x ' d * y ' d * + sqrt ;
: lx t 7 + 1.9 * sin 2 / ;
: ly t 7 + 1.7 * sin 2 / ;
: z / r> 80 * sin .7 * * ;
: m lx d * ly d * + .16 + sqrt / * 0 max ;
x '
r d 2dup 2dup >r >r >r >r >r
z lx m
y ' r> z ly m
r> 80 * cos .15 * .85 +
.4 r> 40 * cos 1 + 6 / + m
+ +
1
x ' lx - d *
y ' ly - d *
+ sqrt
- 0 max *
d d * 2 /

Увеличив код Golden Bump на 15-17 байт, можно сэкономить на вычислениях. Теперь "r" вычисляется не 6 раз, а 1 раз, хранится в стеке возвратов и изымается при необходимости. Тут бы обычная переменная пригодилась, но в данной реализации Forth переменных нет (очевидный минус). Или можно было бы к командам push и pop добавить ещё и команду, которая копирует число из стека возвратов в основной стек, не удаляя оригинал. Даже две команды: dup>r и r>dup.
_________________
Manwe/SandS
www.manwe.ru


Последний раз редактировалось: Manwe (Вт Янв 14, 2014 18:15), всего редактировалось 1 раз
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Вт Янв 14, 2014 14:11    Заголовок сообщения: Ответить с цитатой

Нашёл глюк в Ray Tracing 1, оказалось тупо: корень из отрицательной величины. Непонятно, почему GLSL его переваривал.

Код:
: x0 x 2 * 1 - ;
: y0 y 2 * 1 - ;
: m swap / * dup * >r 2dup ;
: l
2dup x0 m y0 m -2 swap / * 3 + dup * r> r>
+ + sqrt 1 - y0 1 + min
rot + swap ;
0
x0 dup * y0 dup * + 4 + sqrt
l l l l l l l l l l l l l l l l l l
drop
5 / dup dup

_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Пт Янв 17, 2014 00:13    Заголовок сообщения: Ответить с цитатой

Ещё немножко рейтрейсинговых глюков (анимация)


И, кажется, я нащупал простой и экономичный способ превращения серой палитры в цветную:


_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
dukzcry



Зарегистрирован: 18.01.2014
Сообщения: 1


СообщениеДобавлено: Сб Янв 18, 2014 15:08    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):

Офигительно. Forth - язык программирования следующей цивилизации!

Не сочтите за флуд, товарищи. Краткая завлекалочка для адептов модной ныне функциональщины. Ратует за конкатенативные языки в целом, и за Forth в частности.
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Отправить e-mail Посетить сайт автора
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Сб Янв 18, 2014 21:27    Заголовок сообщения: Ответить с цитатой

dukzcry писал(а):
завлекалочка для адептов модной ныне функциональщины. Ратует за конкатенативные языки в целом, и за Forth в частности.

Полезно, спасибо. Прошёлся там по ссылкам и обнаружил вот это:

Форт-процессор J1 (16-битный), трансляторы под Win, Mac, Linux. Говорят, это наипростейший из возможный CPU.

Эх, жаль у меня нет аккаунта на Хабре, а то написал бы статью про Forth Haiku.
_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Вт Янв 21, 2014 09:01    Заголовок сообщения: Ответить с цитатой

Аккаунт на Хабре завёл, статью написал, сайт Форт Хайку не выдержал наплыва и слёг. Всё правильно сделал, ага Sad
_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2950


СообщениеДобавлено: Вт Янв 21, 2014 09:09    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):
Аккаунт на Хабре завёл, статью написал, сайт Форт Хайку не выдержал наплыва и слёг. Всё правильно сделал, ага Sad


У него сайт тоже видать на форте написан Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Вт Янв 21, 2014 19:56    Заголовок сообщения: Ответить с цитатой

Qbert

В оптимизированном виде 172 байта, 72 слова
Код:
: d dup ;
: f floor 2 mod ;
: r + d floor - 0.5 - ;
x 16 * f
y 10 * f
- abs
1.5 + 3 /
y 10 * 0.5 - f 2 / d
y 5 * r 3.2 * abs
x 8 * rot r abs
+ 0.5 > *
d 0 = +
d d sqrt 2 / *
d d *

Оно же в более читаемом виде (205 байт, 69 слов, не считая комментариев)
Код:
x 16 * floor 2 mod
y 10 * floor 2 mod
- abs ( 2D grid )
1.5 + 3 / ( shadow )
y 10 * 0.5 - floor 2 mod 2 / dup
y 5 * + dup floor - 0.5 - 3.2 * abs
x 8 * rot + dup floor - 0.5 - abs
+ 0.5 > *
( color correction )
dup 0 = +
dup dup sqrt 2 / *
dup dup *


А вот для сравнения "правильное" (честное) рисование всего лишь одного куба (187 байт, 73 слова):
Код:
: x1 x 6 * 3 - ;
: y1 y 12 * 6 - ;
( left )
x1 y1 + -1 <=
x1 y1 + -3 > *
x1 0 < *
1.5 /
( right )
x1 y1 - 1 >=
x1 y1 - 3 < *
x1 0 >= *
+ 1.5 /
( top )
x1 abs y1 abs + 1 <
+
( cut )
x1 abs 1 < *
( color correction )
dup dup sqrt 2 / *
dup dup *


P.S.
Вроде как освоился. Можно теперь к ShaderToy переходить. А там, глядишь, и новый FireFox подоспеет со встроенным редактором шейдеров (включая вершинные).
_________________
Manwe/SandS
www.manwe.ru


Последний раз редактировалось: Manwe (Ср Янв 22, 2014 12:59), всего редактировалось 11 раз(а)
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Ср Янв 22, 2014 10:12    Заголовок сообщения: Ответить с цитатой

Вот ещё одна минималистическая стековая виртуальная машина IBNIZ, автор задумывал её как альтернативу DOS для 256-байтных интр. Но ей недостаёт изящности Forth.
_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
Manwe
Администратор сайта


Зарегистрирован: 21.09.2007
Сообщения: 1426


СообщениеДобавлено: Чт Янв 23, 2014 09:23    Заголовок сообщения: Ответить с цитатой

Кто-то позорит ShaderToy: https://www.shadertoy.com/view/4s23Ww
_________________
Manwe/SandS
www.manwe.ru
Вернуться к началу
Посмотреть профиль Отправить личное сообщение Посетить сайт автора
BiTL
DOS lover


Зарегистрирован: 22.09.2007
Сообщения: 2950


СообщениеДобавлено: Чт Янв 23, 2014 09:50    Заголовок сообщения: Ответить с цитатой

Manwe писал(а):
Кто-то позорит ShaderToy: https://www.shadertoy.com/view/4s23Ww


Да уж, у меня всего 20 фпс Smile
Вернуться к началу
Посмотреть профиль Отправить личное сообщение
Показать сообщения:   
Начать новую тему   Ответить на тему    Список форумов DemoScene.Ru -> Демо Часовой пояс: GMT + 3
На страницу Пред.  1, 2, 3 ... 5, 6, 7 ... 19, 20, 21  След.
Страница 6 из 21

 
Перейти:  
Вы не можете начинать темы
Вы не можете отвечать на сообщения
Вы не можете редактировать свои сообщения
Вы не можете удалять свои сообщения
Вы не можете голосовать в опросах