ميزات | لقطات الشاشة | مقدمة | التثبيت | بناء | Changelog
محرر خفيف الوزن لتظليل GLSL و HLSL و IDE IDE بالكامل لتطوير خوارزميات قائمة على GPU.
Qt6Multimedia ).

للبدء ، يمكنك فتح واللعب مع عينة جلسات في قائمة المساعدة .
من أجل تجربة التظليل ، تسمح الجلسة بتحديد المكالمات وحسابها ، إلى جانب حالة خط الأنابيب والبيانات التي يجب أن تعمل عليها البرامج.
يمكن ملؤها بعناصر من قائمة الجلسة أو قائمة السياق. التراجع/إعادة ، ونسخ/لصق وسحب/إسقاط يجب أن يعمل كما هو متوقع (أيضًا بين حالات متعددة). من الممكن حتى سحب العناصر من وإلى محرر نص (يتم تسلسلها باسم JSON).
يمكن أيضًا استخدام جلسات العينة كقوالب - حفظ الجلسة كنسخ جميع التبعيات إلى الموقع الجديد.
يمكن تقييم الجلسة يدويًا [F6] ، تلقائيًا كلما تغير شيء ذي صلة [F7] أو بثبات [F8] ، للرسوم المتحركة. يتم تسليط الضوء على جميع العناصر التي ساهمت في التقييم الأخير.
تتوافق عناصر الجلسة إلى حد كبير مع المفاهيم المعروفة من كتابة تطبيقات OpenGL:
استدعاء - أبرزها السحب ومكالمات حساب. كلما تم تقييم الجلسة ، يتم تقييم جميع المكالمات النشطة بترتيب متتالي. يمكن إزالة/تنشيطها باستخدام خانة الاختيار. يتم إخراج الوقت المنقضي لكل مكالمة إلى نافذة الرسالة (تقاس باستخدام استعلامات مؤقت GPU).
البرنامج - يتكون من تظليل واحد أو متعددة ، يتم ربطه معًا ، بحيث يمكن استخدامها عن طريق السحب أو حساب المكالمات.
الملمس - يمكن إنشاء كل أنواع الألوان أو العمق أو القلم. أنها تعمل كمصادر عينة ، وصورة داخل والمخرجات والمرفقات المستهدفة. يمكن أن تدعمها الملفات.
الهدف - يحدد المكان الذي يجب أن تجري فيه المكالمات. يمكن إرفاق صور متعددة. اعتمادًا على نوع الصورة المرفقة ، يمكن تكوين حالات العرض المختلفة.
الربط - يسمح بربط البيانات بزيار البرنامج وأسماءات وأسماءات الصور والمؤسسات. يؤثر الربط على جميع المكالمات اللاحقة ، حتى يتم استبداله بالربط بنفس الاسم ، أو نهايات النطاق (انظر المجموعات ). يحتاج اسم الربط إلى مطابقة اسم نقاط الربط للبرنامج.
العازلة - الكتل العازلة تحدد بنية المنطقة داخل ثنائي. وهي تتكون من صفوف ذات حقول متعددة من بعض أنواع البيانات. يمكن دعم المخازن المؤقتة بالملفات الثنائية.
دفق - بمثابة إدخال لتظليل قمة الرأس. يتكون الدفق من سمات متعددة ، والتي تحصل على بياناتها من كتل العازلة المشار إليها.
المجموعة - يسمح لهيكلة جلسات أكثر تعقيدًا. يفتحون نطاقًا جديدًا ما لم يتم فحص النطاق المضمّن . العناصر الموجودة في النطاق غير مرئية للعناصر خارج النطاق (لا تظهر في صناديق التحرير والسرد).
البرنامج النصي - يسمح بتحديد وظائف 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 للحصول على تفاصيل الترخيص.