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.
- Jeśli nie masz jeszcze aplikacji Android Studio, pobierz ją. Obejmuje to najnowszy pakiet SDK na Androida.
- Zainstaluj NDK i CMake z Android Studio lub pobrać i zainstalować oddzielnie.
- Utwórz i uruchom przykładowy plik JNI Hello aby mieć pewność, że Android Studio działa prawidłowo.
- 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.
- Ustaw te zmienne środowiskowe:
export ANDROID_HOME=/path/to/sdk-directory export ANDROID_NDK_HOME=$ANDROID_HOME/ndk/{your-ndk-version-dir}
- 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
- 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
- Postępuj zgodnie z tymi instrukcjami (z Build.md).
aby wygenerować przykładowy projekt na Androida:
cd Vulkan-Samples ./scripts/generate.py android
- 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: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.
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 :
Aby uruchomić projekt:
- 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.
- 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:
Rysunek 4. Włącz dostęp do dysku.
- Zobaczysz przykładowy ekran menu głównego podobny do tego:
Rysunek 5. Przykładowe menu główne. - 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:
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.
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:
Specyfikacja interfejsu Vulkan. Grupa Khronos obsługuje specyfikację Vulkan. Zobacz stronę główną interfejsu Vulkan, aby poznać pełną specyfikację, szkolenia, przewodniki i samouczki.
Warstwy walidacji. Warstwy walidacji są niezbędne do tworzenia aplikacji. Zobacz warstwy sprawdzania poprawności interfejsu Vulkan na Androidzie. dokumentację.
Shaderc. Kod Shaderc w NDK jest kolejnym kodem Repozytorium Shaderc. Dokumentacja użytkowania oraz instrukcje pobierania jej do najnowszej wersji można znaleźć na stronie Kompilatory Shader