Características | Capturas de pantalla | Introducción | Instalación | Edificio | Colegio de cambios
Un editor liviano para los sombreadores GLSL y HLSL y un IDE completamente ofrecido para desarrollar algoritmos basados en GPU.
Qt6Multimedia ).

Para comenzar, puede abrir y jugar con las sesiones de muestra en el menú de ayuda .
Para probar los sombreadores, la sesión permite definir llamadas de dibujo y calcular, junto con el estado de la tubería y los datos en los que deben operar los programas.
Se puede poblar con elementos del menú de sesión o en el menú contextual. Deshacer/rehacer, copiar/pegar y arrastrar/soltar deberían funcionar como se esperaba (también entre múltiples instancias). Incluso es posible arrastrar los elementos hacia y desde un editor de texto (se serializan como JSON).
Las sesiones de muestra también se pueden usar como plantillas: guardar una sesión como ... copia todas las dependencias a la nueva ubicación.
La sesión se puede evaluar manualmente [F6] , automáticamente cada vez que algo relevante cambia [F7] o constantemente [F8] , para animaciones. Se destacan todos los elementos que contribuyeron a la última evaluación.
Los elementos de una sesión corresponden a los conceptos conocidos al escribir aplicaciones OpenGL:
Llame : lo más destacado son el sorteo y las llamadas de cómputo. Cada vez que se evalúa la sesión, todas las llamadas activas se evalúan en orden consecutivo. Se pueden desactivar con la casilla de verificación. El tiempo transcurrido de cada llamada se emite a la ventana del mensaje (medido utilizando consultas de temporizador de GPU).
Programa : consta de uno o múltiples sombreadores, que están vinculados juntos, para que puedan ser utilizados mediante llamadas de dibujo o cómputo.
Textura : se puede crear todo tipo de texturas de color, profundidad o plantilla. Sirven como fuentes de muestra, imágenes y salidas de imagen y accesorios de objetivos. Pueden ser respaldados por archivos.
Target : especifica a dónde deben hacer las llamadas de dibujo. Se pueden adjuntar varias imágenes. Dependiendo del tipo de imagen adjunta, se pueden configurar diferentes estados de renderizado.
Enlace : permite unir datos a los uniformes, muestreadores, imágenes y buffers de un programa. Una unión afecta a todas las llamadas posteriores, hasta que se reemplaza por una unión con el mismo nombre, o el alcance termina (ver grupos ). El nombre de un vinculante debe coincidir con el nombre de los puntos vinculantes de un programa.
Buffer : los bloques de amortiguación definen la estructura de una región dentro de un binario. Consisten en filas con múltiples campos de algún tipo de datos. Los buffers pueden ser respaldados por archivos binarios.
Stream : sirve como entrada para los sombreadores de vértices. Una secuencia consta de múltiples atributos, que obtienen sus datos de los bloques de búfer referenciados.
Grupo : permite estructurar sesiones más complejas. Abren un nuevo alcance a menos que se verifique el alcance en línea . Los artículos dentro de un alcance no son visibles para artículos fuera del alcance (no aparecen en las cajas combinadas).
Script : permite definir funciones y variables de JavaScript en los archivos de script, que posteriormente se pueden usar en expresiones de enlace uniformes. Los scripts también se pueden usar para completar dinámicamente la sesión y generar datos de búfer y textura. Hay un estado de JavaScript para toda la sesión y los scripts se evalúan en orden consecutivo (los ámbitos grupales no tienen un efecto).
Se puede instalar una construcción actualizada desde el AUR.
Se puede descargar una compilación portátil de la última página de lanzamiento.
Se requiere un compilador conforme C ++ 20. Se proporciona un script para el sistema de compilación CMake. Depende de las siguientes bibliotecas, que se pueden instalar utilizando un Administrador de paquetes como VCPKG o por otros medios:
# 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 se lanza bajo el GNU GPLV3. Consulte LICENSE para obtener detalles de la licencia.