Дима Ховрин @stalker320
Разработчик игр
Information
- Rating
- Does not participate
- Location
- Москва, Москва и Московская обл., Россия
- Date of birth
- Registered
- Activity
Specialization
Software Developer, Game Developer
Git
Python
OOP
Linux
Java
Разработчик игр
Всё конечно классно переведено, но я начинаю понимать, что довольно запарно всё это создавать...
Делюсь make-комбайном по компиляции GLSL в SPIR-V
Прим:
Замените
glslc
в коде ниже на путь (Я просто воткнул /home/stalker320/VulkanSDK/1.3.290.0/x86_64/bin в переменную PATH в начало)Поместите ниже приведённый Makefile в папку shaders
Поместите шейдеры в папку shaders/src и создайте папку shaders/bin. Пути зависят от SRCPREFIX и OBJPREFIX
называйте файлы следующим образом: filename.stage.glsl, где stage - это vert, vertex, frag, fragment и прочие стадии пайплайна
Выполните make all для исполнения
Выполните make clear для очистки
UPD: исправил для поддержки hlsl (сделал суффикс изменяемым)
2 дня? Я вхожу в такое состояние уже к полуночи.
Ты и пользователи github. А вообще те, кто будет писать компилятор к твоему языку программирования
Ну смотри: str - это тип, а str() - это создание объекта str. При использовании подсказок типов ты пишешь
А
__str__
необходим для добавления в варианты того, что можно подставить в конструктор.А
decode
- это для работы с байтами.Ты прямо серьёзно, или "гениальный" кусок "кода"?
Я не употреблял и не собираюсь пробовать, что либо воздействующее серьёзно на мозг, однако ближе к полуночи я пробуждаюсь под светом тёмной темы и пишу код лучше, а утром не очень понимаю как я это вообще смог придумать такой алгоритм.
Ну не знаю даже... Вынести вспомогательные функции в отдельные курсы, которые идут дополнением к уроку, не, или ссылаясь на существующие "как сделать"? К примеру мне нравится Си, хотя я приведу куда более красивый пример: Rust. Вот запрос "Нейросеть на Rust-lang" даёт следующее количество результатов: 0 по теме, +- 10 результатов про "использование нейросети в rust(игре)", +- 20 результатов про реализацию с помощью библиотек на python, +- 5 результатов с чистой математикой и слоганом "простыми словами" (лишь слоганом), при поиске в "duckduckgo". А я не хочу ковыряться тысячи часов в исходниках библиотеки tensorflow на python, чтобы написать необходимую мне библиотеку. Вот мне и нужно это +- простое объяснение, чтобы сделать то, что я желаю, или хотя бы адаптировать под свои нужды. Вот про что я могу сказать, что помогло, так это ролик про перцептрон от IT_Школьника, код которого я переписал на Rust и создав 1 рабочий слой, который даже работал. Я заинтересован в создании конвейеров нейросетей, но хочу использовать хоть немного чужого опыта, чтобы не начинать полностью с нуля.
UPD: Простите, если моё сообщение не в тему, просто вечный поиск мне немного надоел. Если есть что почитать полезного про создание нейросети на Rust, то прошу посоветуйте, не откажусь от помощи.
Слушай, вот ты ближе всего к сегодня написал: как ты понял, в производную функции активации передавать надо что?
А где что-то вроде этого потерялось?
Или это из новой версии?
Я думаю мы всегда просто неправильно понимали using namespace, я вот нашёл интересный вариант использования в gdextension для C++. Вот моя интерпретация этого подхода:
Вместо
Или даже некого
Мне кажется это громоздко, хотя если твой подход программирования предусматривает использование using, то это будет выглядеть как-то так, что мне тоже кажется уместным:
А корень вышел 2,969848...
В майнкрафте теперь трёхмерный шум Перлина* до какой-то версии использовался двухмерный.
В крайнем случае можно использовать if/else if
Короче твой смайлик отвалился...
Это вполне легко сделать, но для меня это показалось избыточным, когда нужно было просто достать значение элемента.
Благодарю.
Спасибо, учту. Думаю я даже могу найти применение этому теперь.
То есть адрес указателя
int* ptr;
будет храниться в стеке, в то время, как в хипе будут храниться сами данные?про packed-структуры слышал, но по мне так это какая-то шляпа, тем более наличие свободных байтов во время тестов структур позволяет их более плотно упорядочить простой перестановкой строк типов, хотя наверное я просто не сталкивался с необходимостью в их упаковке...
Благодарю