Udostępnij za pośrednictwem


Renderowanie chmury punktów

Uwaga

Funkcja renderowania chmury punktu ARR jest obecnie dostępna w publicznej wersji zapoznawczej.

Ta funkcja jest aktywnie opracowywana i może nie zostać ukończona. Jest ona udostępniana w "wersji zapoznawczej". Możesz przetestować tę funkcję i użyć jej w swoich scenariuszach oraz przekazać opinię.

Aby uzyskać więcej informacji, zobacz Uzupełniające warunki korzystania z wersji zapoznawczych platformy Microsoft Azure.

Usługa ARR obsługuje renderowanie chmur punktowych jako alternatywy dla trójkątnych siatk. Renderowanie chmury punktowej umożliwia nowe przypadki użycia, w których konwertowanie chmur punktów na trójkątne siatki jako krok przetwarzania wstępnego jest niepraktyczne (czasy realizacji, złożoność) lub jeśli proces konwersji spadnie ważne szczegóły.

Podobnie jak w przypadku konwersji trójkątnej siatki, konwersja chmury punktowej nie zdziesiątkuje danych wejściowych.

Konwersja chmury punktów

Konwersja zasobów chmury punktów działa w pełni analogicznie do konwertowania trójkątnych siatk: pojedynczy plik wejściowy chmury punktów jest konwertowany na .arrAsset plik, który z kolei może być używany przez interfejs API środowiska uruchomieniowego do ładowania.

Listę obsługiwanych formatów plików chmury punktów można znaleźć w sekcji konwersji modelu.

Ustawienia konwersji przeznaczone specjalnie dla plików chmury punktów zostały wyjaśnione w akapicie ustawień konwersji.

Ograniczenia rozmiaru

Konwersja zasobów chmury punktowej ma sztywny limit 12,5 miliarda punktów na przekonwertowany zasób. Jeśli należy renderować większe zestawy danych, plik źródłowy musi zostać podzielony na wiele zasobów, które przestrzegają ograniczeń 12,5 miliarda punktów. Moduł renderujący nie ogranicza liczby ładowanych unikatowych zasobów, a technika przesyłania strumieniowego danych gwarantuje, że priorytetyzacja działa bezproblemowo we wszystkich załadowanych wystąpieniach. W przypadku ogólnej maksymalnej liczby dozwolonych punktów załadowanych i renderowanych przez usługę ARR ma zastosowanie takie samo rozróżnienie między sesją standard renderowania a premium , jak opisano w akapicie dotyczącym limitów rozmiaru serwera.

Globalne właściwości renderowania

Istnieje jeden interfejs API umożliwiający dostęp do globalnych ustawień renderowania chmur punktowych. Sufiks _Experimental został dodany, aby wskazać, że interfejs API jest obecnie w publicznej wersji zapoznawczej i może ulec zmianie.

void ChangeGlobalPointCloudSettings(RenderingSession session)
{
    PointCloudSettings settings = session.Connection.PointCloudSettings_Experimental;

    // Make all points bigger (default = 1.0)
    settings.PointSizeScale = 1.25f;
}
void ChangeGlobalPointCloudSettings(ApiHandle<RenderingSession> session)
{
    ApiHandle<PointCloudSettings> settings = session->Connection()->PointCloudSettings_Experimental();

    // Make all points bigger (default = 1.0)
    settings->SetPointSizeScale(1.25f);
}

Przesyłanie strumieniowe danych w chmurze punktów

Pliki zasobów chmury punktowej są automatycznie konfigurowane do dynamicznego przesyłania strumieniowego danych podczas konwersji. Oznacza to, że w przeciwieństwie do trójkątnych zasobów siatki zasoby chmury punktowej o znaczącym rozmiarze nie są w pełni pobierane do maszyny wirtualnej renderowania, ale raczej częściowo ładowane z magazynu zgodnie z potrzebami.

Niezależnie od rozmiaru pliku chmury punktów, wielką zaletą podejścia do przesyłania strumieniowego danych jest to, że program renderujący może rozpocząć od wczesnego prezentowania danych. Decyzja renderera, który dane mają być priorytetem, opiera się na widoku kamery i zbliżeniu we wszystkich załadowanych modelach chmury punktowej. Nie jest konieczna żadna interakcja niestandardowa za pośrednictwem interfejsu API. Ponadto przesyłanie strumieniowe danych automatycznie zarządza budżetem i priorytetami w oparciu o to, ile danych jest istotnych dla bieżącego widoku. W przypadku wystąpienia wielu zasobów chmury punktowej na scenie system przesyłania strumieniowego zapewnia bezproblemowe określanie priorytetów danych we wszystkich chmurach punktowych, tak jak w przypadku pojedynczego zasobu. W związku z tym podzielenie pliku źródłowego jest wygodnym sposobem obejścia ograniczenia rozmiaru na plik.

Dokumentacja interfejsu API

Następne kroki