Как стать автором
Обновить

Комментарии 23

Отличная работа в реализации задуманного с решениями по обходу изначальных "ограничений" используемого инструментария!


P.S. Есть и такой проект Shaderforth в рамках кросс компиляции GLSL шейдеров на Форт подобном языке в GLSL шейдеры для представления их в рамках платформы ShaderToy.
Сам проект использует язык Python для этого.
Примеры шейдеров этого проекта на ShaderToy
На Github есть ещё проект запуска варианта Форт на Cuda (что то VectorForth)


Видео презентация Forth (Форт) от активного участника группы Forth2020
(у них есть и Zoom тусовки Forth2020 — "Старпёры" отжигают. :)


Судя по указанным в статье датам, вашему ребёнку сейчас если не 18, то почти 18. Позвольте уточнить, вы спросили разрешение на упоминание и публикацию фотографий?

Обратитесь к врачу

С упомянутым ребёнком я знаком. Ребёнок категорически против.

Это неправда. Мы это обсудили.

Мне казалось, что фотографии была выложены без его ведома. Если это не так, претензия снимается.

Во-первых, фотографии в общественных местах не требуют уведомления и разрешения. Во-вторых, мы всё равно это обсудили.

Обалдеть! Замечательно! Всегда вызывали уважение программы, которые умещаются в килобайты, а не в сотни мегабайт...

Напоминает более раннюю статью https://habr.com/ru/articles/533174/ про игру, в которой в килобайты доступной памяти напихали нереально много крутого на момент выхода игры, а это 1983 год)

Ну тут в отличие от игр 1983 года в памяти такие демо сцены занимают не 4kb в этом то и часть "фокуса". Я видел демосцену 64k, которая в памяти разрасталась до сотен мегабайт.

HAL 4000 интересен тем, что он не генерирует заранее массивы данных, текстуры и тому подобное. Всё рассчитывается на лету (то есть кроме кода ничего больше нет в памяти). Например, расчёт каждой частицы в эффекте star field происходит заново на каждом кадре по формуле, независимо от других частиц. Также и музыка синтезируется на лету (хотя, в финальной версии мы сделали возможность пререндера музыки для слабых компьютеров, а также возможность рендера видео на диск, но это опционально).

А посоветуйте хороший туториал по GLSL для прям новичков в шейдерах

не стоит вскрывать эту тему, вы молодые шутливые...
Я думал что я знаю по верхам с десяток языков и вкатиться в графику будет не сложно. В итоге три месяца с плотным погружением потребовалось чтобы понять последние стандарты OpenGL ES.
Не... GLSL особой сложности не представляет, но всё сопутствуещее...
- жуткая документация. Легаси на легаси.
- куча несовместимых версий.
- несовместимость в операционных системах. У той же Apple они "забыли" часть стандарта реализовать.
Если вы до этого трогали OpenGL (ES), то последние версии совсем другие. Чтобы вывести один треугольник нужно три экрана кода, при условии что вы ещё подтяните библиотеку хелпера.

А я всего-то хотел написать трехцветную гистограмму для видео в реальном времени (гуглятся только одноканальные и на старых стандартах OpenGL) ну и по мелочам - типа коррекции линзы на шейдерах.
Всё получилось, но все эти конвейеры, частицы и текстуры это вывих мозга. В первую очередь из-за отсутствия толковых книжек. Больше всего выбешивало, что можно в чужом коде выкинуть половину строк или часть строк поменять местами, но всё продолжает работать! Но когда пишешь новое, то происходит наооборот - не работает, а почему не понятно. (То есть ты программируешь конвейер, который можно активировать не по порядку. Часть операций могут восприняты правильно по-умолчанию, а часть нет, а каких-то случаях порядок важен. У каждого вендора все это черный ящик и есть отличия. И во всей этой тряхомудии нужно разобраться)
В последних версиях появились вычислительные шейдеры, которые должны менять правила игры.

Забавно, как устроено всё это. Эталонная реализация OpenGL в исходниках есть, но она написана... для CPU. - Mesa. Хардверные вендоры берут только заголовочные файлы. А как они реализуют драйвера - их дело. И их секрет. То есть как работают видеокарты не знает никто. На часть стандарта они явно кладут болт, закрывают функции пустышками. Практически и философски видеокарта это обычная микросхема с торчащими регистрами. И нужно очень на тупом уровне загрузить конвейер данными. И тут тебя начинают грузить проблемами которые для новичку ни разу не очевидны - зачем это всё? А дело всё в том что там обычные DMA, упаковка данных, транспортные расходы, костыли для мобильника где дискретной видеокарты нет, и все эти неочевидные проблемы размазаны по куче API.
После того, как более менее разобрался, я настолько преисполнился собственным величием (почти шутка) что к своему ужасу обнаружил что в одной большой гугловой библиотеке авторы сами не понимали что они пишут, а я могу написать лучше, а автор книжки также местами не догоняет, потому что гуманитарий и прикладной программист.

Современное программирование утомительно, да. Но есть WebGL. В нём всего несколько строк инициализации, и дальше можно писать уже сам шейдер на GLSL. Посмотрите исходник html, как мы сделали у себя на сайте: https://thesands.band/intro/

Мне нравится этот: https://thebookofshaders.com/glossary/ Там можно нажать в любую функцию и посмотреть что она значит. Например, очень хорошо проиллюстрированы Smoothstep, Distance и прочие.

Начинала с книги "OpenGL 4. Язык шейдеров. Книга рецептов"

Попробуйте запустить другую версию из папки single thread, а также из party version/compatible

У меня запустились только распакованные версии: thesands_hal4000_final\party version\compatible\HAL_4000_unpacked_*p.exe. Тоже Win7, но с интеловской встройкой.

Повезло пацану со стартом, я в 9 лет откручивал ноги у транзисторов

Спасибо Вам, что не сдаётесь, чтобы показать нам чудо.

Синтезатор речи под русской Windows прям спикс фром хё харт.

Есть разница, в размере exe-файла и размере исходного текста программы. Боюсь сам exe-шник будет гораздо больше 4kb. У меня меньше 15kb exe-шник, для 32 бит, сделать не получалось.

Так есть же ссылка на exe и на исходники – посмотрите. 4000 байт exe-файл.

Зарегистрируйтесь на Хабре, чтобы оставить комментарий

Публикации

Истории