Предыдущая тема :: Следующая тема |
Автор |
Сообщение |
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Вт Дек 31, 2013 19:49 Заголовок сообщения: |
|
|
Manwe писал(а): |
С небольшим ущербом для качества можно сократить до 81 байт на Forth, но даже в таком виде вряд ли влезет в 128 байт на ассемблере (особенно в mode 13h)
Код: | : r dup y 12 pow * t + sin swap x * cos + dup floor - ;
18 r
12 r
25 r
dup rot / |
|
Если влезет, то перейдёшь на асм?
ЗЫ: да чо там, намного сложней вещи укладывают в 128 ) |
|
Вернуться к началу |
|
|
bi71
Зарегистрирован: 14.07.2012 Сообщения: 872
|
Добавлено: Вт Дек 31, 2013 21:38 Заголовок сообщения: |
|
|
BiTL писал(а): | Если влезет, то перейдёшь на асм?
ЗЫ: да чо там, намного сложней вещи укладывают в 128 ) |
а лучше отложить релиз на Outline, утереть нос буржуям=)
моё 64байта просто померкнет _________________ BiTL подстилка бандеровская |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Вт Дек 31, 2013 22:44 Заголовок сообщения: |
|
|
BiTL писал(а): | Если влезет, то перейдёшь на асм? |
Я с него давно ушёл.
Здесь сложность в палитре, я ж rgb по отдельности рендерю. _________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Ср Янв 01, 2014 00:42 Заголовок сообщения: |
|
|
Manwe писал(а): |
Я с него давно ушёл.
Здесь сложность в палитре, я ж rgb по отдельности рендерю. |
Не, ну не точную копию, но подобный эффект в 128-байт можно, я думаю, запилить
В конце концов это всеголишь синусная плазма |
|
Вернуться к началу |
|
|
bi71
Зарегистрирован: 14.07.2012 Сообщения: 872
|
Добавлено: Ср Янв 01, 2014 10:46 Заголовок сообщения: |
|
|
столько красивых эффектов... о5 придется за изучение Форта садиться _________________ BiTL подстилка бандеровская |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Ср Янв 01, 2014 18:59 Заголовок сообщения: |
|
|
Digimind писал(а): | где можно посмотреть результат "более выигрышного" форта - для сравнения с ассемблерными интрами на практике? |
Из истории создания языка PostScript: Джон Гэфни, занимавшийся тогда интерпретатором для большой базы данных трёхмерной графики Нью-Йоркского порта, создал язык «Design System» (очень похожий на FORTH).
Цитата: | Manwe писал(а): | Скажем, откомпилированная под x86 Forth-машина с большой программой будет занимать меньше, чем такая же по смыслу программа, откомпилированная под x86 из Си++. |
за счёт чего? ведь в откомпилированном виде получится одинаковый набор команд для вычислений, только в форт-версии добавятся явные команды манипулирования стеком(ами). |
Ой, тогда, значит, и зажимать программы пакерами бессмысленно - тот же набор команд, только плюс ещё распаковщик. Ага. Вообще, странно - это же в институтах должны проходить, не? Вам матчасть не преподавали?
Цитата: | Manwe писал(а): | Если только это не программа из трёх строчек, а хотя бы из 3000. |
значит получается, что если с интрами ещё куда ни шло, то форт-демки вообще всех порвут нафиг. |
Digimind мастер троллить и разжигать
Лучше покажи как мою "Candy Waterfall" написать на ассемблере в 128 байт. _________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
Digimind assembler digger
Зарегистрирован: 22.09.2007 Сообщения: 103
|
Добавлено: Чт Янв 02, 2014 17:35 Заголовок сообщения: |
|
|
Manwe писал(а): | Лучше покажи как мою "Candy Waterfall" написать на ассемблере в 128 байт. |
Тут возможны 2 варианта: ручной перевод на asm или написание утилиты для автоматической конвертации.
1-й вариант (ручной перевод) - простой и сам напрашивается, благо стек используется в форт и на fpu asm схожим образом. Единственное, что одёргивает от такого поступка, так это проблема с цветами. Если для типичных гармоничных изображений построить 3D-гистограмму (разброс цвета пикселей по RGB-кубу), то всегда заметна стройная кластеризация в пространстве вдоль нескольких гармонических линий. А в гистограмме "Candy Waterfall" сплошная каша, размазанная по всей нижней половине цветового куба. Это объясняется раздельным вычислением RGB-компонентов, из-за чего они получились некоррелированными и гармонии наступил трындец.
2-й вариант (конвертация утилитой) - чуть сложнее и тоже сам напрашивается. К тому же он намного удобнее: позволяет быстро прикинуть размер для любого эффекта и в любой момент. Ещё можно быстро перекраивать код и экспериментировать с методами автоматической оптимизации. Единственное, что одёргивает от такого поступка, так это несовместимость понятий 128b и плазма. Если в 64b-интрах уже умудрились реализовать динамическую диаграмму Вороного, а в 32b-интрах - диффузную агрегацию и т.д., то очередную разновидность плазмы совесть позволит только на 16b позиционировать. Таким образом, смысл делать такую утилиту - только если будут эффекты, способные хоть чем-то удивить. Поэтому пока ждём преодоления барьера 16b по уровню эффектов... |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Чт Янв 02, 2014 17:56 Заголовок сообщения: |
|
|
Digimind писал(а): | Единственное, что одёргивает от такого поступка, так это несовместимость понятий 128b и плазма. Если в 64b-интрах уже умудрились реализовать динамическую диаграмму Вороного, а в 32b-интрах - диффузную агрегацию и т.д., то очередную разновидность плазмы совесть позволит только на 16b позиционировать. Таким образом, смысл делать такую утилиту - только если будут эффекты, способные хоть чем-то удивить. Поэтому пока ждём преодоления барьера 16b по уровню эффектов... |
Ну, тут же плазма какбы перерастает в "водопад", это уже нетривиально, типа плазма стекает вниз. Если останутся лишние байты, можно blur добавить (аля перевёрнутый вниз классический flame) чтобы водопад был больше похож на воду.
ЗЫ: повторять RGB-смешивание по версии Манве вовсе не обязательно, можно сделать так, как это удобнее в случае с режимом 13h, думаю можно даже покрасивее палитру сбацать
ЗЫЗЫ: да и суть то в том, чтобы Манве постебать |
|
Вернуться к началу |
|
|
Digimind assembler digger
Зарегистрирован: 22.09.2007 Сообщения: 103
|
Добавлено: Чт Янв 02, 2014 21:08 Заголовок сообщения: |
|
|
BiTL писал(а): | Ну, тут же плазма какбы перерастает в "водопад", это уже нетривиально, типа плазма стекает вниз. |
Да ладно там, достаточно было всего лишь возвести игрек в 12-ую степень, чтобы плазму уже не узнать, это прям нетривиальный rocket science |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Чт Янв 02, 2014 21:58 Заголовок сообщения: |
|
|
Digimind писал(а): |
Да ладно там, достаточно было всего лишь возвести игрек в 12-ую степень, чтобы плазму уже не узнать, это прям нетривиальный rocket science |
Так фишка в узнаваемости. Всегда прикольно, когда классический эффект узнаётся, но присутствует какая-то фишечка. |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Чт Янв 02, 2014 22:51 Заголовок сообщения: |
|
|
Портировать на ассемблер жалкие 80 символов всё время что-то "одёргивает", а троллить на тему "гармонии" и "неоптимальности" языка Forth ничего не одёргивает. Ok... _________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Пт Янв 03, 2014 00:55 Заголовок сообщения: |
|
|
Manwe писал(а): | Портировать на ассемблер жалкие 80 символов всё время что-то "одёргивает", а троллить на тему "гармонии" и "неоптимальности" языка Forth ничего не одёргивает. Ok... |
Напрасно ты эти символы считаешь. Это же не машинный код, и не ms-dos com-файл. За этими 80 символами ещё стоит итнрепретатор на GLSL, браузер с его WebGL-прослойкой, драйвера, микрокод (хотя он наверное не такой уж и микро) видеокарты, мощный GPU. |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Пт Янв 03, 2014 20:08 Заголовок сообщения: |
|
|
BiTL писал(а): | Напрасно ты эти символы считаешь. Это же не машинный код, и не ms-dos com-файл. За этими 80 символами ещё стоит итнрепретатор на GLSL, браузер с его WebGL-прослойкой, драйвера, микрокод (хотя он наверное не такой уж и микро) видеокарты, мощный GPU. |
Так, а зачем ты тогда говорил:
BiTL писал(а): | клёво, давай в 128байт exe ^_^ |
?
_________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
BiTL DOS lover
Зарегистрирован: 22.09.2007 Сообщения: 2950
|
Добавлено: Сб Янв 04, 2014 00:40 Заголовок сообщения: |
|
|
Manwe писал(а): | BiTL писал(а): | Напрасно ты эти символы считаешь. Это же не машинный код, и не ms-dos com-файл. За этими 80 символами ещё стоит итнрепретатор на GLSL, браузер с его WebGL-прослойкой, драйвера, микрокод (хотя он наверное не такой уж и микро) видеокарты, мощный GPU. |
Так, а зачем ты тогда говорил:
BiTL писал(а): | клёво, давай в 128байт exe ^_^ |
?
|
Потому что выглядит забавно (на кол-во символов пофиг), а 128-байт - это размер машинного кода. Никто ведь байты ассемблерного листинга не считает. И 128б (256.512) - это устоявшиеся номинации. А листинг на Forth Haiku ты на поуэте не зарелизишь |
|
Вернуться к началу |
|
|
Manwe Администратор сайта
Зарегистрирован: 21.09.2007 Сообщения: 1424
|
Добавлено: Сб Янв 04, 2014 07:54 Заголовок сообщения: |
|
|
JavaScript 256b и 512b уже релизят на pouet. BiTL, ты сам говорил - будущее за браузерными демками. Принципиальных отличий Forth Haiku от JS и ShaderToy нет, да и релизить на pouet.net - не самоцель. К тому же com-файлы под DOS в mode 13h морально устарели (и да, они "не честно" используют команды bios'а, аппаратную палитру видеокарты и микрокод x86-го процессора).
В общем, делаю, что хочу, точу скилы и жарю рыбу.
_________________ Manwe/SandS
www.manwe.ru |
|
Вернуться к началу |
|
|
|
|
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете голосовать в опросах
|
|