Rendering von Punktwolken

Hinweis

Die ARR-Funktion für das Rendering von Punktwolken befindet sich derzeit in der öffentlichen Vorschauphase.

Diese Funktion wird aktiv weiterentwickelt und ist möglicherweise noch nicht vollständig. Sie wird als „Vorschauversion“ zur Verfügung gestellt. Sie können diese Funktion in Ihren Szenarien testen und verwenden sowie Feedback geben.

Weitere Informationen finden Sie unter Zusätzliche Nutzungsbestimmungen für Microsoft Azure-Vorschauen.

ARR unterstützt das Rendern von Punktwolken als Alternative zu Dreiecksnetzen. Das Rendering von Punktwolken ermöglicht zusätzliche Anwendungsfälle, bei denen die Konvertierung von Punktwolken in Dreiecksnetze als Vorverarbeitungsschritt entweder unpraktisch (Durchlaufzeit, Komplexität) ist oder bei denen im Konvertierungsprozess wichtige Details gelöscht werden.

Ähnlich wie bei der Konvertierung von Dreiecksnetzen werden bei der Konvertierung von Punktwolken die Eingabedaten nicht dezimiert.

Konvertierung von Punktwolken

Die Konvertierung von Punktwolkenressourcen ist vollständig analog zum Konvertieren von Dreiecksnetzen: Eine einzelne Punktwolkeneingabedatei wird in eine Datei vom Typ .arrAsset konvertiert, die wiederum von der Laufzeit-API zum Laden verwendet werden kann.

Die Liste der unterstützten Punktwolkendateiformate finden Sie im Abschnitt zur Modellkonvertierung.

Konvertierungseinstellungen speziell für Punktwolkendateien werden im Absatz zu Konvertierungseinstellungen erläutert.

Größenbeschränkungen

Die Konvertierung von Punkt-Cloudressourcen hat eine harte Grenze von 12,5 Milliarden Punkten pro konvertiertem Objekt. Wenn größere Datasets gerendert werden müssen, muss die Quelldatei in mehrere Ressourcen aufgeteilt werden, die jeweils der Einschränkung von 12,5 Milliarden Punkten entsprechen. Der Renderer beschränkt Sie nicht auf die Anzahl eindeutiger Ressourcen, die geladen werden, und die Streamingdatentechnik stellt sicher, dass die Priorisierung nahtlos über alle geladenen Instanzen hinweg funktioniert. Bei der Anzahl maximal zulässiger Punkte wird genau wie im Absatz zu den Servergrößenbeschränkungen beschrieben zwischen Renderingsitzungen vom Typ standard und Renderingsitzungen vom Typ premium unterschieden.

Globale Renderingeigenschaften

Es gibt eine einzelne API, um auf globale Renderingeinstellungen für Punktwolken zuzugreifen. Das Suffix _Experimental wurde hinzugefügt, um anzugeben, dass sich die API derzeit in der öffentlichen Vorschauphase befindet und möglicherweise noch geändert wird.

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);
}

Punkt cloud data streaming

Point Cloud Asset Files werden während der Konvertierung automatisch für das dynamische Datenstreaming konfiguriert. Das bedeutet, dass im Gegensatz zu triangularen Gitterressourcen Punktcloudressourcen mit erheblicher Größe nicht vollständig auf die Rendering-VM heruntergeladen werden, sondern bei Bedarf teilweise aus dem Speicher geladen werden.

Unabhängig von der Punkt-Cloud-Dateigröße ist der große Vorteil des Datenstreamingansatzes, dass der Renderer frühzeitig mit der Darstellung der Daten beginnen kann. Die Entscheidung des Renderers, welche Daten priorisiert werden sollen, basiert auf der Kameraansicht und näherung in allen geladenen Punktwolkenmodellen. Es ist keine benutzerdefinierte Interaktion über die API erforderlich. Darüber hinaus verwaltet Das Datenstreaming automatisch das Budget und die Prioritäten basierend darauf, wie viel bestimmte Daten für die aktuelle Ansicht relevant sind. Falls mehrere Punkt-Cloudressourcen auf der Szene instanziiert werden, stellt das Streamingsystem sicher, dass Daten nahtlos über alle Punktwolken hinweg priorisiert werden, genau wie eine einzelne Ressource. Dementsprechend ist das Aufteilen der Quelldatei eine bequeme Möglichkeit, die Größenbeschränkung pro Datei zu umgehen.

API-Dokumentation

Nächste Schritte