Особенности | Скриншоты | Введение | Установка | Здание | Изменение
Легкий редактор для шейдеров GLSL и HLSL и полнофункциональный IDE для разработки алгоритмов на основе GPU.
Qt6Multimedia ).

Чтобы начать, вы можете открыть и поиграть с образцами сеансов в меню помощи .
Чтобы попробовать шейдеры, сеанс позволяет определять рисование и вычислять вызовы вместе с состоянием трубопровода и данными, в которых должны работать программы.
Это может быть заполнено элементами из меню сеанса или контекстным меню. Отменить/повторно, копирование/вставка и перетаскивание должно работать, как и ожидалось (также между несколькими экземплярами). Возможно даже перетаскивать элементы в текстовый редактор (они сериализованы как JSON).
Образцы также можно использовать в качестве шаблонов - сохранение сеанса в качестве ... копирует все зависимости в новом месте.
Сеанс может быть оценен вручную [F6] , автоматически, когда что -то соответствующее изменяется [F7] или неуклонно [F8] , для анимации. Все элементы, которые способствовали последней оценке, выделены.
Элементы сеанса в значительной степени соответствуют понятиям, известным из написания приложений OpenGL:
Вызов - наиболее заметно - ничья и вызовы вычислений. Всякий раз, когда сессия оценивается, все активные вызовы оцениваются в последовательном порядке. Они могут быть де-активированы с помощью флажести. Прошло время каждого вызова вывода в окно сообщения (измерено с помощью запросов таймера графического процессора).
Программа - состоит из одного или нескольких шейдеров, которые связаны вместе, поэтому их можно использовать с помощью вызовов Draw или вычисления.
Текстура - может быть создана все виды цвета, глубины или трафаретных текстур. Они служат источниками образцов, выходами и выходами изображения и целевыми вложениями. Они могут быть подкреплены файлами.
Цель - указывает, где привлечено вызовы. Несколько изображений могут быть прикреплены. В зависимости от типа прикрепленного изображения можно настроить различные состояния рендеринга.
Привязка - позволяет связывать данные с униформой, пробоотборников программы, изображений и буферов. Привязка влияет на все последующие вызовы, пока оно не будет заменено привязкой с одним и тем же именем или заканчивается областью (см. Группы ). Название обязательного необходимого соответствия имени связующих точек программы.
Буфер - буферные блоки определяют структуру области внутри бинарного. Они состоят из рядов с несколькими полями некоторых типов данных. Буферы могут быть подкреплены двоичными файлами.
Stream - служит входом для вершин -шейдеров. Поток состоит из нескольких атрибутов, которые получают свои данные из ссылочных буферных блоков.
Группа - позволяет структурировать более сложные сеансы. Они открывают новую сферу, если не проверяется встроенный объем . Предметы внутри прицела не видны для предметов вне прицела (они не появляются в комбо -коробках).
Скрипт - позволяет определять функции и переменные JavaScript в файлах скрипта, которые впоследствии могут использоваться в однородных выражениях связывания. Сценарии также могут использоваться для динамической заполнения сеанса и генерации данных буфера и текстуры. Существует одно состояние JavaScript для всего сеанса, и сценарии оцениваются в последовательном порядке (группы групп не оказывают эффекта).
Обновляемая сборка может быть установлена из AUR.
Портативная сборка может быть загружена с последней страницы релиза.
Требуется C ++ 20 компилятор. Сценарий для системы сборки Cmake предоставляется. Это зависит от следующих библиотек, которые можно установить с использованием диспетчера пакетов, такого как VCPKG или другими средствами:
# install dependencies
sudo apt install build-essential git cmake qtdeclarative6-dev libdrm-dev pkg-config libxcb * -dev libx11-dev libxrandr-dev
# check out source
git clone --recurse-submodules https://github.com/houmain/gpupad
cd gpupad
# install vcpkg
git clone --depth=1 https://github.com/microsoft/vcpkg.git
vcpkg/bootstrap-vcpkg.sh
# install additional dependencies using vcpkg
vcpkg/vcpkg install vulkan " ktx[vulkan] " glslang spirv-cross vulkan-memory-allocator spdlog
# build
cmake -B build -DCMAKE_TOOLCHAIN_FILE=vcpkg/scripts/buildsystems/vcpkg.cmake
cmake --build build -j8 # install Qt6
# https://doc.qt.io/qt-6/get-and-install-qt.html
# check out source
git clone --recurse-submodules https://github.com/houmain/gpupad
cd gpupad
# install vcpkg
git clone --depth=1 https://github.com/microsoft/vcpkg.git
vcpkg b ootstrap-vcpkg
# install dependencies using vcpkg
vcpkg v cpkg install vulkan " ktx[vulkan] " glslang spirv-cross vulkan-memory-allocator spdlog
# build
cmake -B build -DCMAKE_PREFIX_PATH=C: Q t 6 .7.2 m svc2022_64 -DCMAKE_TOOLCHAIN_FILE=vcpkg s cripts b uildsystems v cpkg.cmake
cmake --build build -j8 Gpupad выпускается под GNU GPLV3. Пожалуйста, смотрите LICENSE для получения информации о лицензии.