คุณสมบัติ | ภาพหน้าจอ | บทนำ การติดตั้ง อาคาร | การเปลี่ยนแปลง
ตัวแก้ไขน้ำหนักเบาสำหรับ Shaders GLSL และ HLSL และ IDE ที่มีคุณสมบัติครบถ้วนสำหรับการพัฒนาอัลกอริทึมที่ใช้ GPU
Qt6Multimedia )

ในการเริ่มต้นคุณสามารถเปิดและเล่นกับเซสชันตัวอย่างในเมนู ช่วยเหลือ
เพื่อที่จะลองใช้ Shaders เซสชันอนุญาตให้กำหนดการดึงและคำนวณการโทรพร้อมกับสถานะไปป์ไลน์และข้อมูลที่โปรแกรมควรทำงาน
สามารถเติมด้วยรายการจากเมนู เซสชัน หรือเมนูบริบท undo/redo, copy/paste และ drag/drop ควรทำงานตามที่คาดไว้ (ระหว่างหลายอินสแตนซ์) มันเป็นไปได้ที่จะลากรายการไปและกลับจากตัวแก้ไขข้อความ (เป็นอนุกรมเป็น JSON)
เซสชันตัวอย่างยังสามารถใช้เป็นเทมเพลต - บันทึกเซสชันเป็น ... คัดลอกการอ้างอิงทั้งหมดไปยังตำแหน่งใหม่
เซสชันสามารถประเมินได้ด้วยตนเอง [F6] โดยอัตโนมัติเมื่อใดก็ตามที่มีการเปลี่ยนแปลงที่เกี่ยวข้อง [F7] หรืออย่างต่อเนื่อง [F8] สำหรับภาพเคลื่อนไหว รายการทั้งหมดที่มีส่วนร่วมในการประเมินครั้งสุดท้ายจะถูกเน้น
รายการของเซสชันค่อนข้างสอดคล้องกับแนวคิดที่รู้จักจากการเขียนแอปพลิเคชัน OpenGL:
การโทร - เด่นชัดที่สุดคือการดึงและการคำนวณการโทร เมื่อใดก็ตามที่มีการประเมินเซสชันการโทรที่ใช้งานทั้งหมดจะถูกประเมินตามลำดับติดต่อกัน พวกเขาสามารถยกเลิก/เปิดใช้งานได้โดยใช้ช่องทำเครื่องหมาย เวลาที่ผ่านไปของการโทรแต่ละครั้งจะถูกส่งไปยังหน้าต่าง ข้อความ (วัดโดยใช้แบบสอบถามตัวจับเวลา GPU)
โปรแกรม - ประกอบด้วยหนึ่งหรือหลายเฉดซึ่งเชื่อมโยงเข้าด้วยกันดังนั้นพวกเขาจึงสามารถใช้งานได้โดยการดึงหรือคำนวณการโทร
พื้นผิว - สามารถสร้างพื้นผิวสีความลึกหรือพื้นผิว stencil ทั้งหมดได้ พวกเขาทำหน้าที่เป็นแหล่งตัวอย่างภาพทั้งในและเอาต์พุตและสิ่งที่แนบมาเป้าหมาย พวกเขาสามารถได้รับการสนับสนุนจากไฟล์
เป้าหมาย - ระบุตำแหน่งที่การดึงการโทรควรแสดงผล สามารถแนบรูปภาพได้หลายภาพ ขึ้นอยู่กับประเภทของภาพที่แนบมาสถานะการเรนเดอร์ที่แตกต่างกันสามารถกำหนดค่าได้
การเชื่อมโยง - อนุญาตให้ผูกข้อมูลกับเครื่องแบบของโปรแกรมตัวอย่างรูปภาพและบัฟเฟอร์ การเชื่อมมีผลกระทบต่อการโทรที่ตามมาทั้งหมดจนกว่าจะถูกแทนที่ด้วยการเชื่อมโยงด้วยชื่อเดียวกันหรือขอบเขตสิ้นสุด (ดู กลุ่ม ) ชื่อของการเชื่อมโยงจำเป็นต้องตรงกับชื่อของจุดผูกพันของโปรแกรม
บัฟเฟอร์ - บล็อกบัฟเฟอร์กำหนดโครงสร้างของภูมิภาคภายในไบนารี พวกเขาประกอบด้วยแถวที่มีหลายฟิลด์ของประเภทข้อมูลบางชนิด บัฟเฟอร์สามารถได้รับการสนับสนุนจากไฟล์ไบนารี
สตรีม - ทำหน้าที่เป็นอินพุตสำหรับจุดสุดยอด สตรีมประกอบด้วยหลายแอตทริบิวต์ซึ่งได้รับข้อมูลจากบล็อกบัฟเฟอร์อ้างอิง
กลุ่ม - อนุญาตให้จัดโครงสร้างเซสชันที่ซับซ้อนมากขึ้น พวกเขาเปิดขอบเขตใหม่เว้นแต่จะมีการตรวจสอบ ขอบเขตอินไลน์ รายการภายในขอบเขตไม่สามารถมองเห็นได้สำหรับรายการนอกขอบเขต (ไม่ปรากฏในกล่องคอมโบ)
สคริปต์ - อนุญาตให้กำหนดฟังก์ชั่น 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 ละเอียดใบอนุญาต