Pierwsze kroki z interfejsem Vulkan

Ten dokument wyjaśnia, jak zacząć korzystać z biblioteki grafiki Vulkan. pobierając, skompilować i uruchomić przykładową aplikację Khronos©.

Wymagania wstępne

Zanim zaczniesz, przygotuj odpowiednią wersję sprzętu i platformy. Użyj urządzenia lub emulatora obsługującego język Vulkan, z Androidem 7.0 (Nougat) lub interfejsem API na poziomie 24 lub wyższym.

Wersję Androida możesz sprawdzić w menu Ustawienia. i wybierając Informacje o telefonie > Wersja Androida Gdy to zrobisz, masz skonfigurowany odpowiedni sprzęt i wersję platformy, możesz pobrać niezbędne oprogramowanie.

Pobierz

Zanim zaczniesz, musisz pobrać różne narzędzia i inne oprogramowanie. Pamiętaj, że na hoście z systemem Windows unikanie głębokiej hierarchii ścieżek plików w narzędziach i kodzie źródłowym, Umożliwia to obejście limitów ścieżek plików w niektórych wersjach systemu operacyjnego Windows.

  1. Jeśli nie masz jeszcze aplikacji Android Studio, pobierz ją. Obejmuje to najnowszy pakiet SDK na Androida.
  2. Zainstaluj NDK i CMake z Android Studio lub pobrać i zainstalować oddzielnie.
  3. Utwórz i uruchom przykładowy plik JNI Hello aby mieć pewność, że Android Studio działa prawidłowo.
  4. Zainstaluj Python3 i inne komponenty wymienione w pliku build.md dla platformy hosta.

Importuj

W tej sekcji pobierzesz przykładowe repozytorium Khronos© Vulkan© i wygenerujesz gradle dla Androida i otwórz go w środowisku Android Studio IDE.

  1. Ustaw te zmienne środowiskowe:
    export ANDROID_HOME=/path/to/sdk-directory
    export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/{your-ndk-version-dir}
    
  2. Dodaj do ścieżki $PATH, która jest używana do generowania skryptów kompilacji na Androida:
    export PATH=$PATH:$ANDROID_HOME/cmake/{your-cmake-version}/bin
    
  3. Otwórz terminal i pobierz kod źródłowy do katalogu dla programistów:
    cd dev-directory
    git clone --recursive https://github.com/KhronosGroup/Vulkan-Samples.git
    
  4. Postępuj zgodnie z tymi instrukcjami (z Build.md). aby wygenerować przykładowy projekt na Androida:
    cd Vulkan-Samples
    ./scripts/generate.py android
    
  5. Otwórz Android Studio. Wybierz Plik > Otwórz i wybierz Vulkan-Samples/build/android_gradle/build.gradle Po wczytaniu środowiska Android Studio powinno ono wyglądać mniej więcej tak: projekt:
    Importuję przykładowy projekt do Studio.

    Rysunek 1. Przykładowy projekt w Android Studio.

Kompilacja

Wszystkie próbki w tym repozytorium są zorganizowane w ramach 1 projektu na Androida. Aby skompilować w projekcie, wykonaj jedną z tych czynności:

  • Aby tylko skompilować źródła, użyj menu Kompilacja > Utwórz projekt, lub naciśnij klawisz skrótu Ctrl+F9.
  • Aby wygenerować przykładowy plik APK, wybierz menu Kompilacja > Utwórz pakiety / pliki APK > Utwórz pliki APK.

W oknie kompilacji w Android Studio powinien pojawić się komunikat o udanej kompilacji. Jeśli pojawią się błędy, napraw je i skompiluj ponownie.

Kompiluję przykładowy projekt w Studio.

Rysunek 2. Udana kompilacja przykładowa.

Wykonaj

Przed uruchomieniem przykładowego projektu upewnij się, że Android Studio rozpoznaje podłączonego urządzenia Vulkan lub emulatora Androida. Powinno być widoczne coś w stylu :

Łączę urządzenie testowe ze Studio.

Rysunek 3. Połącz urządzenie testowe z Androidem Studio.

Aby uruchomić projekt:

  1. Użyj menu Uruchom > Uruchom vulkan_sample lub kliknij przycisk uruchamiania na pasku narzędzi i poczekaj na przykład do zainstalowania i uruchomienia na połączonym urządzeniu.
  2. Na połączonym urządzeniu z Androidem autoryzuj niezbędne prośby o dostęp.
    • włącz Zezwól na dostęp do zarządzania wszystkimi plikami, a następnie kliknij strzałkę Przycisk Wstecz. aby wrócić do przykładowego głównego ekranu startowego.
    • zezwól na dostęp do dysku:
      zezwalania na dostęp do dysku.

      Rysunek 4. Włącz dostęp do dysku.

  3. Zobaczysz przykładowy ekran menu głównego podobny do tego:
    przykładowego menu głównego.

    Rysunek 5. Przykładowe menu główne.

  4. Przejrzyj listę przykładowych i wybierz kilka do uruchomienia. Jeśli nie masz doświadczenia w programowaniu interfejsu Vulkan, możesz zacząć od przykładów interfejsu API. Na przykład kliknięcie „Hello Triangle” powinno spowodować wyświetlenie wyrenderowanego trójkąta podobnie jak poniżej:
    Trójkąt

    Rysunek 6. Przykład z Hot Triange.

Twój system programistyczny jest teraz skonfigurowany do uruchamiania próbek na urządzeniu testowym.

Sample Vulkan są opracowywane z myślą o wielu systemach operacyjnych, w tym przeznaczonych dla komputerach i urządzeniach mobilnych. Przykłady w sekcjach Skuteczność, Rozszerzenia oraz Narzędzie może być niestabilne i awariować na urządzeniu. Przyczyny mogą być różne, na przykład jako:

  • Te funkcje interfejsu Vulkan nie zostały zaprojektowane pod kątem Androida.
  • Twoja wersja systemu operacyjnego Android nie jest obsługiwana.
  • Możliwości GPU Twojej platformy sprzętowej.

Odkrywaj

Sekcja Javy przykładu Vulkan pochodzi z klasy NativeActivity. Przechodzi typowe zastosowania zdarzenia cyklu życia, takie jak utworzenie, uruchomienie, zatrzymanie i zniszczenie aplikacji w kodzie C/C++ w kodzie. W sekcji C/C++ tego przykładu znajdziesz przykładową platformę, , który implementuje funkcję przełączania próbek podrzędnych w czasie działania środowiska wykonawczego. Bardzo zdarzenia/wiadomości systemu Android przechodzą przez tę ścieżkę do kodu Vulkan w przykładowej aplikacji:

  • Sekcja Javy NativeSampleActivity
  • NativeSampleActivity sekcja C/C++
  • Kod android_native_glue
  • android_main
  • Przykładowa platforma
  • Kod pojedynczego przykładu

android_main to most między NativeSampleActivity a kodem aplikacji. co może być punktem wyjścia dla podążania za przykładowym kodem. Jeśli jeśli chcesz skupić się na źródłach dotyczących platformy Vulkan, możesz zapoznać się z kodem Vulkan_Samples\samples, który zawiera te elementy:

  • Przykłady kategorii „api”.
  • Przykłady kategorii „Skuteczność”.
  • Przykłady kategorii „Rozszerzenia”.
  • Próbki narzędzi.

Vulkan_Samples\shaders to miejsce dla wszystkich programów do cieniowania.

Możesz zacząć przeglądać przykłady kategorii „API”, by zapoznać się z podstawowymi Wykorzystanie interfejsu Vulkan i przykładowa platforma. Następnie możesz przejść do Przykłady kategorii „Skuteczność” i „Rozszerzenia”. Do kodu cieniowania możesz korzystać za pomocą widok Projekt w Android Studio.

Trójkątny program do cieniowania.

Rysunek 7. Poznaj cieniowanie w Studio.

Dodatkowe materiały

Interfejs Vulkan API jest testowany w kilku wersjach i jest w fazie dojrzewania. Vulkan niż standardowy komitet i społeczność Vulkan stworzyła obszerny zestaw materiałów ilustrujących korzystanie z interfejsu API i jego sprawdzone metody. Poniżej zawiera zasoby do tworzenia aplikacji Vulkan: