เริ่มต้นใช้งาน Vulkan

เอกสารนี้แสดงวิธีเริ่มต้นใช้งานไลบรารีกราฟิก Vulkan ด้วยการดาวน์โหลด คอมไพล์ และเรียกใช้แอป Khronos© ตัวอย่าง

สิ่งที่ต้องมีก่อน

ก่อนเริ่มต้น โปรดเตรียมเวอร์ชันฮาร์ดแวร์และแพลตฟอร์มที่ถูกต้อง คุณควรใช้อุปกรณ์หรือโปรแกรมจำลองที่รองรับ Vulkan ที่ใช้ Android 7.0 (Nougat), API ระดับ 24 ขึ้นไป

คุณยืนยันเวอร์ชัน Android ได้โดยไปที่เมนูการตั้งค่า และเลือกเกี่ยวกับโทรศัพท์ > เวอร์ชัน Android เมื่อคุณยืนยันว่า คุณได้ตั้งค่าเวอร์ชันฮาร์ดแวร์และแพลตฟอร์มที่ถูกต้อง คุณจะสามารถดาวน์โหลดซอฟต์แวร์ที่จำเป็นได้

ดาวน์โหลด

ก่อนที่จะเริ่มต้น คุณต้องดาวน์โหลดเครื่องมือและซอฟต์แวร์อื่นๆ หลายรายการ โปรดทราบว่าโฮสต์ของ Windows ขอแนะนําให้คุณหลีกเลี่ยงลําดับชั้นของเส้นทางไฟล์ในระดับที่ลึกสําหรับเครื่องมือและซอร์สโค้ด เพื่อแก้ปัญหาขีดจำกัดเส้นทางของไฟล์ในระบบปฏิบัติการ Windows บางเวอร์ชัน

  1. หากยังไม่มี Android Studio โปรดดาวน์โหลด ซึ่งรวมถึง Android SDK ล่าสุดด้วย
  2. ติดตั้ง NDK และ CMake จากภายใน Android Studio หรือดาวน์โหลดและติดตั้งแยกต่างหาก
  3. สร้างและเรียกใช้ตัวอย่าง Hello JNI เพื่อตรวจสอบว่า Android Studio ทำงานอย่างถูกต้อง
  4. ติดตั้ง Python3 และคอมโพเนนต์อื่นๆ ที่ระบุไว้ใน build.md สำหรับแพลตฟอร์มโฮสต์ของคุณ

นำเข้า

ในส่วนนี้ คุณจะได้ดาวน์โหลดที่เก็บตัวอย่าง Khronos© Vulkan© เพื่อสร้าง Gradle สำหรับ Android แล้วเปิดด้วย Android Studio IDE

  1. ตั้งค่าตัวแปรสภาพแวดล้อมต่อไปนี้
    export ANDROID_HOME=/path/to/sdk-directory
    export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/{your-ndk-version-dir}
    
  2. เพิ่ม CMake ลงใน $PATH ซึ่งใช้สร้างสคริปต์บิลด์ของ Android
    export PATH=$PATH:$ANDROID_HOME/cmake/{your-cmake-version}/bin
    
  3. เปิดเทอร์มินัลและดาวน์โหลดซอร์สโค้ดไปยังไดเรกทอรีการพัฒนาของคุณ:
    cd dev-directory
    git clone --recursive https://github.com/KhronosGroup/Vulkan-Samples.git
    
  4. ทำตามวิธีการเหล่านี้ (จาก Build.md) เพื่อสร้างโปรเจ็กต์ตัวอย่าง Android ให้ทำดังนี้
    cd Vulkan-Samples
    ./scripts/generate.py android
    
  5. เปิด Android Studio เลือก ไฟล์ > เปิดและเลือก Vulkan-Samples/build/android_gradle/build.gradle คุณจะเห็นบางอย่างที่คล้ายกับข้อความต่อไปนี้หลังจากโหลด Android Studio โปรเจ็กต์:
    กำลังนำเข้าโปรเจ็กต์ตัวอย่างไปยัง Studio

    รูปที่ 1 โปรเจ็กต์ตัวอย่างใน Android Studio

คอมไพล์

ตัวอย่างทั้งหมดในที่เก็บนี้จัดอยู่ในโปรเจ็กต์ Android โปรเจ็กต์เดียว วิธีคอมไพล์ ให้ทำอย่างใดอย่างหนึ่งต่อไปนี้

  • หากต้องการคอมไพล์แหล่งที่มาเท่านั้น ให้ใช้เมนู สร้าง > สร้างโปรเจ็กต์ หรือพิมพ์แป้นพิมพ์ลัด Ctrl-F9
  • ในการสร้าง APK ตัวอย่าง ให้เลือกเมนู สร้าง > สร้าง Bundle/APK > สร้าง APK

คุณควรเห็นข้อความว่าสำเร็จของบิลด์ภายในหน้าต่าง Build ของ Android Studio ในกรณีที่เกิดข้อผิดพลาด ให้แก้ไขและคอมไพล์อีกครั้ง

กำลังคอมไพล์โปรเจ็กต์ตัวอย่างด้วย Studio

รูปที่ 2 ตัวอย่างบิลด์ที่ประสบความสำเร็จ

ดำเนินการ

ก่อนที่จะเรียกใช้โปรเจ็กต์ตัวอย่าง โปรดตรวจสอบว่า Android Studio จดจำ อุปกรณ์ Vulkan หรือ Android Emulator ที่เชื่อมต่ออยู่ คุณจะเห็นบางอย่าง เช่น ดังต่อไปนี้:

กำลังเชื่อมต่ออุปกรณ์ทดสอบกับ Studio

รูปที่ 3 เชื่อมต่ออุปกรณ์ทดสอบกับ Android Studio

ในการเรียกใช้โปรเจ็กต์ ให้ทำดังนี้

  1. ใช้เมนู เรียกใช้ > เรียกใช้ vulkan_sample หรือคลิกปุ่มเรียกใช้ บนแถบเครื่องมือ และรอให้ ตัวอย่างเพื่อติดตั้งและเริ่มต้นใช้งานอุปกรณ์ที่เชื่อมต่อ
  2. ให้สิทธิ์คำขอเข้าถึงที่จำเป็นในอุปกรณ์ Android ที่เชื่อมต่อ
    • เปิดใช้อนุญาตให้เข้าถึงเพื่อจัดการไฟล์ทั้งหมด จากนั้นแตะลูกศรปุ่มย้อนกลับ เพื่อกลับไปยังหน้าจอหลักตัวอย่าง
    • อนุญาตการเข้าถึงดิสก์:
      อนุญาตการเข้าถึงดิสก์

      รูปที่ 4 เปิดใช้การเข้าถึงดิสก์

  3. คุณควรจะเห็นตัวอย่างหน้าจอเมนูหลัก ซึ่งคล้ายกับตัวอย่างด้านล่างนี้
    เมนูหลักตัวอย่าง

    รูปที่ 5 ตัวอย่างเมนูหลัก

  4. เลื่อนดูรายการตัวอย่าง และเลือกเรียกใช้รายการ 2-3 รายการ หากเพิ่งเริ่มใช้การพัฒนา Vulkan คุณอาจเริ่มต้นด้วยตัวอย่าง “API” เช่น การแตะ "Hey Triangle" ควรแสดงรูปสามเหลี่ยมที่แสดงผล ที่คล้ายกับข้อความต่อไปนี้
    สามเหลี่ยม

    รูปที่ 6 ตัวอย่างสวัสดี Triange

ขณะนี้ระบบการพัฒนาของคุณตั้งค่าให้เรียกใช้ตัวอย่างบนอุปกรณ์ทดสอบแล้ว

Vulkan Sample ได้รับการพัฒนาขึ้นสำหรับระบบปฏิบัติการหลายระบบ รวมถึงระบบปฏิบัติการต่างๆ ทั้งเดสก์ท็อปและอุปกรณ์เคลื่อนที่ ตัวอย่างบางส่วนในส่วนประสิทธิภาพ ส่วนขยาย และ เครื่องมืออาจไม่เสถียรและขัดข้องในอุปกรณ์ อาจเกิดจากสาเหตุหลายประการ เช่น เป็น:

  • ฟีเจอร์ Vulkan ที่เฉพาะเจาะจงไม่ได้ออกแบบมาสำหรับ Android
  • ระบบไม่รองรับเวอร์ชันระบบปฏิบัติการ Android ของคุณ
  • ความสามารถของ GPU ของแพลตฟอร์มฮาร์ดแวร์

สำรวจ

ส่วน Java ของตัวอย่าง Vulkan มาจากคลาส NativeActivity ผ่านแอปพลิเคชันทั่วไป เหตุการณ์ในวงจร เช่น การสร้างแอป เริ่ม หยุด และทำลายลงใน C/C++ โค้ด ในส่วน C/C++ ของตัวอย่างจะมีตัวอย่างเฟรมเวิร์ก ที่ใช้ฟังก์ชันการสลับตัวอย่างย่อยขณะรันไทม์ น้อยมาก กิจกรรม/ข้อความในระบบ Android จะต้องอยู่ในเส้นทางต่อไปนี้ เข้าถึงโค้ด Vulkan ของแอปตัวอย่าง:

  • ส่วน Java NativeSampleActivity
  • ส่วน C/C++ NativeSampleActivity ส่วน
  • android_native_glue รหัส
  • android_main
  • ตัวอย่างเฟรมเวิร์ก
  • โค้ดของตัวอย่างย่อยแต่ละรายการ

android_main คือบริดจ์ระหว่าง NativeSampleActivity กับโค้ดของแอป ซึ่งจะเป็นจุดเริ่มต้นให้คุณทำตามโค้ดตัวอย่างได้ หากคุณเพิ่ง มุ่งเน้นไปที่แหล่งที่มาที่เฉพาะเจาะจงของ Vulkan คุณสามารถสำรวจโค้ดได้ใน Vulkan_Samples\samples ซึ่งมีข้อมูลต่อไปนี้

  • ตัวอย่างหมวดหมู่ "api"
  • ตัวอย่างหมวดหมู่ "ประสิทธิภาพ"
  • ตัวอย่างหมวดหมู่ "ส่วนขยาย"
  • ตัวอย่างของ “เครื่องมือ”

Vulkan_Samples\shaders เป็นบ้านสำหรับผู้ให้เฉดสีทั้งหมด

คุณสามารถเริ่มเรียกดูตัวอย่างหมวดหมู่ “API” เพื่อทำความคุ้นเคยกับ การใช้งาน Vulkan และเฟรมเวิร์กตัวอย่าง จากนั้นคุณจะสามารถไปยัง ตัวอย่างหมวดหมู่ "ประสิทธิภาพ" และ "การขยายการใช้งาน" สำหรับโค้ดตัวปรับแสงเงา คุณสามารถใช้ มุมมองโปรเจ็กต์ใน Android Studio

เครื่องมือเฉดสีแบบสามเหลี่ยม

รูปที่ 7 สำรวจเครื่องมือใส่เฉดสีด้วย Studio

แหล่งข้อมูลเพิ่มเติม

Vulkan API ผ่านการใช้งาน 2-3 เวอร์ชัน จึงเริ่มพัฒนาขึ้นเรื่อยๆ วัลคาน คณะกรรมการมาตรฐานและชุมชน Vulkan ได้สร้างชุด Vulkan มากมาย ที่สาธิตการใช้งานและแนวทางปฏิบัติที่ดีที่สุดของ API ดังต่อไปนี้ รายการมีทรัพยากรบางส่วนสำหรับการพัฒนาแอปพลิเคชัน Vulkan