DE202014010917U1 - Glatte Zeichenebene für das Rendern von Vektordaten komplexer dreidimensionaler Objekte - Google Patents

Glatte Zeichenebene für das Rendern von Vektordaten komplexer dreidimensionaler Objekte Download PDF

Info

Publication number
DE202014010917U1
DE202014010917U1 DE202014010917.6U DE202014010917U DE202014010917U1 DE 202014010917 U1 DE202014010917 U1 DE 202014010917U1 DE 202014010917 U DE202014010917 U DE 202014010917U DE 202014010917 U1 DE202014010917 U1 DE 202014010917U1
Authority
DE
Germany
Prior art keywords
dimensional model
rendering
vector data
geometry
viewport
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Expired - Lifetime
Application number
DE202014010917.6U
Other languages
English (en)
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Google LLC
Original Assignee
Google LLC
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Google LLC filed Critical Google LLC
Publication of DE202014010917U1 publication Critical patent/DE202014010917U1/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/04Texture mapping
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T17/00Three dimensional [3D] modelling, e.g. data description of 3D objects
    • G06T17/05Geographic models

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • Computer Graphics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Geometry (AREA)
  • Software Systems (AREA)
  • Remote Sensing (AREA)
  • Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)
  • Image Generation (AREA)

Abstract

Computersystem für das Rendern von Vektordaten im Zusammenhang mit einem dreidimensionalen Modell eines geographischen Bereichs, wobei das System einen Prozessor und ein Anzeigegerät umfasst, wobei der Prozessor für das Implementieren von einem oder mehreren der folgenden Module konfiguriert ist: ein durch den Prozessor implementiertes Benutzerschnittstellenmodul, das dafür ausgelegt ist, ein Darstellungsfeld in einer Benutzerschnittstelle auf dem Anzeigegerät darzustellen; und ein durch den Prozessor implementiertes Rendermodul, worin das Modul für das Rendern des dreidimensionalen Modells im Darstellungsfeld, sowie der transparenten Zeichenebene als Overlay für das dreidimensionale Modell ausgelegt ist; worin das Rendermodul des Weiteren so konfiguriert sein kann, dass die Vektordaten per Texture-Mapping in einer Art auf die transparente Zeichenebene übertragen werden, dass sich die Vektordaten auf der Oberfläche des dreidimensionalen Modells zu befinden scheinen.

Description

  • TECHNISCHES GEBIET
  • Die vorliegende Offenbarung bezieht sich generell auf Computergrafik und spezieller auf das Rendern von Vektordaten im Zusammenhang mit dreidimensionalen Objekten in Applikationen der Computergrafik. Unter Schutz gestellt werden und Gegenstand des Gebrauchsmusters sind dabei, entsprechend den Vorschriften des Gebrauchsmustergesetzes, lediglich Vorrichtungen wie in den beigefügten Schutzansprüchen definiert, jedoch keine Verfahren. Soweit nachfolgend in der Beschreibung gegebenenfalls auf Verfahren Bezug genommen wird, dienen diese Bezugnahmen lediglich der beispielhaften Erläuterung der in den beigefügten Schutzansprüchen unter Schutz gestellten Vorrichtung oder Vorrichtungen.
  • HINTERGRUND
  • Fortschritte bei der Computerleistung und der Breitbandtechnologie haben zur Entwicklung von interaktiven dreidimensionalen Modellen geführt. So können beispielsweise interaktive geographische Informationssysteme die Navigation und die Anzeige von dreidimensionalen Darstellungen geographischer Bereiche unterstützen. Ein Benutzer kann durch die dreidimensionale Darstellung navigieren, indem er eine virtuelle Kamera steuert, die spezifiziert, welcher Teil der dreidimensionalen Darstellung für einen Benutzer gerendert und dargestellt wird.
  • Das dreidimensionale Modell kann die Geometrie und Oberflächenbeschaffenheit umfassen, dabei wird die Beschaffenheit per Texture-Mapping mit der Geometrie vereint. Zum Beispiel kann ein dreidimensionales Modell eines geographischen Bereichs Geländegeometrie einschließen, die das Gelände der Erde zusätzlich zur Gebäudegeometrie modelliert, die Gebäude, Brücken und andere Gegenstände formt. Geographische Aufnahmen, wie Luft- oder Satellitenbilder und anderes Bildmaterial können als Textur auf die Gelände- und/oder Gebäudegeometrie projiziert (Mapping) werden, um ein realistischeres Modell der Gegend zu erhalten.
  • Vektordaten können in Verbindung mit dem dreidimensionalen Modell gerendert werden. Zu Vektordaten können Kennzeichnungen, Überlagerungen, Straßenüberlagerungen, Text und andere Daten gehören. Ein Ansatz für das Rendern von Vektordaten in Verbindung mit dem dreidimensionalen Modell ist, die Vektordaten im dreidimensionalen Raum zu rendern, der durch das Modell definiert wird. Das kann komplizierte Projektionsberechnungen und die Verfolgung vieler Strahlen erfordern, um die Vektordaten im Verhältnis zu der Oberfläche des dreidimensionalen Modells richtig zu setzen. Es kann bei diesem Ansatz auch schwierig sein, die Vektordaten konstant korrekt zu setzen.
  • Eine andere Möglichkeit für das Rendern der Vektordaten in Verbindung mit dem dreidimensionalen Modell besteht darin, die Vektordaten über Texture-Mapping mit dem dreidimensionalen Modell zu verknüpfen.
  • Bestimmte Gegenstände im dreidimensionalen Modell können jedoch eine klumpige, eckige und heikle Geometrie aufweisen. Infolgedessen können die Vektordaten beim Texture-Mapping direkt auf das dreidimensionale Modell unlesbar oder falsch angepasst werden.
  • ZUSAMMENFASSUNG
  • Aspekte und Vorteile der Erfindung werden teilweise in der folgenden Beschreibung dargelegt, oder können aus der Beschreibung offensichtlich sein, oder können durch eine Umsetzung der Erfindung erfahren werden.
  • Ein Beispielaspekt der vorliegenden Offenbarung bezieht sich auf ein computerimplementiertes Verfahren zum Rendern von Vektordaten in Verbindung mit einem dreidimensionalen Modell. Zu dem Verfahren gehören ein Darstellungsfeld einer Benutzerschnittstelle in einem Anzeigegerät und das Rendern eines dreidimensionalen Modells in diesem Darstellungsfeld. Das Verfahren umfasst weiterhin das Rendern einer transparenten Zeichenebene zur Überlagerung des dreidimensionalen Modells und die Übertragung der Vektordaten auf die transparente Zeichenebene per Texture-Mapping in einer Art, dass sich die Vektordaten scheinbar auf der Oberfläche des dreidimensionalen Modells im Darstellungsfeld befinden.
  • Weitere exemplarische Aspekte der vorliegenden Offenbarung betreffen andere Verfahren, Systeme, Vorrichtungen, nicht-flüchtige computerlesbare Medien, Benutzeroberflächen und Vorrichtungen zum Rendern von Vektordaten im Zusammenhang mit einem dreidimensionalen Modell eines geographischen Bereichs.
  • Diese und weitere Merkmale, Aspekte und Vorteile der vorliegenden Erfindung werden in Bezug auf die folgende Beschreibung und die angehängten Ansprüche besser verständlich. Die beigefügten Zeichnungen, die in diese Spezifizierung einbezogen sind und einen Teil dieser darstellen, veranschaulichen Ausführungsformen der Erfindung und dienen, zusammen mit der Beschreibung, der Erklärung der Grundsätze der Erfindung.
  • KURZBESCHREIBUNG DER ZEICHNUNGEN
  • Eine vollständige und befähigende Offenbarung der vorliegenden Erfindung, einschließlich ihres besten Modus, die an Fachleute gerichtet ist, ist in der Spezifikation dargelegt, die auf die angehängten Figuren verweist, in denen:
  • 1 zeigt eine vereinfachte Darstellung eines dreidimensionalen Modells einer Szene im Sinne eines Ausführungsbeispiels der vorliegenden Offenbarung;
  • 2 zeigt einen Teil eines dreidimensionalen Modells angezeigt in einem Darstellungsfeld im Sinne eines Ausführungsbeispiels der vorliegenden Offenbarung;
  • 3 zeigt ein Flussdiagramm eines Beispielverfahrens für das Rendern von Vektordaten im Zusammenhang mit einem dreidimensionalen Modell im Sinne eines Ausführungsbeispiels der vorliegenden Offenbarung;
  • 4 zeigt ein Flussdiagramm für ein Beispiel eines Renderverfahrens für eine glatte, transparente Zeichenebene im Sinne eines Ausführungsbeispiels der vorliegenden Offenbarung;
  • 5 zeigt ein Flussdiagramm für ein Beispiel eines Renderverfahrens zum Erstellen einer glatten, transparenten Zeichenebene im Sinne eines Ausführungsbeispiels der vorliegenden Offenbarung; und
  • 6 zeigt ein exemplarisches Computersystem im Sinne eines Ausführungsbeispiels der vorliegenden Offenbarung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Nun wird im Detail auf Ausführungsformen der Erfindung eingegangen, von denen ein oder mehrere Beispiel(e) in den Zeichnungen dargestellt ist/sind. Jedes Beispiel wird im Sinne der Erläuterung der Erfindung und nicht im Sinne einer Beschränkung der Erfindung bereitgestellt. Für Fachleute ist offensichtlich, dass verschiedene Modifizierungen und Varianten an der vorliegenden Erfindung vorgenommen werden können, ohne vom Schutzumfang oder Geist der Erfindung abzuweichen. Zum Beispiel können Merkmale, die als ein Teil einer Ausführungsform veranschaulicht oder beschrieben sind, bei einer anderen Ausführungsform verwendet werden, um eine noch weitere Ausführungsform zu ergeben.
  • Somit wird beabsichtigt, dass die vorliegende Erfindung solche Modifizierungen und Varianten als innerhalb des Schutzumfangs der angehängten Ansprüche und ihrer Äquivalente fallend abdeckt.
  • Generell bezieht sich die vorliegende Offenbarung auf Systeme und Verfahren zum Rendern von Vektordaten (z. B. Text, Kennzeichnungen, Überlagerungen, Straßen usw.) in Verbindung mit einem dreidimensionalen Modell. Genauer gesagt kann eine glatte, transparente Zeichenebene erzeugt und gerendert werden, mit der das dreidimensionale Modell überlagert werden kann. Die glatte, transparente Zeichenebene kann an eine oder mehrere der Oberflächen des dreidimensionalen Modells angepasst werden. Die Vektordaten können dann per Texture-Mapping in einer Art auf die glatte, transparente Zeichenebene übertragen werden, dass sich die Vektordaten auf der Oberfläche des dreidimensionalen Modells zu befinden scheinen. Auf diese Weise können die Systeme und Verfahren der vorliegenden Offenbarung einen technischen Effekt nutzen, um visuelle Artefakte zu verringern, die beim direkten Mappen von Vektordaten auf Oberflächen des dreidimensionalen Modells mit komplexer Geometrie entstehen können (z. B. harte Ränder, Stöße usw.).
  • In einer Verkörperung kann das dreidimensionale Modell ein Modell eines geographischen Bereichs sein. Das dreidimensionale Modell kann Geländegeometrie umfassen, bei der die Umgebung modelliert wird, sowie Gebäudegeometrie zur Ausformung von Häusern, Brücken und anderen Gegenständen. Das dreidimensionale Modell kann ein Polygonnetz sein (z. B. ein Dreiecksnetz) das beispielsweise mit Techniken der stereoskopischen Rekonstruktion erzeugt wird. Während eine Darstellung des geographischen Bereichs gerendert wird, kann eine glatte, transparente Zeichenebene als Überlagerung auf die Geländegeometrie gelegt werden. Zum Beispiel kann sich die glatte, transparente Zeichenebene an die Oberflächen der Geländegeometrie genau anpassen. Die Vektordaten können dann per Texture-Mapping in einer Art auf die transparente Zeichenebene übertragen werden, dass sich die Vektordaten auf der Oberfläche der Geländegeometrie zu befinden scheinen. In bestimmten Fällen können die glatte, transparente Zeichenebene und die Vektordaten so gerendert werden, dass die Vektordaten durch die Gebäudegeometrie in der Darstellung des geographischen Bereichs verdeckt sein können.
  • Verschiedene Renderalgorithmen können verwendet werden, um eine Szene, die Vektordaten in Verbindung mit dem dreidimensionalen Modell darstellt, entsprechend den Beispielaspekten der vorliegenden Offenbarung zu rendern. Zum Beispiel kann in einer Ausführung die glatte, transparente Zeichenebene mit einem Tiefenversatz in Relation zur Geländegeometrie gerendert werden. Entsprechend einem anderen Ausführungsbeispiel kann der Renderalgorithmus die Gebäudegeometrie mit einem ersten Schablonenwert in einen Schablonenpuffer übertragen, der mit der Szene verbunden ist. Das Gelände kann dann mit einem zweiten Schablonenwert im Schablonenpuffer gerendert werden. Der Tiefenpuffer kann dann für alle Pixel der Szene gelöscht werden, die mit dem zweiten Schablonenwert verbunden sind. Die transparente Zeichenebene kann dann mit den Optionen Depth Write und Depth Test auf ON gerendert werden. Dadurch kann die transparente Zeichenebene vor der Geländegeometrie gerendert werden. Jedoch kann die transparente Zeichenebene in den Bereichen, in denen die Gebäudegeometrie im Vordergrund vor der Geländegeometrie angesiedelt ist, weiterhin durch die Gebäudegeometrie verdeckt werden.
  • Die glatte, transparente Zeichenebene kann aus dem dreidimensionalen Modell erzeugt werden. In einer Ausführung kann zum Beispiel die transparente Zeichenebene durch Zugriff auf ein dreidimensionales Modell erzeugt werden. Die Geländegeometrie kann aus dem dreidimensionalen Modell extrahiert werden. Die Geländegeometrie kann mit einem geeigneten Glättungsalgorithmus geglättet werden (z. B. ein Gaußscher Glättungsalgorithmus), um ein harmonisches Geländebild zu erhalten. Die transparente Zeichenebene kann dann aus der glatten Geländegeometrie beispielsweise mit einem geeigneten Meshing-Algorithmus erzeugt werden. Eine transparente Zeichenebene kann für jeden Detaillierungsgrad des dreidimensionalen Modells erzeugt werden. Zusätzlich kann die transparente Zeichenebene für jeden Detaillierungsgrad räumlich in eine Vielzahl von raumbezogenen Datenobjekten aufgeteilt werden und in einem hierarchischen Datenstrukturbaum gespeichert werden.
  • Mit Bezug auf die Abbildungen werden Ausführungsbeispiele für die vorliegende Offenbarung nun detaillierter erörtert. 1 zeigt eine vereinfachte Darstellung eines dreidimensionalen Modells 110 einer Szene 100 im Sinne eines Ausführungsbeispiels der vorliegenden Offenbarung. Während 1 zum Zwecke der Darstellung und Erklärung eine zweidimensionale Darstellung des dreidimensionalen Modells verwendet, werden mit dem Gebiet vertraute Personen erkennen, dass zweidimensionale Darstellungen oft zur Darstellung dreidimensionaler Elemente dienen.
  • Das dreidimensionale Modell 110 kann einen geographischen Bereich darstellen. Zum Beispiel kann das dreidimensionale Modell 110 ein Modell eines geographischen Bereichs sein, der von einem Geo-Informationssystem bereitgestellt wurde, zum Beispiel der Kartenapplikation Google MapsTM oder durch die virtuelle Welt Google EarthTM von Google Inc. Auch andere geeignete, dreidimensionale Modelle können für das dreidimensionale Modell 110 herangezogen werden.
  • Das dreidimensionale Modell 110 kann ein Polygonnetz sein, beispielsweise ein Dreiecks- oder ein anderes Netz. Das Netz kann eine Vielzahl von Polygonen haben (z. B. Dreiecke), die für die Modellierung der Geometrie eines geographischen Bereichs benutzt werden. In einem Beispiel kann das dreidimensionale Modell 110 eine Stereorekonstruktion sein, die aus einem Luft- oder Satellitenbild erzeugt wurde. Das dreidimensionale Modell 110 kann Geländegeometrie 112 und Gebäudegeometrie 114 einschließen. Die Geländegeometrie 112 kann das Gelände des geographischen Bereichs modellieren. Die Gebäudegeometrie 114 kann Gebäude und andere Gegenstände im geographischen Bereich modellieren.
  • Vektordaten 140 (z. B. Text, Überlagerungen, Straßen usw.) werden in Verbindung mit dem dreidimensionalen Modell 110 gerendert. Genauer gesagt werden die Vektordaten 140 per Texture-Mapping auf eine glatte, transparente Zeichenebene 120 übertragen. Die glatte, transparente Zeichenebene 120 ist eine transparente Schicht (d. h. unsichtbare Schicht), welche die Oberfläche der Geländegeometrie 112 abdeckt. Genauer gesagt kann sich die glatte, transparente Zeichenebene 120 genau an die Oberfläche der Geländegeometrie 112 anpassen. In 1 stimmt die glatte, transparente Zeichenebene 120 nicht deckungsgleich mit den Oberflächen der Gebäudegeometrie 114 überein.
  • Die Geometrie der glatten, transparenten Zeichenebene 120 wurde zum Beispiel durch einen geeigneten Glättungsalgorithmus glatt gemacht (z. B. ein Gaußscher Glättungsalgorithmus), damit die glatte, transparente Zeichenebene 120 eine geeignete Oberfläche für das Texture-Mapping der Vektordaten 140 bietet. Beim Rendern des dreidimensionalen Modells 110 werden die Vektordaten 140 per Texture-Mapping auf die glatte, transparente Zeichenebene 120 übertragen, damit es so aussieht, als wären die Vektordaten 140 auf einer Oberfläche des dreidimensionalen Modells 110 verteilt, zum Beispiel entlang der Geländegeometrie 112 des dreidimensionalen Modells 110. Die Gebäudegeometrie 114 kann zumindest einen Teil der auf die glatte, transparente Zeichenebene 120 übertragenen Vektordaten 140 überdecken.
  • Das dreidimensionale Modell 110 kann von der Perspektive einer virtuellen Kamera 130 gerendert werden. Die virtuelle Kamera 130 definiert, welche dreidimensionalen Daten einem Benutzer anzuzeigen sind, zum Beispiel in einem Darstellungsfeld einer Benutzerschnittstelle eines Sichtgeräts. Ein Benutzer kann das dreidimensionale Modell 110 steuern, indem er die virtuelle Kamera 130 im Verhältnis zu dem dreidimensionalen Modell 110 steuert.
  • 2 zeigt eine Ansicht eines Teils des gerenderten dreidimensionalen Modells 110 in einem Darstellungsfeld 215 einer Benutzerschnittstelle 205 auf einem Anzeigegerät 210. Das dreidimensionale Modell 110 kann von der Perspektive der virtuellen Kamera 130 gezeigt werden, wie in 1 gezeigt wird. Das Anzeigegerät 210 kann ein Teil eines Beispielcomputers 200 sein. Das Computergerät 200 kann jeder geeignete Typ von Computer sein, wie zum Beispiel ein Universalcomputer, ein mobiles Gerät, Smartphone, Tablet-Computer, Laptop, Desktop oder ein anderes geeignetes Computergerät.
  • Wie gezeigt, liefert die Ansicht des dreidimensionalen Modells 110 eine Darstellung einer Szene 100, die einen geographischen Bereich zeigt. Das dreidimensionale Modell 110 schließt die Geländegeometrie 112 ein, die eine Darstellung des Geländes des geographischen Bereichs liefert. Das dreidimensionale Modell 110 schließt auch die Gebäudegeometrie 114 ein, die eine Darstellung eines Gebäudes im geographischen Bereich liefert.
  • Die Vektordaten 140 werden in Verbindung mit dem dreidimensionalen Modell 110 gerendert. Zu den Vektordaten 140 zählen Straßen-Overlays 142, welche die Positionen der Straßen im geographischen Bereich bildlich darstellen. Zu den Vektordaten 140 gehören weiterhin verschiedene Textanmerkungen 144, die in Verbindung mit dem dreidimensionalen Modell 110 stehen. Andere Vektordaten können in der Darstellung des geographischen Bereichs enthalten sein.
  • Die Vektordaten 140 werden per Texture-Mapping auf eine glatte, transparente Zeichenebene übertragen, die mit der Geländegeometrie 112 übereinstimmt. Teile der glatten, transparenten Zeichenebene, die keine Vektordaten enthalten, sind unsichtbar oder vollständig transparent. Für sich genommen ist die glatte, transparente Zeichenebene im Darstellungsfeld 215 bei der Darstellung des dreidimensionalen Modells 110 nicht sichtbar. Die mittels Texture-Mapping auf die glatte, transparente Zeichenebene übertragenen Vektordaten 140 scheinen sich jedoch nach dem Rendervorgang entlang der Oberfläche der Geländegeometrie 112 des dreidimensionalen Modells 110 zu verteilen.
  • Die glatte, transparente Zeichenebene kann durch Gebäudegeometrie 114 des dreidimensionalen Modells 110 verdeckt werden. Als eine Auswirkung können auch die per Texture-Mapping auf die glatte, transparente Zeichenebene übertragenen Vektordaten 140 durch die Gebäudegeometrie 114 verdeckt werden. Das wird in der 2 gezeigt, in der die Gebäudegeometrie 114 die Textanmerkung 144 und einen Teil des Straßen-Overlays 142 verdeckt, die durch Texture-Mapping auf die glatte, transparente Zeichenebene übertragen wurden.
  • 3 zeigt ein Flussdiagramm eines Beispielverfahrens (300) für das Rendern von Vektordaten im Zusammenhang mit einem dreidimensionalen Modell im Sinne eines Ausführungsbeispiels der vorliegenden Offenbarung. Das Verfahren (300) kann mit einem beliebigen geeigneten Rechnersystem implementiert werden, so auch mit dem System in der 6. Zusätzlich zeigen die Flussdiagramme der hier vorgestellten Verfahren die zu absolvierenden Schritte in einer bestimmten Abfolge zum Zwecke der Illustration und Erklärung. Ein Fachmann auf dem Gebiet, der die hier vorgestellte Offenbarung verwendet, wird erkennen, dass verschiedene Schritte der Verfahren weggelassen, neu angeordnet, kombiniert und/oder auf verschiedene Weise angepasst werden können.
  • In (302) gehört zu dem Verfahren die Anzeige eines Darstellungsfeldes einer Benutzerschnittstelle auf dem Display eines Computer-Geräts. Das Darstellungsfeld definiert einen Raum in der Benutzerschnittstelle für die Betrachtung und Steuerung eines dreidimensionalen Modells. Zum Beispiel zeigt 2 ein Darstellungsfeld 215 in einer Benutzerschnittstelle 205, mit dem der Benutzer geographische Bilder ansehen und steuern kann. Das Darstellungsfeld kann jede brauchbare Größe, Form oder Konfiguration in der Benutzerschnittstelle haben.
  • In (304) in 3 kann das Verfahren Benutzereingaben empfangen, über die eine bestimmte Ansicht des dreidimensionalen Modells angefordert wird. Die Benutzereingabe kann auf jede verwendbare Art gemacht werden, beispielsweise durch Berührung, Anklicken oder anderweitige Benutzerinteraktion. Die Benutzereingabe kann die Position einer virtuellen Kamera in Relation zum dreidimensionalen Modell steuern. Die virtuelle Kamera kann verwendet werden, um eine spezifische Ansicht zu konstruieren, die festlegt, welcher Teil des dreidimensionalen Modells als Reaktion auf die Benutzereingabe zu rendern ist.
  • Mit erneutem Bezug auf 3 kann bei (306) ein dreidimensionales Modell im Darstellungsfeld gerendert werden. Das dreidimensionale Modell kann beispielsweise in Übereinstimmung mit der Ansichtsspezifikation gerendert werden. Das dreidimensionale Modell kann eine Szene abbilden, zum Beispiel einen geographischen Bereich oder eine andere geeignete Szene. 2 zeigt beispielsweise ein dreidimensionales Modell 110 der gerenderten Szene 100 im Darstellungsfeld 215. Das dreidimensionale Modell 110 kann Geländegeometrie 112 und Gebäudegeometrie 114 einschließen.
  • In (308) in 3 wird eine glatte, transparente Zeichenebene zur Überlagerung von mindestens einer Oberfläche im dreidimensionalen Modell gerendert. Die glatte, transparente Zeichenebene kann zur Überlagerung einer jeden geeigneten Oberfläche gerendert werden. Im dreidimensionalen Modell 110 der 1 und 2 wird die glatte, transparente Zeichenebene 120 beispielsweise so gerendert, dass sie sich genau an die Oberflächen der Geländegeometrie 112 anpasst. Genauer gesagt stimmt die glatte, transparente Zeichenebene genau mit der Oberfläche der Geländegeometrie 112 überein.
  • In (310) in 3 werden die Vektordaten per Texture-Mapping auf die glatte, transparente Zeichenebene übertragen. Texture-Mapping ist ein Verfahren für die Zugabe von Details zu einem dreidimensionalen Modell, etwa eine Oberflächentextur oder eine Farbe. Die Übertragung der Vektordaten auf die transparente Zeichenebene mittels Texture-Mapping positioniert die Vektordaten auf der Oberfläche der transparenten Zeichenebene. Es gibt viele bekannte Techniken des Texture-Mappings von Daten auf die Oberfläche eines dreidimensionalen Modells. Jede geeignete Technik des Texture-Mappings kann verwendet werden, ohne vom Umfang der vorliegenden Offenbarung abzuweichen.
  • Weil die transparente Zeichenebene zur Überlagerung einer Oberfläche des dreidimensionalen Modells dient, führt das Texture-Mapping der Vektordaten auf die transparente Zeichenebene zu dem Eindruck, dass sich die Vektordaten scheinbar auf der Oberfläche des dreidimensionalen Modells befinden. So werden die Vektordaten 140 beispielsweise, wie in 2 gezeigt, per Texture-Mapping so auf die glatte, transparente Zeichenebene übertragen, dass sich die Vektordaten im Darstellungsfeld auf der Oberfläche des dreidimensionalen Modells 110 zu befinden scheinen. Genauer gesagt scheinen sich die Vektordaten 140 entlang der Oberfläche der Geländegeometrie 112 des dreidimensionalen Modells 110 zu verteilen. Die transparente Zeichenebene bleibt unsichtbar an den Stellen, die keine Vektordaten enthalten. So können zum Beispiel die Alpha-Werte für Teile der transparenten Zeichenebene gleich Null sein, so dass sie an den Stellen transparent bleibt, die keine Vektordaten enthalten.
  • Es können verschiedene Renderalgorithmen verwendet werden, um die Vektordaten in Verbindung mit dem dreidimensionalen Modell im Sinne der Beispielaspekte der vorliegenden Offenbarung zu rendern. Zum Beispiel kann in einer Ausführung die glatte, transparente Zeichenebene mit einem Tiefenversatz in Relation zur Oberfläche des dreidimensionalen Modells gerendert werden. Der Tiefenversatz kann Tiefenwerte für die transparente Zeichenebene zur Verfügung stellen, diese sind vor den Tiefenwerten positioniert, die der Oberfläche des dreidimensionalen Modells in einem Tiefenpuffer zugewiesen sind, der in Verbindung mit der Szene steht. Im Ergebnis kann die transparente Zeichenebene als Overlay für das dreidimensionale Modell gerendert werden.
  • Bei bestimmten Aspekten, bei denen das dreidimensionale Modell Geländegeometrie und Gebäudegeometrie einschließt, wie das dreidimensionale Modell 110 der 1 und 2, kann der Tiefenversatz für die transparente Zeichenebene in Relation zur Geländegeometrie zur Verfügung gestellt werden. Der Tiefenversatz für die transparente Zeichenebene wird nicht in Relation zur Gebäudegeometrie zur Verfügung gestellt. Infolgedessen können Tiefenwerte im Tiefenpuffer mit Verbindung zur Gebäudegeometrie, vor den Tiefenwerten der transparenten Zeichenebene positioniert sein. Auf diese Art kann die transparente Zeichenebene als Overlay für die Geländegeometrie gerendert werden, aber wird möglicherweise durch die Gebäudegeometrie während des Rendervorgangs der Szene verdeckt.
  • 4 zeigt ein Flussdiagramm eines anderen Beispielverfahrens (400) zum Rendern einer Szene gemäß einem Ausführungsbeispiel der vorliegenden Offenbarung. Das Beispielverfahren (400) in 4 ist besonders für Implementierungen mit Gelände- und Gebäudegeometrie geeignet. Das Verfahren (400) kann mit jedem geeigneten Computergerät umgesetzt werden, wie dem Client-Computing-Gerät 630 in 6.
  • In (402) schließt das Verfahren das Rendern der Gebäudegeometrie mit einem ersten Schablonenwert (z. B. Null) in einem Schablonenpuffer für Pixel in Verbindung mit der Gebäudegeometrie ein. In (404) wird die Geländegeometrie mit einem zweiten Schablonenwert (z. B. Eins) für Pixel in Verbindung mit der Geländegeometrie gerendert. Der Schablonenpuffer kann ein der Szene zugewiesener Extrapuffer sein, der zur Begrenzung des Renderbereichs verwendet werden kann.
  • Das Renderverfahren kann dann die Tiefenwerte im Tiefenpuffer für alle Pixel löschen, die in Verbindung zu dem zweiten Schablonenwert im Schablonenpuffer stehen. Der Tiefenpuffer (z. B. z-Puffer) kann benutzt werden, um Tiefenkoordinaten des Bildes während des Rendervorgangs zu managen. Das Löschen der Tiefenwerte für Pixel mit Verbindung zum zweiten Schablonenwert im Tiefenpuffer löscht im Wesentlichen den Tiefenpuffer für die Pixel, die der Geländegeometrie zugewiesen sind.
  • In einer Ausführung kann das Renderverfahren die Tiefenwerte im Tiefenpuffer löschen, indem ein Fullscreen Quad für die Pixel gerendert wird, die mit dem zweiten Schablonenwert verbunden sind (z. B. Pixel, die bei einem Schablonentest durchgefallen sind) mit den Optionen Depth Write ein – (z. B. z-write on) und Depth Test ausgeschaltet (z. B. z-test off) (406). Depth Write an (z. B. z-write on) ermöglicht die Speicherung von Tiefenwerten im Schablonenpuffer. Depth Test off (z. B. z-test off) zeigt an, dass vor dem Speichern der Tiefenwerte im Schablonenpuffer kein Tiefenvergleich durchgeführt wird. Mit anderen Worten, die Tiefenwerte werden für die Pixel im Schablonenpuffer gespeichert, die dem zweiten Schablonenwert im Schablonenpuffer zugewiesen sind, unabhängig von den bereits im Tiefenpuffer gespeicherten Tiefenwerten. Diese Technik kann verwendet werden, um den maximalen Tiefenwert im Tiefenpuffer für die Pixel zu speichern, die dem zweiten Schablonenwert im Schablonenpuffer zugewiesen sind, praktisch werden also alle Pixelwerte gelöscht, die der Gebäudegeometrie zugewiesen sind.
  • In (408) wird die transparente Zeichenebene mit Depth Write an (z. B. z-write on) und Depth Test an (z. B. z-test on) gerendert. Depth Test an (z. B. z-test on) ermöglicht das Speichern von Tiefenwerten in Teile des Tiefenpuffers, die einen Tiefentest bestanden haben (z. B. werden nur Tiefenwerte gespeichert, die vor bestehenden Tiefenwerten im Tiefenpuffer stehen). Weil der Tiefenpuffer in Bezug auf die Pixel, die mit der Geländegeometrie in Verbindung stehen gelöscht wurde, wird die transparente Zeichenebene vor der Geländegeometrie gerendert. Der Tiefenpuffer wurde in Bezug auf die mit der Gebäudegeometrie verbundenen Pixel nicht gelöscht. Infolgedessen kann die transparente Zeichenebene vor oder hinter der Gebäudegeometrie in Abhängigkeit von den Tiefenwerten gerendert werden, die der transparenten Zeichenebene und der Gebäudegeometrie zugewiesen sind.
  • In (410) findet das Texture-Mapping der Vektordaten auf die transparente Zeichenebene statt. Die Abschnitte der transparenten Zeichenebene, die keine Vektordaten enthalten, können mit einem Alpha-Werte von Null gerendert werden, so dass diese Stellen der transparenten Zeichenebene transparent bleiben. Das Texture-Mapping der Vektordaten rendert diese auf eine Art, dass der Eindruck entsteht, die Vektordaten würden sich auf der Oberfläche des dreidimensionalen Modells befinden.
  • 5 zeigt ein Flussdiagramm für ein Beispielverfahren (500) zur Erzeugung einer glatten, transparenten Zeichenebene im Sinne eines Ausführungsbeispiels der vorliegenden Offenbarung. Das Beispielverfahren (500) kann mit einem beliebigen geeigneten Rechnersystem implementiert werden, so auch mit dem Server 610 in der 6.
  • In (502) in 5 wird auf die einem dreidimensionalen Modell zugewiesenen Daten zugegriffen. Das dreidimensionale Modell kann eine Stereorekonstruktion sein, die aus einem Luft- oder Satellitenbild von einem geographischen Bereich erzeugt wurde. Die Bilder können von Kameras in Draufsicht mit verschiedenen Perspektiven in Sachen Schräge oder Tiefpunkt aufgenommen werden. Im Bild werden Merkmale erkannt und miteinander korreliert. Die Punkte können für die Erstellung des Polygonnetzes aus den Bildern verwendet werden. Das dreidimensionale Modell kann Geländegeometrie und Gebäudegeometrie enthalten. Bei bestimmten Umsetzungen kann das dreidimensionale Modell als Höhenfeld dargestellt werden. Jeder Pixel in einem Höhenfeld kann einen Wert haben, der eine Höhe des dreidimensionalen Modells bei diesem Pixel angibt.
  • In (504) wird die Geländegeometrie aus dem dreidimensionalen Modell extrahiert. Zur Extraktion der Geländegeometrie aus dem dreidimensionalen Modell kann jede geeignete Technik verwendet werden. Zum Beispiel können bei einer Umsetzung Teile des dreidimensionalen Modells entweder als Geländegeometrie oder als Nicht-Geländegeometrie eingestuft werden. Nicht-Geländegeometrie kann gekennzeichnet werden, indem man ein Resampling des Modells bei einer höheren Auflösung durchführt. Ein Tiefpassfilter kann dann über das Modell laufen gelassen werden. Das gefilterte Resultat kann von den Daten des Resamplings subtrahiert werden, um nur die Hochpassdaten zu extrahieren. Die Teile der Hochpassdaten, die eine vorbestimmte Schwelle übersteigen, können als Nicht-Geländegeometrie eingestuft werden. Die Nicht-Geländegeometrie kann im dreidimensionalen Modell für ungültig erklärt werden, um die Geländegeometrie aus dem dreidimensionalen Modell zu extrahieren. Die Geländegeometrie kann als Geländehöhenfeld dargestellt werden.
  • In (506) wird die Geländegeometrie mit einem geeigneten Glättungsalgorithmus zum Erhalt eines harmonischen Geländebildes geglättet. Die Geländegeometrie kann aggressiv mittels einfachen Glättungsalgorithmen für den Bildraum geglättet werden, beispielsweise mit den Gauß'schen Glättungsalgorithmen. Die geglättete Geländegeometrie kann als geglättetes Geländehöhenfeld dargestellt werden. In (508) wird die glatte, transparente Zeichenebene aus der geglätteten Geländegeometrie erzeugt. Zum Beispiel kann das geglättete Geländehöhenfeld mit einem Netzalgorithmus verarbeitet werden auf (z. B. dem Marching Cubes Algorithmus) um ein Netz für die glatte, transparente Zeichenebene zu erzeugen.
  • In (510) wird die glatte, transparente Zeichenebene räumlich in eine Vielzahl von separaten raumbezogenen Datenobjekten unterteilt (z. B. separate Körper oder Kacheln). Jedes raumbezogene Datenobjekt kann die Daten speichern, die mit dem Teil der transparenten Zeichenebene im raumbezogenen Umfang zugewiesen sind, der durch die raumbezogenen Datenobjekte definiert wird. Die separaten raumbezogenen Datenobjekte können dann in einer hierarchischen Baumstruktur, beispielsweise einem QuadTree oder OcTree (512) gespeichert werden. Das Verfahren (500) in 5 kann für jeden Detaillierungsgrad des dreidimensionalen Modells durchgeführt werden, damit für jeden dieser Grade eine andere transparente Zeichenebene des dreidimensionalen Modells erzeugt werden kann.
  • 6 zeigt ein Beispiel für ein Computersystem 600, das verwendet werden kann, um die Verfahren und Systeme zum Verschmelzen dreidimensionaler Modelle im Sinne von Beispielaspekten der vorliegenden Offenbarung zu implementieren. Das System 600 ist eine Client-Server-Architektur bei der der Server 610 über ein Netzwerk 630 mit einem oder mehreren Clientgerät(en) 650 kommuniziert. Das System 600 kann auch mit anderen geeigneten Architekturen implementiert werden.
  • Das System 600 enthält ein Computergerät 610. Das Computergerät 610 kann jede geeignete Maschine sein, die automatisch Berechnungen durchführen kann. Zum Beispiel kann das Computergerät ein Universalcomputer sein, ein spezieller Computer, ein Laptop, Desktop, eine integrierte Schaltung, ein Mobilgerät, Smartphone, Tablet oder ein anderer geeigneter Rechner. Das Computergerät 610 kann einen oder mehrere Prozessor(en) 612 und einen Speicher 614 umfassen. Das Computergerät 610 kann auch eine Netzwerkschnittstelle beinhalten, um mit einem oder mehreren entfernten Computergerät(en) (z. B. Clientgeräten) 630 über das Netzwerk 650 zu kommunizieren. In einem Umsetzungsbeispiel kann das Computergerät 610 ein Server sein, wie zum Beispiel ein Webserver für das Hosting eines Geo-Informationssystems, wie etwa Google MapsTM und/oder Google EarthTM, die von Google Inc. bereitgestellt werden.
  • Beim Prozessor (den Prozessoren) 612 kann es sich um jedes geeignete Modell handeln, etwa einen Mikroprozessor, Mikrocontroller, eine integrierte Schaltung oder eine anderes geeignetes Modell zur Datenverarbeitung. Der Speicher 614 kann jedes geeignete computerlesbare Medium oder Medien umfassen, einschließlich unter anderem dauerhafte computerlesbare Medien, RAM, ROM, Festplattenlaufwerke, Flash-Laufwerke oder andere Speichergeräte. Der Speicher 614 kann die vom Prozessor (von den Prozessoren) 612 zugänglichen Informationen speichern, die unter anderem auch Anweisungen 616 umfassen, die von dem Prozessor (von den Prozessoren) 612 ausgeführt werden können. Bei den Anweisungen 616 kann es sich um jede beliebige Menge von Anweisungen handeln, die, wenn sie von dem/den Prozessor(en) 612 ausgeführt werden, den/die Prozessor(en) 612 veranlassen, die gewünschte Funktionalität bereitzustellen. Die Anweisungen 616 können zum Beispiel von dem oder den Prozessor(en) 612 ausgeführt werden, um ein je ein Modul für die Zeichenebene 618 (Draping Layer) und die Objektaufspaltung 620 (Chopper) zu implementieren.
  • Das Modul für die Zeichenebene 618 kann zur Erzeugung einer glatten, transparenten Zeichenebene im Sinne der Beispielaspekte der vorliegenden Offenbarung genutzt werden. Zum Beispiel kann Modul für die Zeichenebene 618 dafür ausgelegt sein, Zugang zu einem dreidimensionalen Modell zu erhalten und aus diesem die Geländegeometrie zu extrahieren. Das Modul für die Zeichenebene 618 kann dafür ausgelegt sein, die Geländegeometrie mit einem geeigneten Glättungsalgorithmus zu glätten, um ein harmonisches Geländebild zu erhalten. Das Modul für die Zeichenebene 618 kann dann aus der glatten Geländegeometrie die transparente Zeichenebene erzeugen, beispielsweise mit einem geeigneten Meshing-Algorithmus. Das Modul für die Zeichenebene 618 kann für jeden Detaillierungsgrad des dreidimensionalen Modells eine transparente Zeichenebene erzeugen.
  • Das Chopper-Modul 620 kann die transparente Zeichenebene für jeden Detaillierungsgrad in eine Vielzahl von raumbezogenen Datenobjekten aufspalten (z. B. separate räumliche Körper oder Kacheln). Das Chopper-Modul 620 kann dann die separaten raumbezogenen Datenobjekte in einer hierarchischen Baumstruktur im Speicher 614 ablegen.
  • Es versteht sich von selbst, dass der Begriff „Modul” sich auf eine Computerlogik bezieht, die verwendet wird, um die erwünschte Funktionalität bereitzustellen. Somit kann ein Modul in Hardware, anwendungsspezifischen Schaltungen, Firmware und/oder Software implementiert werden, mittels der/denen ein Universalprozessor gesteuert wird. In einer Ausführungsform sind Module Programmcodedateien, die auf einer Speichervorrichtung gespeichert, auf einen Speicher geladen und von einem Prozessor ausgeführt werden, oder die von Computerprogrammprodukten wie etwa computerausführbaren Anweisungen bereitgestellt werden können, die auf einem physisch greifbaren rechnerlesbaren Speichermedium, wie etwa RAM, einer Festplatte, oder einem optischen oder magnetischen Datenträger gespeichert werden können.
  • Der Speicher 614 kann außerdem Daten 622 enthalten, die von dem/den Prozessor(en) 612 abgerufen, bearbeitet, erstellt oder gespeichert werden können. Zum Beispiel kann der Speicher 614 die Daten 622 speichern, die mit dem dreidimensionalen Modell und der hierarchischen Baumstruktur verbunden sind. Die Daten 622 können in einer oder mehreren Datenbank(en) gespeichert werden. Diese Datenbank(en) kann/können mit dem Computergerät 610 über ein LAN oder WAN mit hoher Bandbreite verbunden sein, oder aber mit dem Computergerät 610 über ein Netzwerk 650 verbunden sein. Die Datenbank(en) kann/können so aufgeteilt sein, dass sie sich an mehreren Orten befinden.
  • Das Computergerät 610 kann Daten mit einem oder mehreren Client-Geräten 630 über das Netzwerk 650 austauschen. Obgleich in 4 lediglich 2 Clients 630 abgebildet sind, kann eine beliebige Zahl von Clients 630 über das Netz 650 mit dem Computergerät 610 in Verbindung stehen. Jedes der Clientgeräte 630 kann ein beliebiger geeigneter Typ von Computergerät sein, wie ein Universalcomputer, spezieller Computer, Laptop, Desktop, ein mobiles Gerät, Smartphone, Tablet oder ein anderes geeignetes Computergerät.
  • Ähnlich wie beim Computergerät 610 enthält das Clientgerät 630 Prozessor(en) 632 und Speicher 634. Der Speicher 634 kann Informationen für den/die Prozessor(en) 632 zugänglich speichern, einschließlich vom Prozessor (von den Prozessoren) 632 ausführbare Anweisungen 636 und Daten 638. Bei den Anweisungen 636 kann es sich um jede beliebige Reihe von Anweisungen handeln, die bei Ausführung durch den/die Prozessor(en) 632 erwirken, dass die gewünschte Funktionalität des/der Prozessor(en) 632 bereitgestellt wird. Die Anweisungen 636 können zum Beispiel von dem oder den Prozessor(en) 632 ausgeführt werden, um je ein Modul für die Benutzerschnittstelle und den Rendervorgang zu implementieren.
  • Das Benutzerschnittstellenmodul kann für die Anzeige eines Darstellungsfeldes innerhalb der Benutzerschnittstelle auf einem Anzeigegerät 640 konfiguriert werden. Das Rendermodul kann im Rahmen der Beispielverfahren für das Rendern von Vektordaten in Verbindung mit dreidimensionalen Modellen der vorliegenden Offenbarung für das Rendern der Vektordaten in Verbindung mit dem dreidimensionalen Modell im Darstellungsfeld ausgelegt sein. Zum Beispiel kann das Rendermodul dafür konfiguriert sein, das dreidimensionale Modell im Darstellungsfeld zu rendern und dann eine transparente Zeichenebene als Overlay auf das dreidimensionale Modell zu übertragen. Das Rendermodul kann weiterhin dafür ausgelegt sein, Vektordaten per Texture-Mapping in einer Art auf die transparente Zeichenebene zu übertragen, dass sich die Vektordaten auf der Oberfläche des dreidimensionalen Modells zu befinden scheinen.
  • Als Reaktion auf eine Anforderung von Information, kann das Computergerät 610 Daten in eine oder mehrere Datei(en) kodieren und diese über das Netzwerk 650 an die Clientgeräte 630 liefern. Beim Netzwerk 650 kann es sich um jede Art von Kommunikationsnetz handeln, wie etwa eine lokales Netzwerk (z. B. Intranet), ein Wide Area Network (z. B. Internet) oder eine Kombination aus diesen. Das Netzwerk 650 kann auch über eine direkte Verbindung zwischen einem Clientgerät 630 und dem Computergerät 610 verfügen. Generell kann die Kommunikation zwischen dem Computergerät 610 und einem Clientgerät 430 über einen Netzwerkanschluss unter Verwendung von beliebigen verdrahteten und/oder drahtlosen Verbindungsarten und Protokollen (z. B. TCP/IP, HTTP, SMTP, FTP), Kodierungen oder Formaten (z. B. HTML, XML) und/oder Schutzschemata (z. B. VPN, sicheres HTTP, SSL) stattfinden.
  • Auch wenn die vorliegende Thematik bezogen auf spezifische Umsetzungsbeispiele und Verfahren detailliert beschrieben wurde, sollte klar sein, dass Fachleute nach Erhalt eines Überblicks umgehend und ohne Problem Änderungen an, Varianten von und Äquivalente für solche(n) Ausführungsformen schaffen können. Demgemäß ist der Umfang der vorliegenden Offenlegung nur beispielhaft und nicht begrenzend, und die betroffene Offenbarung schließt die Einbeziehung solcher Modifizierungen, Varianten und/oder Hinzufügungen des vorliegenden Gegenstands nicht aus, die für den Fachmann problemlos offensichtlich sind.

Claims (20)

  1. Computersystem für das Rendern von Vektordaten im Zusammenhang mit einem dreidimensionalen Modell eines geographischen Bereichs, wobei das System einen Prozessor und ein Anzeigegerät umfasst, wobei der Prozessor für das Implementieren von einem oder mehreren der folgenden Module konfiguriert ist: ein durch den Prozessor implementiertes Benutzerschnittstellenmodul, das dafür ausgelegt ist, ein Darstellungsfeld in einer Benutzerschnittstelle auf dem Anzeigegerät darzustellen; und ein durch den Prozessor implementiertes Rendermodul, worin das Modul für das Rendern des dreidimensionalen Modells im Darstellungsfeld, sowie der transparenten Zeichenebene als Overlay für das dreidimensionale Modell ausgelegt ist; worin das Rendermodul des Weiteren so konfiguriert sein kann, dass die Vektordaten per Texture-Mapping in einer Art auf die transparente Zeichenebene übertragen werden, dass sich die Vektordaten auf der Oberfläche des dreidimensionalen Modells zu befinden scheinen.
  2. Computersystem nach Anspruch 1, worin das dreidimensionale Modell die Geländegeometrie umfasst, die das Gelände eines geographischen Bereichs darstellt, und die Gebäudegeometrie umfasst, die eine Ansicht von einem oder mehreren Gebäude(n) im geographischen Bereich liefert.
  3. Computersystem nach Anspruch 2, worin sich die transparente Zeichenebene genau an die Geländegeometrie anpasst.
  4. Computersystem nach Anspruch 2, worin die Vektordaten durch die Gebäudegeometrie verdeckt werden können, wenn sie per Texture-Mapping auf die transparente Zeichenebene übertragen werden.
  5. Nicht-flüchtiges maschinell lesbares Medium zum Speichern maschinell lesbarer Anweisungen für die Ausführung durch einen oder mehrere Prozessor(en), die bei der Ausführung durch einen oder mehrere Prozessor(en), veranlassen, dass Operationen zum Rendern von Vektordaten bezogen auf ein dreidimensionales Modell eines geographischen Bereichs durchgeführt werden, wobei das dreidimensionale Modell eine Geländegeometrie umfasst, die dem Gelände des geographischen Bereichs zugewiesen ist, sowie eine Gebäudegeometrie, die dem einen oder den mehreren Gebäude(n) im geographischen Bereich zugewiesen ist, wobei die Operationen Folgendes umfassen: das Anzeigen eines Darstellungsfeldes einer Benutzerschnittstelle auf einem Anzeigegerät; das Rendern des dreidimensionalen Modells im Darstellungsfeld; das Rendern einer transparenten Zeichenebene, die mit der Geländegeometrie des dreidimensionalen Modells übereinstimmt; und Texture-Mapping der Vektordaten auf die transparente Zeichenebene auf eine Art, dass im Darstellungsfeld der Eindruck entsteht, die Vektordaten würden sich auf der Oberfläche des dreidimensionalen Modells befinden, die Vektordaten sind zumindest teilweise durch die Gebäudegeometrie des dreidimensionalen Modells verdeckt.
  6. Nicht-flüchtiges maschinell lesbares Medium nach Anspruch 5, worin der Rendervorgang des dreidimensionalen Modells im Darstellungsfeld Folgendes umfasst: das Rendern der Gebäudegeometrie im Darstellungsfeld mit einem ersten Schablonenwert in einem Schablonenpuffer für Pixel in Verbindung mit der Gebäudegeometrie; das Rendern der Geländegeometrie im Darstellungsfeld mit einem zweiten Schablonenwert in einem Schablonenpuffer für Pixel in Verbindung mit der Gebäudegeometrie; und das Löschen der Pixel aus einem Tiefenpuffer, die dem zweiten Schablonenwert im Schablonenpuffer zugewiesen sind; worin die transparente Zeichenebene nach dem Löschen des Tiefenpuffers mit den Optionen Depth Write und Depth Test auf ON gerendert wird.
  7. Computersystem für das Rendern von Vektordaten, bezogen auf ein dreidimensionales Modell eines geographischen Bereichs, das System umfassend einen Prozessor und ein Anzeigegerät, wobei der Prozessor für das Implementieren von einem oder mehreren der folgenden Module zum Ausführen eines Verfahrens beansprucht, konfiguriert ist, wobei die Module Folgendes umfassen: ein durch den Prozessor implementiertes Benutzerschnittstellenmodul, das dafür ausgelegt ist, ein Darstellungsfeld in einer Benutzerschnittstelle auf dem Anzeigegerät darzustellen; und ein durch den Prozessor implementiertes Rendermodul, worin das Modul für das Rendern des dreidimensionalen Modells im Darstellungsfeld, sowie der transparenten Zeichenebene als Overlay für das dreidimensionale Modell ausgelegt ist; worin das Rendermodul des Weiteren so konfiguriert sein kann, dass die Vektordaten per Texture-Mapping in einer Art auf die transparente Zeichenebene übertragen werden, dass sich die Vektordaten auf der Oberfläche des dreidimensionalen Modells zu befinden scheinen.
  8. Von zumindest einem Prozessor auszuführendes Programm zum Umsetzen eines Verfahrens zum Rendern von Vektordaten in Verbindung mit einem dreidimensionalen Modell, umfassend: das Anzeigen eines Darstellungsfeldes einer Benutzerschnittstelle auf einem Anzeigegerät; das Rendern des dreidimensionalen Modells im Darstellungsfeld; das Rendern einer transparenten Zeichenebene als Overlay für das dreidimensionale Modell; und Texture-Mapping der Vektordaten auf die transparente Zeichenebene auf eine Art, dass im Darstellungsfeld der Eindruck entsteht, die Vektordaten würden sich auf der Oberfläche des dreidimensionalen Modells befinden.
  9. Programm nach Anspruch 8, worin sich die transparente Zeichenebene genau an eine Oberfläche des dreidimensionalen Modells anpasst.
  10. Programm nach Anspruch 8 oder 9, worin die transparente Zeichenebene zumindest teilweise auf einem Glättungsalgorithmus basierend erzeugt wurde.
  11. Programm nach irgendeinem der Ansprüche 8 bis 10, worin das dreidimensionale Modell die Geländegeometrie enthält, die das Gelände eines geographischen Bereichs darstellt, sowie die Gebäudegeometrie, die eine Ansicht von einem oder mehreren Gebäude(n) im geographischen Bereich liefert.
  12. Programm nach Anspruch 11, worin die transparente Zeichenebene sich als Overlay auf die Geländegeometrie legt.
  13. Programm nach Anspruch 11, worin das Rendern der transparenten Zeichenebene den Rendervorgang der transparenten Zeichenebene mit einem Tiefenversatz im Verhältnis zur Geländegeometrie einschließt.
  14. Programm nach Anspruch 11, worin die Vektordaten durch die Gebäudegeometrie verdeckt werden können, wenn sie per Texture-Mapping auf die transparente Zeichenebene übertragen werden.
  15. Programm nach Anspruch 14, worin zum Rendervorgang des dreidimensionalen Modells im Darstellungsfeld gehört: Rendern der Gebäudegeometrie im Darstellungsfeld mit einem ersten Schablonenwert in einem Schablonenpuffer für Pixel in Verbindung mit der Gebäudegeometrie; das Rendern der Geländegeometrie im Darstellungsfeld mit einem zweiten Schablonenwert in einem Schablonenpuffer für Pixel in Verbindung mit der Gebäudegeometrie; und das Löschen von Pixeln aus einem Tiefenpuffer, die dem zweiten Schablonenwert im Schablonenpuffer zugewiesen sind.
  16. Programm nach Anspruch 15, worin das Löschen der Pixel aus dem Tiefenpuffer, die dem zweiten Schablonenwert zugewiesen sind, das Speichern eines maximalen Tiefenwerts mit den Optionen Depth Write und Depth Test auf OFF im Tiefenpuffer für alle Pixel enthält, die dem zweiten Schablonenwert zugewiesen sind.
  17. Programm nach irgendeinem der Ansprüche 11 bis 16, worin das Rendern der transparenten Zeichenebene den Rendervorgang der transparenten mit der Option Depth Test auf ON einschließt.
  18. Programm nach irgendeinem der Ansprüche 11 bis 17, worin ein Alphawert Null ist, der mit einem Teil der transparenten Zeichenebene verbunden ist, der keine Vektordaten enthält.
  19. Programm nach irgendeinem der Ansprüche 11 bis 18, worin zu den Vektordaten Textdaten, Straßendaten oder Overlays gehören.
  20. Programm nach irgendeinem der Ansprüche 11 bis 19, worin das dreidimensionale Modell eine Stereorekonstruktion ist.
DE202014010917.6U 2013-03-14 2014-03-11 Glatte Zeichenebene für das Rendern von Vektordaten komplexer dreidimensionaler Objekte Expired - Lifetime DE202014010917U1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US13/827,964 US10181214B2 (en) 2013-03-14 2013-03-14 Smooth draping layer for rendering vector data on complex three dimensional objects
US13/827,964 2013-03-14

Publications (1)

Publication Number Publication Date
DE202014010917U1 true DE202014010917U1 (de) 2017-01-17

Family

ID=51525384

Family Applications (1)

Application Number Title Priority Date Filing Date
DE202014010917.6U Expired - Lifetime DE202014010917U1 (de) 2013-03-14 2014-03-11 Glatte Zeichenebene für das Rendern von Vektordaten komplexer dreidimensionaler Objekte

Country Status (6)

Country Link
US (3) US10181214B2 (de)
EP (2) EP2972723B1 (de)
CN (1) CN105122311B (de)
AU (1) AU2014240990B2 (de)
DE (1) DE202014010917U1 (de)
WO (1) WO2014159342A1 (de)

Families Citing this family (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10181214B2 (en) * 2013-03-14 2019-01-15 Google Llc Smooth draping layer for rendering vector data on complex three dimensional objects
JP6087185B2 (ja) * 2013-03-25 2017-03-01 株式会社ジオ技術研究所 3次元地図表示システム
JP5997640B2 (ja) * 2013-03-25 2016-09-28 株式会社ジオ技術研究所 3次元画像出力装置および背景画像生成装置
US9164651B2 (en) * 2013-04-11 2015-10-20 Google Inc. Management of geographic data layers in a geographic information system
US9779544B2 (en) 2014-12-23 2017-10-03 Google Inc. Labeling for three-dimensional occluded shapes
US10475234B2 (en) * 2015-07-15 2019-11-12 George Mason University Multi-stage method of generating 3D civil site surveys
US9693049B2 (en) * 2015-08-28 2017-06-27 Christie Digital Systems Usa, Inc. Projection mapping video pipeline
US20170213383A1 (en) * 2016-01-27 2017-07-27 Microsoft Technology Licensing, Llc Displaying Geographic Data on an Image Taken at an Oblique Angle
CN107369200B (zh) * 2017-07-04 2021-07-16 福建星网视易信息***有限公司 一种3d场景特效处理方法及存储设备
CN107689189B (zh) * 2017-08-31 2019-09-27 城市生活(北京)资讯有限公司 一种三维电子地图的绘制方法及装置
US11004253B2 (en) * 2019-02-21 2021-05-11 Electronic Arts Inc. Systems and methods for texture-space ray tracing of transparent and translucent objects
US10964201B1 (en) * 2019-09-27 2021-03-30 The Travelers Indemnity Company Wildfire defender
US11816975B2 (en) 2019-09-27 2023-11-14 The Travelers Indemnity Company Wildfire defender
US11468629B2 (en) 2020-04-03 2022-10-11 Qualcomm Incorporated Methods and apparatus for handling occlusions in split rendering
CN111583370B (zh) * 2020-04-29 2021-04-16 北京房江湖科技有限公司 画面更新方法、装置、计算机可读存储介质及电子设备
CN111813469B (zh) * 2020-05-21 2024-05-31 摩拜(北京)信息技术有限公司 信息显示方法及终端设备
US11403803B2 (en) 2020-06-26 2022-08-02 Imagination Technologies Limited Hierarchical acceleration structures for use in ray tracing systems
CN114565722A (zh) * 2022-03-02 2022-05-31 山东瑞智飞控科技有限公司 一种三维模型单体化实现方法
CN116450764B (zh) * 2023-06-15 2023-08-11 深圳市易图资讯股份有限公司 一种地理信息***及数据处理方法

Family Cites Families (28)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6301496B1 (en) * 1998-07-24 2001-10-09 Biosense, Inc. Vector mapping of three-dimensionally reconstructed intrabody organs and method of display
US6668080B1 (en) * 1999-09-21 2003-12-23 Microsoft Corporation Automated layer extraction and pixel assignment from image sequences
US6856323B2 (en) * 2001-04-09 2005-02-15 Weather Central, Inc. Layered image rendering
US6894695B2 (en) * 2001-04-27 2005-05-17 National Semiconductor Corporation Apparatus and method for acceleration of 2D vector graphics using 3D graphics hardware
US6903741B2 (en) * 2001-12-13 2005-06-07 Crytek Gmbh Method, computer program product and system for rendering soft shadows in a frame representing a 3D-scene
US6747657B2 (en) 2001-12-31 2004-06-08 Intel Corporation Depth write disable for zone rendering
US20060020431A1 (en) * 2004-05-11 2006-01-26 Peter Gipps Path determination system for transport system
US7505036B1 (en) * 2004-07-30 2009-03-17 3Dlabs Inc. Ltd. Order-independent 3D graphics binning architecture
US20060203010A1 (en) 2005-03-14 2006-09-14 Kirchner Peter D Real-time rendering of embedded transparent geometry in volumes on commodity graphics processing units
US9274765B2 (en) * 2005-05-12 2016-03-01 Drawing Management, Inc. Spatial graphical user interface and method for using the same
US20080082549A1 (en) * 2006-10-02 2008-04-03 Vic Baker Multi-Dimensional Web-Enabled Data Viewer
US8169442B2 (en) 2007-12-27 2012-05-01 Stmicroelectronics S.R.L. Graphic system comprising a fragment graphic module and relative rendering method
US20090193327A1 (en) * 2008-01-30 2009-07-30 Microsoft Corporation High-fidelity scalable annotations
US8311287B2 (en) 2008-09-25 2012-11-13 Microsoft Corporation Validation and correction of map data using oblique images
US8514238B2 (en) * 2008-11-21 2013-08-20 Adobe Systems Incorporated System and method for adding vector textures to vector graphics images
CN102099834A (zh) 2009-05-21 2011-06-15 松下电器产业株式会社 图形描绘装置、图形描绘方法、图形描绘程序、记录了图形描绘程序的记录介质、图形描绘用集成电路
US8159524B2 (en) 2009-11-09 2012-04-17 Google Inc. Orthorectifying stitched oblique imagery to a nadir view, and applications thereof
IL202460A (en) * 2009-12-01 2013-08-29 Rafael Advanced Defense Sys Method and system for creating a 3D view of real arena for military planning and operations
US9042636B2 (en) * 2009-12-31 2015-05-26 Disney Enterprises, Inc. Apparatus and method for indicating depth of one or more pixels of a stereoscopic 3-D image comprised from a plurality of 2-D layers
US8670606B2 (en) * 2010-01-18 2014-03-11 Disney Enterprises, Inc. System and method for calculating an optimization for a facial reconstruction based on photometric and surface consistency
US8611670B2 (en) 2010-02-25 2013-12-17 The Board Of Trustees Of The Leland Stanford Junior University Intelligent part identification for use with scene characterization or motion capture
US8645012B2 (en) 2010-08-20 2014-02-04 Johnson Outdoors Inc. System and method for automatically navigating a depth contour
US8711170B2 (en) 2011-02-14 2014-04-29 Apple Inc. Edge alphas for image translation
US8913300B2 (en) * 2011-10-04 2014-12-16 Google Inc. Occlusion of vector image data
WO2014110502A1 (en) * 2013-01-11 2014-07-17 The Regents Of The University Of Michigan Monitoring proximity of objects at construction jobsites via three-dimensional virtuality in real-time
US9454843B2 (en) * 2013-02-05 2016-09-27 Nvidia Corporation Modulated and blended anti-aliasing
US9165409B2 (en) * 2013-02-15 2015-10-20 Micro*D, Inc. System and method for creating a database for generating product visualizations
US10181214B2 (en) * 2013-03-14 2019-01-15 Google Llc Smooth draping layer for rendering vector data on complex three dimensional objects

Also Published As

Publication number Publication date
WO2014159342A1 (en) 2014-10-02
EP3654158B1 (de) 2021-05-05
US20200134903A1 (en) 2020-04-30
AU2014240990A1 (en) 2015-09-24
EP2972723B1 (de) 2020-01-22
US10984582B2 (en) 2021-04-20
CN105122311A (zh) 2015-12-02
EP2972723A1 (de) 2016-01-20
CN105122311B (zh) 2019-04-26
US10593098B2 (en) 2020-03-17
EP3654158A1 (de) 2020-05-20
US20140267257A1 (en) 2014-09-18
AU2014240990B2 (en) 2019-12-12
US10181214B2 (en) 2019-01-15
US20190147636A1 (en) 2019-05-16
EP2972723A4 (de) 2016-11-23

Similar Documents

Publication Publication Date Title
DE202014010917U1 (de) Glatte Zeichenebene für das Rendern von Vektordaten komplexer dreidimensionaler Objekte
DE102007045835B4 (de) Verfahren und Vorrichtung zum Darstellen eines virtuellen Objekts in einer realen Umgebung
DE102007045834B4 (de) Verfahren und Vorrichtung zum Darstellen eines virtuellen Objekts in einer realen Umgebung
DE3689271T2 (de) Verfahren zur Bildanzeige.
DE202011110887U1 (de) Wiedergeben und navigieren fotografischer Panoramen mit Tiefeninformationen in einem geographischen Informationssystem
DE202014010937U1 (de) Überlagerung zweidimensionaler Kartendaten auf einer dreidimensionalen Szene
DE112018000332T5 (de) Dichtes visuelles slam mit probabilistic-surfel-map
DE202014010843U1 (de) Ausrichten von bodenbasierten Bildern mit Luftbildern
DE202012013456U1 (de) Neuordnung überlagerter digitaler Bilddaten und zugehörige Rendering-Engine für digitale Bilder
DE202015009138U1 (de) Indexierte Einheitsgrößenparameter für Strichwiedergabe
DE102019204242A1 (de) Verfahren und System zum effizienten Rendern von Wolkenwitterungseinflussgrafiken in dreidimensionalen Karten
DE202015009166U1 (de) System zur Bereitstellung individualisierter, mobiler Asset-Anwendungen
EP2923333B1 (de) Verfahren zum automatischen erstellen von zwei- oder dreidimensionalen gebäudemodellen
EP2406769B1 (de) Verfahren und vorrichtung zur reduktion des speicherbedarfs bei der bestimmung von disparitätswerten für mindestens zwei stereoskopisch aufgenommene bilder
DE202014010927U1 (de) Referenzpunktidentifizierung aus Punktwolken, die aus geografischen Bilddaten erstellt werden
DE102004007835A1 (de) Vorrichtung zur Darstellung von dynamischen komplexen Szenen
DE102015009820A1 (de) Bildsegmentierung für eine Kamera-Liveeinspielung
DE202012013450U1 (de) Beschriftungspositionierbildwiedergabesystem zur Reduzierung des Kriechens bei Zoom-Aktivitäten
DE102012210521A1 (de) Unbeschnittene Zeit- und Linsen-Begrenzungen für verbesserte Probentest- Effizienz bei Bild-Rendering
EP2747032A1 (de) Verfahren zur fotorealistischen Visualisierung von einem dreidimensionalen Gelände-Datensatz in Echtzeit
DE102008050449A1 (de) Clipping Geometrien beim Raycasting
DE112020000590T5 (de) Karte und verfahren zum erstellen einer karte
DE202013012446U1 (de) Strukturüberblendung für weichen Übergang zwischen unterschiedlichen Detaillierungsgraden in Grafikanwendungen
DE202015009139U1 (de) Bildmodifikation
EP2528042A1 (de) Verfahren und Vorrichtung zum Re-Meshing von 3D-Polygonmodellen

Legal Events

Date Code Title Description
R207 Utility model specification
R150 Utility model maintained after payment of first maintenance fee after three years
R081 Change of applicant/patentee

Owner name: GOOGLE LLC (N.D.GES.D. STAATES DELAWARE), MOUN, US

Free format text: FORMER OWNER: GOOGLE INC., MOUNTAIN VIEW, CALIF., US

R082 Change of representative

Representative=s name: BETTEN & RESCH PATENT- UND RECHTSANWAELTE PART, DE

R151 Utility model maintained after payment of second maintenance fee after six years
R152 Utility model maintained after payment of third maintenance fee after eight years
R071 Expiry of right