DE102019204242A1 - Verfahren und System zum effizienten Rendern von Wolkenwitterungseinflussgrafiken in dreidimensionalen Karten - Google Patents

Verfahren und System zum effizienten Rendern von Wolkenwitterungseinflussgrafiken in dreidimensionalen Karten Download PDF

Info

Publication number
DE102019204242A1
DE102019204242A1 DE102019204242.2A DE102019204242A DE102019204242A1 DE 102019204242 A1 DE102019204242 A1 DE 102019204242A1 DE 102019204242 A DE102019204242 A DE 102019204242A DE 102019204242 A1 DE102019204242 A1 DE 102019204242A1
Authority
DE
Germany
Prior art keywords
texture
processor
cloud
virtual
texels
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.)
Pending
Application number
DE102019204242.2A
Other languages
English (en)
Inventor
Zeng Dai
Liu Ren
Lincan Zou
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.)
Robert Bosch GmbH
Original Assignee
Robert Bosch GmbH
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 Robert Bosch GmbH filed Critical Robert Bosch GmbH
Publication of DE102019204242A1 publication Critical patent/DE102019204242A1/de
Pending legal-status Critical Current

Links

Images

Classifications

    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096708Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control
    • G08G1/096716Systems involving transmission of highway information, e.g. weather, speed limits where the received information might be used to generate an automatic action on the vehicle control where the received information does not generate an automatic action on the vehicle control
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01CMEASURING DISTANCES, LEVELS OR BEARINGS; SURVEYING; NAVIGATION; GYROSCOPIC INSTRUMENTS; PHOTOGRAMMETRY OR VIDEOGRAMMETRY
    • G01C21/00Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00
    • G01C21/26Navigation; Navigational instruments not provided for in groups G01C1/00 - G01C19/00 specially adapted for navigation in a road network
    • G01C21/34Route searching; Route guidance
    • G01C21/36Input/output arrangements for on-board computers
    • G01C21/3691Retrieval, searching and output of information related to real-time traffic, weather, or environmental conditions
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T13/00Animation
    • G06T13/203D [Three Dimensional] animation
    • G06T13/603D [Three Dimensional] animation of natural phenomena, e.g. rain, snow, water or plants
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • 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
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T19/00Manipulating 3D models or images for computer graphics
    • G06T19/20Editing of 3D images, e.g. changing shapes or colours, aligning objects or positioning parts
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096733Systems involving transmission of highway information, e.g. weather, speed limits where a selection of the information might take place
    • G08G1/09675Systems involving transmission of highway information, e.g. weather, speed limits where a selection of the information might take place where a selection from the received information takes place in the vehicle
    • GPHYSICS
    • G08SIGNALLING
    • G08GTRAFFIC CONTROL SYSTEMS
    • G08G1/00Traffic control systems for road vehicles
    • G08G1/09Arrangements for giving variable traffic instructions
    • G08G1/0962Arrangements for giving variable traffic instructions having an indicator mounted inside the vehicle, e.g. giving voice messages
    • G08G1/0967Systems involving transmission of highway information, e.g. weather, speed limits
    • G08G1/096766Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission
    • G08G1/096775Systems involving transmission of highway information, e.g. weather, speed limits where the system is characterised by the origin of the information transmission where the origin of the information is a central station
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T2219/00Indexing scheme for manipulating 3D models or images for computer graphics
    • G06T2219/20Indexing scheme for editing of 3D models
    • G06T2219/2012Colour editing, changing, or manipulating; Use of colour codes

Landscapes

  • Engineering & Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Computer Graphics (AREA)
  • Software Systems (AREA)
  • Atmospheric Sciences (AREA)
  • Life Sciences & Earth Sciences (AREA)
  • Remote Sensing (AREA)
  • Geometry (AREA)
  • Radar, Positioning & Navigation (AREA)
  • Architecture (AREA)
  • Computer Hardware Design (AREA)
  • General Engineering & Computer Science (AREA)
  • Ecology (AREA)
  • Automation & Control Theory (AREA)
  • Environmental Sciences (AREA)
  • Environmental & Geological Engineering (AREA)
  • Biodiversity & Conservation Biology (AREA)
  • Image Generation (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Instructional Devices (AREA)
  • Processing Or Creating Images (AREA)

Abstract

Ein Verfahren zum Anzeigen von Grafiken von Wolken in einer virtuellen dreidimensionalen (3D) Umgebung weist das Erzeugen einer gefilterten Textur basierend auf einem Schwellenwertfilter auf, das auf eine Wolkentextur angewandt wird, wobei der Filterschwellenwert Wolkenbedeckungsinformationen in Wetterdaten einer geografischen Region entspricht. Das Verfahren weist weiter das Abbilden der gefilterten Textur zu einer geografischen Oberfläche, die einer Himmelskuppel entspricht, in der virtuellen 3D-Umgebung, das Färben einer Mehrzahl von Texeln in der abgebildeten gefilterten Textur auf der geometrischen Oberfläche, die in dem Speicher gespeichert ist, basierend auf einem isotropen Single-Scatter-Farbmodell, und das Erzeugen einer grafischen Abbildung der virtuellen 3D-Umgebung, einschließlich mindestens eines Abschnitts der geometrischen Oberfläche, die der Himmelskuppel mit Wolken entspricht, basierend auf der Mehrzahl von Texeln der gefilterten Textur, die gefärbt und zu der geometrischen Oberfläche abgebildet werden, auf

Description

  • GEBIET
  • Diese Offenbarung betrifft im Allgemeinen das Gebiet der Fahrerinformations- und der Fahrerunterstützungssysteme (auch als Bordinformationssysteme bekannt) und insbesondere Systeme und Verfahren, die einem Fahrzeugbediener grafische Anzeigen für Mapping- und Navigationsapplikationen bereitstellen.
  • ALLGEMEINER STAND DER TECHNIK
  • Außer, wenn es hierin anders angegeben ist, sind die Materialien, die in diesem Abschnitt beschrieben sind, nicht Stand der Technik zu den Ansprüchen in dieser Anmeldung und werden nicht in den Stand der Technik durch Einschluss in diesen Abschnitt zugelassen.
  • Moderne Kraftfahrzeuge weisen oft ein oder mehrere Fahrerinformations- und Fahrerunterstützungssysteme (unten Bordinformationssysteme genannt) auf, die eine umfassende Vielfalt an Informationen und Unterhaltungsoptionen für Insassen in dem Fahrzeug bereitstellen. Herkömmliche Dienste, die durch die Bordinformationssysteme bereitgestellt werden, weisen, ohne darauf beschränkt zu sein, Fahrzeugzustands- und Diagnoseinformationen, Mapping- und Navigationsapplikationen, Freihandtelefonie, Rundfunk- und Musikwiedergabe sowie Verkehrsbedingungswarnungen auf. Bordinformationssysteme weisen oft mehrere Eingabe- und Ausgabevorrichtungen auf. Beispielsweise werden herkömmliche Knöpfe und Steuerknäufe, die verwendet werden, um Radios und Audiosysteme zu bedienen, gewöhnlich in Bordinformationssystemen verwendet. Jüngere Formen von Fahrzeugeingabe weisen Touchscreen-Eingabevorrichtungen auf, die Eingabe und Anzeige in einem einzigen Bildschirm kombinieren, sowie sprachaktivierte Funktionen, bei welchen das Bordinformationssystem auf Sprachbefehle reagiert. Beispiele von Ausgabesystemen weisen mechanische Messinstrumente, Ausgabeanzeigepanels, wie Flüssigkristallanzeige (Liquid Crystal Display - LCD)-Panels, und Audioausgabevorrichtungen, die synthetisierte Sprache erzeugen, auf.
  • Dreidimensionale (3D) Grafikverfahren wurden häufig in unterschiedlichen Fahrerunterstützungs- und Fahrerinformationsapplikationen verwendet. Ein typisches Beispiel sind Navigationssysteme, die auf 3D-Karten basieren. Verglichen mit herkömmlichen zweidimensionalen (2D) Karten werden 3D-Karten für leichte Fahrerorientierung und schnelle Ortserkennung als hilfreicher betrachtet. Fotorealistische 3D-Mapping- und Navigationsdienste werden zum Beispiel von mehreren Online- und Offlinediensten, darunter Dienste, die von Apple, Google und Nokia angeboten werden, bereitgestellt. Moderne 3D-Grafiken können einen umfangreichen Bereich hoch realistischer grafischer Effekte erzeugen. In dem Kontext der 3D-Mapping- und Navigationsapplikationen kann ein grafisches Anzeigesystem Referenzpunkte, wie geografische Merkmale, Straßen, Gebäude und andere Referenzpunkteen erzeugen. Des Weiteren können einige 3D-Mapping-Systeme grafische Effekte anwenden, die die Wetter- und Beleuchtungszustände in der virtuellen 3D-Umgebung abbilden, die den tatsächlichen Wetterbedingungen in dem realen geografischen Bereich, der in der Mapping-Applikation wiedergegeben wird, entsprechen. 3D-Grafiksysteme können zum Beispiel grafische Renderings von Wolken basierend auf den aktuellen Wetterbedingungen in einer geografischen Region erzeugen.
  • Obwohl moderne 3D-Grafikhardware und -software fähig ist, einen weiten Bereich von Grafiken wiederzugeben, erfordert das Erzeugen grafischer Effekte wie Wolken typischerweise substantielle Hardware-Ausführungsressourcen, um die grafischen Effekte mit einer vernünftigen Renderinggeschwindigkeit für den Gebrauch einer 3D-Mapping-Applikation zu erzeugen. Moderne Verarbeitungsvorrichtungen, die Grafik-Verarbeitungseinheiten (Graphics Processing Units - GPUs) aufweisen, die komplexes grafisches Rendern realistischer dreidimensionaler Wolken ausführen können, existieren, aber vielen Hardwareplattformen, die die Grafiksysteme aufweisen, die in Kraftfahrzeuge integriert sind, und denjenigen der billigen mobilen elektronischen Vorrichtungen kann es an der erforderlichen Hardware zum Erzeugen realistischer grafischer Abbildungen von Wolken mangeln. Des Weiteren können sogar einige mobile elektronische Vorrichtungen, die jetzt in zunehmendem Maße leistungsfähige Grafikhardware aufweisen, eine unerwünscht große Menge an Strom verbrauchen, um die Grafiken zu erzeugen, was oft in einer entleerten Batterie resultiert, was für den Gebrauch einer Mapping-Applikation beim Fahren kontraproduktiv sein kann. Verbesserungen für Verfahren und Systeme, die Wolken in dreidimensionalen virtuellen Umgebungen rendern, um ein grafisches Rendern der Wolkendecke in einer geografischen Region in einer rechnerisch effizienten Art zu erzeugen, wären folglich günstig.
  • KURZDARSTELLUNG
  • Bei einer Ausführungsform wurde ein Verfahren zum Erzeugen von Grafiken einer virtuellen dreidimensionalen (3D) Umgebung entwickelt. Das Verfahren weist das Empfangen mit einem Prozessor von Wetterdaten, einschließlich Wolkenbedeckungsinformationen, die einer geografischen Region entsprechen, das Abrufen mit einem Prozessor einer Textur, die Wolken entspricht, aus einem Speicher, das Erzeugen mit dem Prozessor einer gefilterten Textur basierend auf einem Schwellenwertfilter, das auf die Textur angewandt wird, wobei das Erzeugen einen Filterschwellenwert aufweist, der den Wolkenbedeckungsinformationen in den Wetterdaten entspricht, das Mapping mit dem Prozessor der gefilterten Textur zu einer geometrischen Oberfläche, die einer Himmelskuppel in der virtuellen 3D-Umgebung entspricht, das Färben mit dem Prozessor einer Mehrzahl von Texeln in der abgebildeten gefilterten Textur auf der geometrischen Oberfläche, die in dem Speicher gespeichert ist, basierend auf einem isotropen Single-Scatter-Farbmodell, und das Erzeugen mit einer Anzeigevorrichtung, die mit dem Prozessor verbunden ist, einer grafischen Abbildung der virtuellen 3D-Umgebung, die der geografischen Region entspricht, einschließlich mindestens eines Abschnitts der geometrischen Oberfläche, die der Himmelskuppel mit Wolken entspricht, basierend auf der Mehrzahl von Texeln der gefilterten Textur, die gefärbt und zu der geometrischen Oberfläche abgebildet werden, auf.
  • Bei einer anderen Ausführungsform wurde ein Verfahren zum Erzeugen von Grafiken einer virtuellen dreidimensionalen (3D) Umgebung entwickelt. Das Verfahren weist das Empfangen mit einem Prozessor von Wetterdaten, einschließlich Wolkenbedeckungsinformationen, Windgeschwindigkeitsinformationen und Windrichtungsinformationen, die einer geografischen Region entsprechen, das Abrufen mit einem Prozessor einer ersten Textur, die Wolken entspricht, aus einem Speicher, das Abrufen mit einem Prozessor einer zweiten Textur, die Wolken entspricht, aus dem Speicher, wobei die zweite Textur von der ersten Textur unterschiedlich ist, das Erzeugen mit dem Prozessor einer dritten Textur, die einer Kombination der ersten Textur und der zweiten Textur entspricht, mit einem ersten Offset zwischen der ersten Textur und der zweiten Textur, das den Windgeschwindigkeitsinformationen und den Windrichtungsinformationen entspricht, das Erzeugen mit dem Prozessor einer ersten gefilterten Textur basierend auf einem Schwellenwertfilter, das auf die dritte Textur angewandt wird, wobei das Erzeugen einen Filterschwellenwert aufweist, der den Wolkenbedeckungsinformationen in den Wetterdaten entspricht, das Mapping mit dem Prozessor der ersten gefilterten Textur zu einer geometrischen Oberfläche, die einer Himmelskuppel in der virtuellen 3D-Umgebung entspricht, das Färben mit dem Prozessor einer Mehrzahl von Texeln in der abgebildeten ersten gefilterten Textur auf der geometrischen Oberfläche, die in dem Speicher gespeichert ist, basierend auf einem isotropen Single-Scatter-Farbmodell, und das Erzeugen mit einer Anzeigevorrichtung, die mit dem Prozessor verbunden ist, einer ersten grafischen Abbildung der virtuellen 3D-Umgebung, die der geografischen Region entspricht, einschließlich mindestens eines Abschnitts der geometrischen Oberfläche, der der Himmelskuppel mit Wolken entspricht, basierend auf der Mehrzahl von Texeln der ersten gefilterten Textur, die gefärbt und zu der geometrischen Oberfläche abgebildet sind, auf. Das Verfahren weist weiter das Erzeugen mit dem Prozessor einer vierten Textur, die einer anderen Kombination der ersten Textur und der zweiten Textur mit einem zweiten Offset zwischen der ersten Textur und der zweiten Textur entspricht, das den Windgeschwindigkeitsinformationen und den Windrichtungsinformationen entspricht, wobei das zweite Offset von dem ersten Offset unterschiedlich ist, das Erzeugen mit dem Prozessor einer zweiten gefilterten Textur basierend auf dem Schwellenwertfilter, das an die vierte Textur angewandt wird, wobei das Erzeugen den Filterschwellenwert aufweist, der den Wolkenbedeckungsinformationen in den Wetterdaten entspricht, das Abbilden mit dem Prozessor der zweiten gefilterten Textur zu der geometrischen Oberfläche, die einer Himmelskuppel in der virtuellen 3D-Umgebung entspricht, das Färben mit dem Prozessor einer Mehrzahl von Texeln in der abgebildeten zweiten gefilterten Textur auf der geometrischen Oberfläche, die in dem Speicher gespeichert ist, basierend auf dem isotropen Single-Scatter-Farbmodell, und das Erzeugen mit der Anzeigevorrichtung einer zweiten grafischen Abbildung der virtuellen 3D-Umgebung, die der grafischen Region entspricht, einschließlich mindestens eines Abschnitts der geometrischen Oberfläche, der der Himmelskuppel mit Wolken entspricht, basierend auf der Mehrzahl von Texeln der zweiten gefilterten Textur, die gefärbt und zu der geometrischen Oberfläche abgebildet werden, um eine animierte Abbildung von Wolken zu erzeugen, auf.
  • Bei einer anderen Ausführungsform wurde ein System zum Erzeugen von Grafiken einer virtuellen dreidimensionalen (3D) Umgebung entwickelt. Das System weist eine Anzeigevorrichtung, eine Netzwerkvorrichtung, einen Speicher und einen Prozessor auf, der betrieblich mit der Anzeigevorrichtung, der Netzwerkvorrichtung und dem Speicher verbunden ist. Der Speicher ist konfiguriert, um programmierte Anweisungen, eine Textur, die Wolken entspricht, und eine geometrische Oberfläche, die einer Himmelskuppel in der virtuellen 3D-Umgebung entspricht, zu speichern. Der Prozessor ist konfiguriert, um die programmierten Anweisungen auszuführen, um Wetterdaten zu empfangen, einschließlich Wolkenbedeckungsinformationen, die einer geografischen Region entsprechen, unter Verwenden der Netzwerkvorrichtung, die Textur, die den Wolken entspricht, aus dem Speicher abzurufen, eine gefilterte Textur basierend auf einem Schwellenwertfilter, das auf die Textur angewandt wird, zu erzeugen, wobei das Erzeugen einen Filterschwellenwert aufweist, der den Wolkenbedeckungsinformationen in den Wetterdaten entspricht, die gefilterte Textur zu einer geometrischen Oberfläche, die einer Himmelskuppel in der virtuellen 3D-Umgebung entspricht, abzubilden, eine Mehrzahl von Texeln in der abgebildeten gefilterten Textur auf der geometrischen Oberfläche, die in dem Speicher gespeichert ist, zu färben, basierend auf einem isotropen Single-Scatter-Farbmodell, und eine grafische Abbildung der virtuellen 3D-Umgebung, die der geografischen Region entspricht, die mindestens einen Abschnitt der geometrischen Oberfläche aufweist, der der Himmelskuppel mit Wolken entspricht, zu erzeugen, basierend auf der Mehrzahl von Texeln der gefilterten Textur, die gefärbt und zu der geometrischen Oberfläche unter Verwenden der Anzeigevorrichtung abgebildet sind.
  • Figurenliste
    • 1 ist ein schematisches Diagramm eines Bordinformationssystems, das konfiguriert ist, um eine Anzeige einer virtuellen dreidimensionalen (3D) Umgebung einschließlich Wolken in der virtuellen 3D-Umgebung zu erzeugen.
    • 2 ist ein Blockschaltbild eines Prozesses zum Erzeugen von Grafiken einer virtuellen 3D-Umgebung einschließlich Wolken, die Wetterbedingungen in einer realen Region in der Welt entsprechen, die durch die virtuelle 3D-Umgebung dargestellt wird.
    • 3 ist ein Diagramm, das prozedural erzeugte Wolkentexturen abbildet, die unter Verwenden eines Schwellenwertfilterbetriebs in dem Prozess der 2 geändert werden.
    • 4 ist ein Diagramm, das eine Hyperbel Oberfläche abbildet, die abgebildete Wolkentexturen in dem Prozess der 2 empfängt.
    • 5 ist ein Diagramm, das eine Animation von Wolkengrafiken abbildet, um Windgeschwindigkeit und Windrichtung in der virtuellen 3D-Umgebung abzubilden.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Um ein Verständnis der Prinzipien der hierin offenbarten Ausführungsformen zu fördern, wird nun auf die Zeichnungen und Beschreibungen in der folgenden schriftlichen Beschreibung Bezug genommen. Es ist keine Beschränkung des Schutzumfangs des Gegenstands durch die Bezugnahmen beabsichtigt. Die vorliegende Offenbarung weist auch beliebige Abwandlungen und Modifikationen an den veranschaulichten Ausführungsformen auf und beinhaltet weiter Anwendungen der Prinzipien der offenbarten Ausführungsformen, wie sie einem Fachmann auf dem Gebiet, auf das sich diese Offenbarung bezieht, normalerweise ersichtlich sind.
  • Wie hierin verwendet, verweist der Begriff „Textur“ auf einen Satz von Bilddaten, der auf eine Oberfläche in einer virtuellen dreidimensionalen Umgebung angewandt wird, um einen grafischen Effekt zu erzeugen. Diese Anmeldung beschreibt Ausführungsformen, die Texturen verwenden, um grafische Effekte, die Wolken entsprechen, zu erzeugen. Wie hierin verwendet, verweist der Begriff „Texel“ auf ein Pixel von Bilddaten, das innerhalb einer Textur enthalten ist.
  • 1 bildet ein System 100 ab, das ein Bordinformationssystem 104 aufweist, das eine grafische Anzeige einer virtuellen dreidimensionalen (3D) Umgebung erzeugt, die eine Darstellung des Himmels und von Wolken aufweist, die Wetterbedingungen in einer geografischen Lage der realen Welt auf eine rechnerisch effiziente Art wiedergeben. Das Bordinformationssystem 104 weist einen Prozessor 108 auf, der betrieblich mit einem Speicher 120, einer Anzeigevorrichtung 144, einem optionalen Positionierungssystem 148, einer Netzwerkvorrichtung 152 und optionalen Fahrzeugsensoren 170 verbunden ist. HardwareAusführungsformen des Bordinformationssystems 104 weisen, ohne darauf beschränkt zu sein, Personal-Computer(PC)-Hardware, eingebettete Systemhardware, einschließlich eingebetteter Rechenhardware für den Gebrauch in einem Kraftfahrzeug, sowie mobile elektronische Vorrichtungen, einschließlich Smartphone und Tablet-Rechenvorrichtungen, auf. In dem System 100 verbindet ein drahtloses Datennetzwerk 180 das Bordinformationssystem 104 mit einer oder mehreren Online-Wetterinformationsquellen 190.
  • In dem Bordinformationssystem 104 weist der Prozessor 108 eine oder mehrere integrierte Schaltungen auf, die die Funktionalität einer Zentraleinheit (Central Processing Unit - CPU) 112 und Grafikverarbeitungseinheit (Graphics Processing Unit - GPU) 116 umsetzen. Bei einigen Ausführungsformen ist der Prozessor ein System auf einem Chip (SoC), das die Funktionalität der CPU 112 und GPU 116 und optional andere Bauelemente, die den Speicher 120, die Netzwerkvorrichtung 152 und das Positionierungssystem 148 enthalten, in eine einzige integrierte Vorrichtung integriert, während die CPU 112 und GPU 116 bei anderen Ausführungsformen miteinander über eine periphere Verbindungsvorrichtung, wie PCI Express oder einen anderen zweckdienlichen peripheren Datenanschluss, verbunden sind. Bei einer Ausführungsform ist die CPU 112 eine im Handel erhältliche Zentraleinheitsvorrichtung, die einen Anweisungssatz, wie einen der Anweisungssatzfamilien x86, ARM, Power oder MIPS, umsetzt. Die GPU 116 weist Hardware und Software zum Anzeigen von sowohl 2D- als auch 3D-Grafiken auf. Bei einer Ausführungsform führt der Prozessor 108 Softwareprogramme aus, die Treiber aufweisen, und andere Softwareanweisungen, indem die Hardwarefunktionalität in der GPU 116 verwendet wird, um 3D-Grafiken zu erzeugen, indem zum Beispiel die OpenGL-, OpenGL-ES-, Vulkan- oder Direct3D-Grafik-Applikation-Programmierschnittstellen (Application Programming Interfaces - APIs) verwendet werden. Die GPU 116 weist zum Beispiel eine oder mehrere Hardwareausführungseinheiten auf, die Textur-Mapping, Fragment-Shader, Vertex-Shader und optional Geometrie-Shader, Tesselation-Shader und Rechen-Shader für die Verarbeitung und das Anzeigen von 2D- und 3D-Grafiken umsetzen. Während des Betriebs führen die CPU 112 und die GPU 116 gespeicherte programmierte Anweisungen 140 aus, die aus dem Speicher 120 abgerufen werden. Bei einer Ausführungsform weisen die gespeicherten programmierten Anweisungen 140 Betriebssystemsoftware auf, sowie ein oder mehrere Softwareanwendungsprogramme, die 3D-Grafiken erzeugen, einschließlich Mapping- und Navigationsapplikationen. Die gespeicherten Programmanweisungen 140 weisen Software auf, die den Betrieb der CPU 112 und der GPU 116 steuert, um grafische Abbildungen von Wolken basierend auf den hierin beschriebenen Ausführungsformen zu erzeugen.
  • Der Prozessor 108 führt das Mapping- und Navigationsprogramm aus und erzeugt eine grafische 3D-Ausgabe mit grafischen Transformationen, die Kartenmerkmale und Wetterbedingungen, wie Wolkenbedeckung, auf dem Himmel in der geografischen Region, die außerhalb des Fahrzeugs liegt, auf intuitive Art abbilden. Der Prozessor 108 ist mit Software- und Hardwarefunktionalität konfiguriert, indem programmierte Anweisungen in einem oder mehreren Speichern gespeichert sind, die betrieblich mit dem Prozessor 108 verbunden sind, und durch betriebliches Verbinden der Hardwarefunktionalität mit dem Prozessor und/oder anderen elektronischen, elektromechanischen oder mechanischen Bauelementen, um Daten von Sensoren oder Datenquellen bereitzustellen, um es dem Prozessor zu ermöglichen, die Prozesse und Systemausführungsformen, die unten besprochen sind, umzusetzen.
  • Der Speicher 120 weist sowohl nichtflüchtigen Speicher als auch flüchtigen Speicher auf. Der nichtflüchtige Speicher weist Festkörperspeicher auf, wie NAND-Flashspeicher, magnetische und optische Speichermedien oder beliebige andere zweckdienliche Datenspeichervorrichtungen, die Daten behalten, wenn das Bordinformationssystem 104 deaktiviert wird oder den Strom verliert. Der flüchtige Speicher weist statischen und dynamischen Direktzugriffsspeicher (Random Access Memory - RAM) auf, der Software und Daten, einschließlich Grafikdaten und Kartenmerkmalsdaten, während des Betriebs des Bordinformationssystems 104 speichert. Bei einigen Ausführungsformen verfügen die GPU 116 und die CPU 112 jeweils über Zugang zu separaten RAM-Vorrichtungen (zum Beispiel einer Variante von DDR SDRAM für die CPU 112 und einer Variante von GDDR, HBM oder anderem RAM für die GPU 116), während die CPU 112 und die GPU 116 bei anderen Ausführungsformen auf eine gemeinsam verwendete Speichervorrichtung zugreifen. Zusätzlich zu den programmierten Anweisungen 140 speichert der Speicher 120 dreidimensionale virtuelle Umgebungsgrafikdaten 124. Die Grafikdaten 124 weisen geometrische Modelle, Texturen und andere Daten auf, die der Prozessor 108 verwendet, um dreidimensionale Grafiken einer virtuellen 3D-Umgebung zu erzeugen. Bei der Ausführungsform der 1 weisen die Grafikdaten 124 eine oder mehrere Texturen in den Wolkentexturdaten 128 auf, die der Struktur von Wolken entsprechen, die auf dem Himmel der virtuellen 3D-Umgebung angezeigt werden. Die Grafikdaten 124 weisen auch eine Parabel-Himmelskuppeloberfläche 132 auf, die eine geometrische Oberfläche bildet, die den Himmel in der virtuellen 3D-Umgebung darstellt. Während des Betriebs des Bordinformationssystems 104 ändert der Prozessor 108 die Wolkentexturdaten 128 basierend auf den aktuellen oder vorhergesagten Wetterbedingungen in einer geografischen Region, die durch die virtuelle 3D-Umgebung dargestellt wird, und bildet die Texturen zu der Parabel-Himmelskuppeloberfläche zur Anzeige in dem Bordinformationssystem 104 ab.
  • Das Bordinformationssystem 104 weist eine optionale Netzwerkvorrichtung 152 auf, die konfiguriert ist, um Wetterdaten von externen Rechensystemen, wie den Online-Wetterinformationsquellen 190, durch ein Datennetzwerk 180 zu senden und zu empfangen. Beispiele der Netzwerkvorrichtung 152 weisen verdrahtete Netzwerkadapter, wie Ethernet- und Universal-Serial-Bus(USB)-Adapter, und drahtlose Netzwerkadapter, wie Wireless-Wide-Area-Network(WWAN)-, 802.11- oder Bluetooth-Wireless-Local-Area-Network(WLAN)-Adapter auf.
  • Wie in 1 abgebildet, weisen die Online-Wetterinformationsquellen 190 einen beliebigen Online-Dienst auf, der Daten auf eine Art bereitstellt, die durch das Bordinformationssystem 104 durch das Datennetzwerk 180 zugänglich ist. Online-Wetterinformationsquellen 190 weisen zum Beispiel Live-Wetterdienste auf, die Informationen in Zusammenhang mit dem Wetter um das Fahrzeug, einschließlich Wolken-, Wind-, Temperatur-, Niederschlag- und Straßengefahrbedingungen bereitstellen.
  • Das Bordinformationssystem 104 weist eine optionale Positionierungssystemvorrichtung 148 auf, die betrieblich mit dem Prozessor 108 verbunden ist. Beispiele von Positionierungssystemen weisen Global-Positioning-System(GPS)-Empfänger, die ein oder mehrere Satellitennavigationssysteme verwenden, Funktriangulationsempfänger, die einen Ort des Bordinformationssystems 104 bezüglich stationärer drahtloser Sender identifizieren, und Trägheitsnavigationssysteme auf. Während des Betriebs führt der Prozessor 108 Mapping- und Navigationssoftwareapplikationen aus, die Lageinformationen von dem Positionierungssystem 148 abrufen, um eine geografische Lage des Bordinformationssystems 104 zu identifizieren und die Anzeige der virtuellen Umgebung einzustellen, so dass sie der Lage des Bordinformationssystems 104 entspricht. Bei Navigationsapplikationen identifiziert der Prozessor 108 die Lage und Bewegung des Bordinformationssystems 104 für die Erzeugung von Routen zu ausgewählten Zielen und zur Anzeige der Routen in der virtuellen 3D-Umgebung.
  • Während des Betriebs empfängt der Prozessor 108 Wetterinformationen, die der Umgebung um das Fahrzeug entsprechen, von mehreren Quellen. Bei der Ausführungsform der 1 weisen die Quellen die Fahrzeugsensoren 170, Online-Informationsquellen 190 und das Positionierungssystem 148 auf. Der Prozessor 108 verwendet einige Umgebungsdaten indirekt. Das Positionierungssystem 148 stellt zum Beispiel Daten in Zusammenhang mit der Lage des Fahrzeugs bereit, und der Prozessor 108 verwendet die Positionsdaten als Teil einer Abfrage zu einer Online-Informationsquelle 190, um zum Beispiel das Wetter in der Region um das Fahrzeug oder in einer anderen Region entlang der Route des Fahrzeugs, auf der das Fahrzeug in der Zukunft fahren wird, zu identifizieren.
  • Bei dem Bordinformationssystem 104 ist die Anzeigevorrichtung 144 entweder eine integrierte Anzeigevorrichtung, wie ein LCD oder eine andere visuelle Anzeigevorrichtung, die in ein Gehäuse des Bordinformationssystems 104 integriert ist, oder die Anzeigevorrichtung 144 ist eine externe Anzeigevorrichtung, die betrieblich mit dem Bordinformationssystem 104 durch eine verdrahtete oder drahtlose Schnittstelle verbunden ist, um Ausgangssignale von dem Prozessor 108 zu empfangen, um eine Anzeige der virtuellen 3D-Umgebung zu erzeugen. Bei einer Ausführungsform, bei der das Bordinformationssystem 104 eine eingebettete Bordrechenvorrichtung ist, ist die Anzeigevorrichtung 144 ein LCD oder ein anderes Flachpaneldisplay, das sich in der Konsole eines Fahrzeugs befindet, oder die Anzeigevorrichtung 144 ist ein Head-Up-Display (HUD) oder ein anderes Projektionsdisplay, das die virtuelle 3D-Umgebung auf einer Windschutzscheibe oder anderen Anzeigeoberfläche in dem Fahrzeug anzeigt. Andere Anzeigevorrichtungsausführungsformen weisen zum Beispiel stereoskopische Anzeigen auf, die zwei unterschiedliche 2D-Bilder einer virtuellen 3D-Umgebung bilden, um eine echte dreidimensionale Anzeige der virtuellen Umgebung zu simulieren.
  • Bei dem Bordinformationssystem 104 weisen die Fahrzeugsensoren 170 eine beliebige Vorrichtung in dem Fahrzeug auf, die digitale Daten erzeugt, die dem Zustand des Fahrzeugs oder der Umgebung um das Fahrzeug entsprechen, die der Prozessor 108 verwendet, um eine visuelle Abbildung der statischen Kartenmerkmale anzupassen. Beispiele von Sensoren, die in unterschiedlichen Fahrzeugkonfigurationen verwendet werden, weisen, ohne darauf beschränkt zu sein, Kameras, Lichtsensoren, Thermometer, Hygrometer, Bewegungssensoren, Tachometer, Entfernungssensoren und dergleichen auf. Bei einigen Ausführungsformen verwendet der Prozessor 108 die Fahrzeugsensoren 170, um Wetterinformationsdaten von der Online-Wetterinformationsquelle 190 zu ergänzen, um Wolkenbedeckungsniveaus in der Region um das Fahrzeug zu erfassen. Bei einigen Ausführungsformen ist eine Borduhr ein weiterer Sensor, der die Tageszeit rund um das Fahrzeug aufzeichnet. Bei einigen Ausführungsformen empfängt das Positionierungssystem 148 oder die Netzwerkvorrichtung 152 Zeitdaten, um die Uhr einzustellen und die Position der Sonne oder des Monds auf dem Himmel zu unterschiedlichen Zeiten zu identifizieren, wenn sich das Fahrzeug in unterschiedlichen geografischen Lagen befindet. Bei dem Beispiel der 1 wirkt das Positionierungssystem 148 auch als ein Sensor, um die Lage und optional die Fahrtrichtung und Geschwindigkeit des Fahrzeugs anzugeben. Bei einigen Fahrzeugen können zusätzliche Sensordaten indirekt aus Subsystemen bereitgestellt werden, die andere Funktionen in dem Fahrzeug erfüllen.
  • 1 bildet ein Bordinformationssystem 104 als eine Ausführungsform eines Hardwaresystems ab, das spezifisch konfiguriert ist, um Grafiken von Wolken in einer virtuellen 3D-Umgebung zu erzeugen. Zusätzlich können andere Ausführungsformen, die ähnliche Hardwarebauelemente enthalten, die mobile elektronische Vorrichtungen, wie Smartphones, Tablets, anziehbare Vorrichtungen und dergleichen aufweisen, spezifisch konfiguriert sein, um die hierin beschriebenen Verfahren auszuführen.
  • 2 bildet einen Prozess 200 zum Erzeugen von Grafiken von Wolken in einer virtuellen dreidimensionalen Umgebung ab. Bei der unten stehenden Beschreibung verweist eine Bezugnahme darauf, dass der Prozess 200 eine Funktion oder Aktion ausführt, auf den Betrieb eines Prozessors, um gespeicherte Programmanweisungen auszuführen, um die Funktion oder Aktion in Verbindung mit anderen Hardwareelementen umzusetzen. Der Prozess 200 ist in Verbindung mit dem System 100 und dem Bordinformationssystem 104 zu veranschaulichenden Zwecken beschrieben.
  • Der Prozess 200 beginnt mit einem optionalen prozeduralen Texturerzeugungsprozess, um eine oder mehrere Texturen zu erzeugen, die die Basis für das Erzeugen von Grafiken von Wolken in dem Bordinformationssystem 104 bilden (Block 204). Bei einer Ausführungsform tastet der Prozessor 108 eine Perlin-Noise-Quelle ab, um eine oder mehrere Texturen in den Wolkentexturdaten 128 zu erzeugen. Der Gebrauch von Perlin-Noise zur prozeduralen Texturerzeugung ist im Stand der Technik gut bekannt und wird hierin nicht ausführlicher besprochen. Das Verarbeiten des Blocks 204 kann von dem Prozessor 108 wie bei dem Beispiel der 2 ausgeführt werden. Bei einer anderen Ausführungsform wird der Texturerzeugungsprozess durch eine externe Rechenvorrichtung ausgeführt, die die Texturdaten auf eine Offline-Art erzeugt. Das Bordinformationssystem 108 speichert die zuvor erzeugten Wolkentexturdaten 128 in dem Speicher 120 vor dem Ausführen eines 3D-Mapping-Programms oder einer anderen grafischen Softwareprogrammapplikation, die die Wolkengrafiken erzeugt. Offline-Erzeugung der Wolkentexturdaten 128 verringert die rechnerische Belastung des Prozessors 108 während des Betriebs bei Ausführungsformen, bei welchen der Speicher 120 ausreichend Kapazität aufweist, um die Wolkentexturdaten 128 zu speichern.
  • Der Prozess 200 wird fortgesetzt, während das Bordinformationssystem 104 Wetterdaten für eine geografische Region von den Online-Wetterinformationsquellen 190 empfängt (Block 208). Die Wetterdatenquellen weisen zum Beispiel Web-Dienste und andere öffentlich verfügbare Wetterinformationssysteme, wie den National Weather Service in den USA und äquivalente Wetterdienste in anderen Ländern um die Welt, die aktuelle und vorhergesagte Wetterbedingungsinformationen bereitstellen, auf. Die Wetterinformationen weisen zum Beispiel Wetterdaten auf, die Wolkenbedeckung, Windgeschwindigkeit und Windrichtung in einer gegebenen geografischen Region beschreiben. Während des Prozesses 200 kann das Bordinformationssystem 104 Wetterdaten für die Region in der unmittelbaren Nähe des Fahrzeugs zum Beispiel unter Verwenden von Lagedaten empfangen, die von dem Positionierungssystem 148 empfangen werden, um die geografische Lage des Fahrzeugs zu identifizieren. Bei einer anderen Konfiguration empfängt das Bordinformationssystem 104 Wetterdaten für eine geografische Region, die von der Lage des Fahrzeugs unterschiedlich ist, wie von einem Ziel des Fahrzeugs, das potenziell in einer großen Entfernung von der aktuellen Lage des Fahrzeugs liegt, um es dem Bordinformationssystem 104 zu ermöglichen, die Wolkenbedeckung in der virtuellen 3D-Umgebung, die dem Ziel entspricht, basierend auf der aktuellen Wolkenbedeckung an der physischen Lage des Ziels in der realen Welt anzuzeigen. Bei einigen Ausführungsformen erzeugt das Bordinformationssystem 104 Grafiken der Wolken, die die aktuellen Bedingungen in der geografischen Region basierend auf aktuellen Wetterbedingungsdaten vorhersagen, während das Bordinformationssystem 104 bei anderen Ausführungsformen Grafiken basierend auf den vorhergesagten Wetterbedingungen in der geografischen Region zu einer zukünftigen Zeit unter Verwenden der vorhergesagten Wetterdaten erzeugt. Falls zum Beispiel die geschätzte Ankunftszeit (Estimated Time of Arrival - ETA) an einem Ziel vier Stunden in der Zukunft liegt, kann das Bordinformationssystem 104 vorhergesagte Wetterbedingungsdaten von der Online-Wetterquelle 190 abrufen und das vorhergesagte Wolkenbedeckungsniveau verwenden, um eine grafische Abbildung von Wolken an dem Ziel bei der ETA des Fahrzeugs bereitzustellen.
  • Während des Prozesses 200 wendet der Prozessor 108 ein Schwellenwertfilter an mindestens eine Wolkentextur an, die der Prozessor 108 aus den Wolkentexturdaten 128 in dem Speicher 120 abruft (Block 212). Der Schwellenwertfilterprozess wählt Texel in der Textur aus, die verwendet werden, um Wolkengrafiken basierend auf den Wetterdaten zu bilden, die das Wolkenbedeckungsniveau in der geografischen Region angeben. Wie unten ausführlicher beschrieben, wählt das Schwellenwertfilter Texel aus der Textur aus, die die Formen von Wolken basierend auf einem numerischen Schwellenwertauswahlprozess bilden. Bei dem Bordinformationssystem 104 identifiziert der Prozessor 108 einen numerischen Schwellenwert, der den Wolkenbedeckungsinformationen in den Wetterdaten entspricht, wobei der numerische Schwellenwert bei einigen Ausführungsformen umgekehrt zu dem Wolkenbedeckungsniveau proportional ist. Bei einer Ausführungsform werden zum Beispiel die Texelwerte in der Textur unter Verwenden von 8 Datenbits (Werte in einem Bereich von 0 bis 255) codiert. Der Prozessor 108 erzeugt einen numerischen Schwellenwert in dem entsprechenden numerischen Bereich basierend entweder direkt auf einem Wolkenbedeckungsprozentsatz aus den Wetterdaten (zum Beispiel einen Schwellenwert von 128 für 50 % Wolkenbedeckung, einen Schwellenwert von 0 für 100 % Wolkenbedeckung) oder einen vorbestimmten Wert für Wetterdaten, die qualitative statt direkt quantitative Wolkenbedeckungsinformationen aufweisen (zum Beispiel einen Schwellenwert von 225 für „überwiegend sonnig“, einen Schwellenwert von 180 für „teilweise wolkig“, einen Schwellenwert von 75 für „überwiegend wolkig“ usw.). Zusätzlich kann der Prozessor 108 in Situationen, in welchen die Wetterdaten heiteren Himmel völlig ohne Wolken angeben, den Rest des Prozesses 200 weglassen, um Grafiken zu erzeugen, die überhaupt keine Wolken enthalten.
  • In dem Prozessor 108 kann der Schwellenwertfilterbetrieb unter Verwenden der CPU 112, der GPU 116 oder einer Kombination beider Hardwarebauelemente ausgeführt werden. Bei einer Ausführungsform führt die GPU 116 zum Beispiel ein Fragment-Shader-Programm aus, das jedes abgetastete Texel in einer Kopie der prozedural erzeugten Textur verarbeitet, um den Schwellenwert anzuwenden. Falls der numerische Wert eines Texels den Schwellenwert erreicht oder überschreitet, lässt das Fragment-Shader-Programm den numerischen Wert des Texels in der Textur in einem unveränderten Zustand (zum Beispiel, falls der Schwellenwert 110 beträgt und der Texelwert 200, beträgt der ausgegebene Texelwert ebenfalls 200). Falls der Texelwert jedoch unter dem Schwellenwert liegt, stellt der Fragment-Shader das Texel auf einen vorbestimmten Wert, wie zum Beispiel 0, der das Texel effektiv aus den abschließenden gerenderten Grafiken löscht, um Lücken zwischen Abschnitten der Wolken abzubilden (zum Beispiel falls der Schwellenwert 110 beträgt und der Texelwert 97, wird der ausgegebene Texelwert auf 0 gestellt). Der Prozessor 108 ist konfiguriert, um den vorbestimmten Wert während eines subsequenten Renderingvorgangs zu ignorieren, um sicherzustellen, dass die Wolke nicht an den Stellen der gelöschten Texel gerendert wird. Bei einer anderen Ausführungsform, die Texturen mit einem Alphakanal einsetzt, ändert der Fragment-Shader den inhärenten Wert jedes Texels nicht, stellt aber stattdessen den Alphakanalwert auf 1,0 (volle Opazität) für jedes Texel, das den Schwellenwert erreicht oder überschreitet, und setzt den Alphakanalwert auf 0,0 (volle Transparenz), um effektiv jedes Texel zu löschen, das unter dem Schwellenwert liegt. Die ausgewählten Texel, die in in der Textur nicht gelöscht werden, bilden die Formen der Wolken in der Textur, wobei der Schwellenwert die Gesamtproportion der Textur beeinflusst, die Wolken abbildet, verglichen zu Lücken zwischen den Wolken, die den Himmel zeigen. Bei einigen Ausführungsformen ändert die CPU 112 die Texel in der Textur durch Ausführen gespeicherter Programmanweisungen in einem ähnlichen Prozess wie dem, der oben für die GPU 116 beschrieben ist.
  • Der Prozess 200 wird fortgesetzt, indem der Prozessor 108 die gefilterte Wolkentextur zu einer Hyperbel-Oberfläche abbildet, die eine Himmelskuppel in der virtuellen dreidimensionalen Umgebung bildet (Block 216). Der Mapping-Prozess stellt sicher, dass die Wolke ein natürliches Aussehen hat, wenn sie von unterschiedlichen Winkeln in der virtuellen 3D-Umgebung betrachtet wird. Um eine realistischere Wolkentexturabbildung zu erzielen, bildet der Prozessor 108 die gefilterte Wolkentextur zu einer geometrischen Parabeloberfläche ab, die der Himmelskuppel in der virtuellen 3D-Umgebung entspricht. Andere Abbildungstechnologien, wie sphärisches und planares Abbilden, werden gewöhnlich in der Grafikindustrie zum Veranschaulichen einer Himmelskuppel verwendet. Im Gegensatz dazu liefert die Parabelabbildung einen besseren Übergang von horizontaler zu vertikaler Ansicht im Vergleich zu den oben stehenden zwei Abbildungen, die auf experimentellen Resultaten basieren. Zusätzlich könnte die Parabelabbildung auch sphärische, planare Abbildung decken, während sich die Parameter ändern. Bei den meisten Hardwareausführungsformen weist die GPU 116 Texturabbildungseinheit-Hardware auf, die die gefilterten Wolkentexturen zu der Parabeloberfläche abbildet.
  • 4 bildet den Parabelabbildungsprozess ausführlicher ab, einschließlich einer gefilterten Wolkentextur 404, die zu einer geometrischen Parabeloberfläche 408 abgebildet wird, die der Himmelskuppel entspricht. Indem der Mittenpunkt 410 der Parabeloberfläche 408 als ein Blickpunkt genommen wird, der direkt oberhalb von der virtuellen Kamera entlang der Z-Achse in der virtuellen 3D-Umgebung liegt, bildet der Prozessor 108 die Wolken-Noise-Textur entlang der Z-Achse zu der Parabeloberfläche über der virtuellen Kamera ab. Wie in 4 abgebildet, entspricht der Mittenpunkt 410 einem Scheitelpunkt der geometrischen parabolischen Oberfläche. Während 4 eine einzelne Textur 404 zu veranschaulichenden Zwecken abbildet, werden bei einigen Ausführungsformen eine einzelne gefilterte Textur oder mehrere gefilterte Texturen über eine größere Fläche gekachelt, und die gekachelten Texturen werden zu der parabolischen Oberfläche 408 abgebildet.
  • Unter erneuter Bezugnahme auf 2 wird der Prozess 200 fortgesetzt, wenn der Prozessor 108 auf alle Texel in der abgebildeten Textur, die der Wolke entsprechen, eine Farbe anwendet (Block 220). Bei einer Ausführungsform der Bordinformation 104 erzeugt der Prozessor 108 die Farbe unter Verwenden von drei separaten Subtexel-Farbwerten, die roten, grünen und blauen Farbpegeln entsprechen, die sich in der Anzeigevorrichtung 144 kombinieren, um eine abschließende Ausgabefarbe jedes Texels in der gerenderten Szene zu erzeugen. Wie oben unter Bezugnahme auf die Verarbeitung des Blocks 212 beschrieben, erzeugt der Prozessor 108 die Form und Dichte von Wolken unter Verwenden des Schwellenwertprozesses, aber dieser Prozess verleiht nicht die abschließenden Farben, die mit den gerenderten Wolken assoziiert sind. Eine weiße Schönwetterwolke kann zum Beispiel dieselbe allgemeine Größe und Form aufweisen wie eine dunklere Gewitterwolke, aber die zwei Wolken haben unterschiedliche Farben. Zusätzlich wirken sich die relativen Positionen der Sonne, des Monds und potenziell anderer Lichtquellen in der virtuellen 3D-Umgebung auf die Farben der Wolken aus.
  • Um Farben auf die Wolkentexel anzuwenden, wendet der Prozessor 108 eine Sub-Scattering-Farbe auf die Wolke an und synthetisiert die abschließende Farbe der Wolke basierend auf allen Eingaben. Um weniger Verarbeitungsressourcen in der GPU-Pipeline zu verbrauchen, setzt der Prozess 200 ein modifiziertes isotropes Single-Scatter-Modell ein, das eine modifizierte Version des isotropen Mie-Modells ist, um die Wolkenfarbe zu rendern. Während das allgemeine Mie-Modell des Stands der Technik das Berechnen der Stärke gestreuten Lichts basierend auf einer Summierung einer unendlichen Reihe von Gliedern involviert, setzt der Prozess 200 eine numerische Annäherung ein, die rechnerisch effizienter ist als die unendlichen Reihen des Mie-Modells, während immer noch präzise Wolkenfarben in 3D-Abbildungsapplikationen geliefert werden. Der Prozessor 108 führt eine vereinfachte Berechnung aus, die durch die folgende Funktion beschrieben wird: cloudColor = skyColor* ( 1.0 cloudIntensity ) + extinctColor * cloudAmbient
    Figure DE102019204242A1_0001
    Bei der vorstehenden Funktion ist der skyColor-Parameter ein Standardfarbwert für den Himmel in der virtuellen dreidimensionalen Umgebung (zum Beispiel normal, Nebel oder Sandsturm) ohne die Gegenwart irgendwelcher Wolken. Der cloudAmbient-Parameter ist ein Standardfarbwert der Wolken, der als ein Teil eines Gesamtfarbthemas für die virtuelle 3D-Umgebung ausgewählt wird. Der cloudIntensity-Parameter variiert auf einer texelweisen Basis und entspricht dem Wert jedes Texels, das den oben beschriebenen Schwellenwert überschreitet, der zu einem numerischen Bereich von 0,0 bis 1,0 abgebildet wird. Der extinctColor-Parameter entspricht einem Niveau von Lichtabsorption und Lichtübertragung für jedes Texel in der Wolkentextur, das auf dem cloudintensity-Parameterwert jedes Texels basiert. Bei einer Ausführungsform wird der extinctColor-Parameter empirisch unter Verwenden einer Funktion oder eines Satzes von Funktionen, die/der die Absorption von Licht aus den Lichtquellen in der Wolke simuliert, bestimmt. Ein Beispiel eines Satzes von drei Funktionen, die das rote (R), das grüne (G) und das blaue (B) Subtexel-Farbelement eines einzelnen Texels abbilden, ist:
    • extinctColor.R = e(-cloudIntensity*C1); extinctColor.G = e(-cloudIntensity*C2) und extinctColor.B = e(-cloudIntensity*C3) wobei C1, C2 und C3 empirisch bestimmte numerische Koeffizientenwerte sind. Der cloudColor-Wert variiert daher zwischen Texeln der Wolke basierend auf den individuellen Texelwerten, die sich auf den cloudintensity- und den extinctColor-Parameterwert auswirken, um Grafiken von Wolken zu erzeugen, die Texel mit variierenden Farben aufweisen, wie Wolken, die von Weiß zu dunkleren Nuancen von Grau oder anderen Farben variieren können, einschließlich Wolken mit anderen Farben aufgrund der Auswirkungen von Sonnenlicht bei Morgengrauen oder Abenddämmerung. In dem Prozessor 108 kann die GPU 116 die Farbberechnung auf einer texelweisen Basis unter Verwenden eines Fragment-Shader-Programms ausführen, oder die CPU 112 kann die Farbe für jedes Texel in der Wolke basierend auf der oben beschriebenen Funktion berechnen.
  • Nachdem der Prozessor 108 die Farben auf die Texel in der Textur, die zuvor zu der Parabelhimmelskuppeloberfläche abgebildet wurde, angewandt hat, erzeugt der Prozessor 108 eine grafische Anzeige der virtuellen 3D-Umgebung einschließlich der Wolken, die oben beschrieben sind (Block 224). In dem Bordinformationssystem 104 erzeugt der Prozessor 108 die grafische Anzeige der virtuellen 3D-Umgebung basierend auf der Lage einer virtuellen Kamera innerhalb der virtuellen 3D-Umgebung, um ein gerastertes 2D-Bild mit der Anzeigevorrichtung 144 basierend auf dem Abschnitt der virtuellen 3D-Umgebung, der durch einen Sichtkegelstumpf der virtuellen Kamera gesehen wird, unter Verwenden von 3D-Renderingtechniken, die ansonsten gemäß dem Stand der Technik bekannt sind, zu erzeugen. Der Prozessor 108 erzeugt auch grafische Renderings von Gelände, Gebäuden, Referenzpunkten und anderer Merkmale in der virtuellen 3D-Umgebung zusätzlich zu dem Himmel mit den Wolken. Die Anzeigevorrichtung 144 stellt eine visuelle Abbildung eines Abschnitts der Parabeloberfläche mit dem Himmel und den gerenderten Wolken gemeinsam mit anderen Elementen in dem Blickfeld in der virtuellen 3D-Umgebung für einen Benutzer bereit. Die grafische Abbildung der Wolken stellt einfache und leicht verständliche Informationen bereit, die das Niveau an Wolkenbedeckung in einer geografischen Region betreffen, die in dem Bordinformationssystem angezeigt ist, basierend auf den tatsächlichen Wetterbedingungen, die von den Online-Wetterquellen 190 empfangen werden.
  • 3 bildet zwei Beispiele gerenderter Wolkengrafiken ab, einschließlich der Schwellenwert-gefilterten Texturen, die zu der parabolischen Himmelskuppel abgebildet und unter Verwenden des Prozesses 200, der hierin beschrieben ist, gefärbt wurden. Insbesondere erzeugt die Wolkentextur 304, die einer bewölkten Wolkenbedeckung mit einem Filterschwellenwert gleich null oder sehr niedrigem Filterschwellenwert entspricht, die gerenderte grafische . Der Prozessor 108 wendet einen Schwellenwert von 50 % an, um die gefilterte Textur 308 zu erzeugen, wobei die schwarzen Bereiche in der gefilterten Textur 308 Lücken zwischen den Wolken darstellen. Der Prozessor 108 erzeugt das grafische Rendering 316, das die teilweise Wolkenbedeckung aufweist, basierend auf der gefilterten Textur 308 mit blauem Himmel zwischen den Lücken in den Wolken. Zusätzlich zu den Änderungen in der Dichte und den Formen der Wolken basierend auf den gefilterten Texturen ermöglicht das Färbungsverfahren des Prozesses 200, dass die Wolken unterschiedliche Farben aufweisen, wie die dunklere Färbung in dem bewölkten Wolkenrendering 312 und die hellere Färbung in dem Schönwetter-Wolkenrendering 316. Bei dem Beispiel der 3 basieren beide gefilterten Texturen 304 und 308 auf derselben darunterliegenden Wolkentextur, die das Bordinformationssystem 104 in den Wolkentexturdaten 128 in dem Speicher 120 speichert. Der Prozess 200 ermöglicht den Gebrauch einer einzigen Wolkentextur oder einer kleinen Anzahl unterschiedlicher Wolkentexturen, um Grafiken zu erzeugen, die einen weiten Bereich von Wolkenbedingungen von bewölkt zu überwiegend sonnig abbilden, ohne komplexe Renderings von Wolken für jede der unterschiedlichen Wetterbedingungen neu erzeugen zu müssen.
  • Wie oben beschrieben, stellt der Prozess 200 ein rechnerisch effizientes Verfahren zum Erzeugen einer grafischen Abbildung von Wolken in einer virtuellen 3D-Umgebung bereit. Bei einigen Ausführungsformen animiert das Bordinformationssystem 104 auch die Wolken mit der Zeit, um die Effekte von Wind auf die Wolken in der virtuellen 3D-Umgebung abzubilden (Block 228). Der Prozessor 108 empfängt die Windgeschwindigkeits- und Windrichtungsdaten mit den Wetterbedingungsdaten von den Online-Wetterdatenquellen 190, wie oben unter Bezugnahme auf die Verarbeitung von Block 208 beschrieben. Bei einer Ausführungsform animiert der Prozessor 108 Bewegung der Wolken durch Anwenden eines räumlichen Offsets auf die Position der Texturabbildung für die Wolkentextur zu der Hyperbeloberfläche über eine Reihe gerenderter Rahmen, um Bewegung der Wolken mit einer Richtung und Geschwindigkeit zu zeigen, die den Windbedingungen entsprechen, wobei jeder Rahmen eine einzige grafische Abbildung der Wolken in der virtuellen dreidimensionalen Umgebung aufweist, und der Prozess 200 erzeugt eine Reihe von Rahmen mit unterschiedlichen Renderings der Wolken, um eine animierte Abbildung der Wolken in der virtuellen dreidimensionalen Umgebung zu erzeugen.
  • Bei einer anderen Ausführungsform ändert der Prozessor 108 auch die Formen der Wolken im Laufe der Zeit, um die Formänderungen tatsächlicher Wolken auf dem Himmel nachzuahmen. Bei dieser Ausführungsform verwendet der Prozessor 108 eine zweite Wolkentextur, die in den Wolkentexturdaten 128 gespeichert ist, um als eine Offset-Textur von den aktuell gerenderten Wolken, die unter Verwenden einer ersten Wolkentextur erzeugt werden, zu dienen, um eine dritte Textur basierend auf einer Kombination der Texeln in der ersten Wolkentextur und der zweiten Wolkentextur zu erzeugen. Der Prozessor 108 erzeugt ein Offset zwischen den zwei Texturen, das sich zwischen Rahmen der Animation ändert, um eine unterschiedliche Wolkentextur für jeden Rahmen der Animation zu erzeugen. Bei dem Bordinformationssystem 104 erzeugt der Prozessor 108 eine Kombination der zwei Texturen für die animierten Wolkengrafiken unter Verwenden der CPU 112, der GPU 116 oder einer Kombination beider Hardwarekomponenten.
  • Bei einer Ausführungsform erzeugt der Prozessor 108 zum Beispiel eine dritte Textur mit Texeln, die aus einer Kombination der Texel in der ersten Wolkentextur und der zweiten Wolkentextur erzeugt werden, zum Beispiel unter Verwenden der folgenden Funktion: texelu,v = (first_texture [u,v] + second_texture [u+ texOffsetu, v + texOffsetv]) / 2, wobei u,v zweidimensionale Koordinaten eines Texels sowohl in der ersten als auch der zweiten Textur darstellen, und texOffsetu- und texOffsetv numerische Offsetwerte für eine unterschiedliche Lage in der zweiten Textur sind, die sich zwischen jedem gerenderten Rahmen ändern, um Animation der Wolken abzubilden. Bei einigen Ausführungsformen beginnen der texOffsetu- und texOffsetv-Wert bei 0 für einen anfänglichen Rahmen der Animationssequenz, und der Prozessor 108 erhöht oder verringert die Texturoffsetwerte basierend auf den Wetterdaten durch Variieren von Mengen in subsequenten Rahmen, um die Effekte sowohl der Windrichtung als auch der Windgeschwindigkeit auf die Wolken abzubilden. Die oben stehende Funktion erzeugt ein arithmetisches Mittel der zwei Texelwerte, obwohl bei anderen Ausführungsformen die zwei Texelwerte auf eine andere Art als ein arithmetisches Mittel kombiniert werden können. Der Prozessor 108 verwendet die Texel, die aus der Kombination der zwei Texturen erzeugt werden, um eine dritte Wolkentextur zu erzeugen, die als eine Eingabe dient, um eine andere gefilterte Textur mit unterschiedlichen cloudIntensity-Werten für jedes Texel während jedes Rahmens der Animation zu erzeugen, und verwendet die modifizierten Texelwerte, um zu der Verarbeitung, die oben unter Bezugnahme auf die Blöcke 212 bis 224 beschrieben ist, zurückzukehren, um eine Reihe grafischer Renderings für eine animierte Abbildung von Wolken in der virtuellen dreidimensionalen Umgebung zu erzeugen.
  • Die Kombination der ersten Wolkentextur und der zweiten Wolkentextur mit variierenden Offsetwerten erzeugt eine unterschiedliche gefilterte Textur zum Rendern jedes zusätzlichen Grafikrahmens der virtuellen dreidimensionalen Umgebung, der sowohl Bewegung als auch Änderung der Form der Wolken in der virtuellen dreidimensionalen Umgebung abbildet. Der Prozess 200 wird während zusätzlicher Rahmen fortgesetzt, während der Prozessor 108 eine vierte Textur basierend auf einer Kombination der ersten und zweiten Wolkentextur mit einem zweiten Offset zwischen der ersten und zweiten Textur als eine Eingabe erzeugt, um eine zweite gefilterte Textur für einen subsequenten Rahmen der Animation zu erzeugen, und das Bordinformationssystem 104 führt zusätzliche Iterationen des Prozesses 200 aus, um zusätzliche Rahmen der Animation, wie oben beschrieben, zu erzeugen. Dieser Prozess liefert plausibles Verhalten von Wolken in einem 3D-Navigationssystem, einschließlich: Wolkenrollen, Verschwinden, Auftauchen und Vermischen, wie in der Animationssequenz der 5 gezeigt. In 5 erzeugt das Bordinformationssystem 104 eine Reihe gerenderter Rahmen der Wolken mit mehreren Bildrahmen 504A bis 504F, die in einer Zeitsequenz erzeugt werden, um die Bewegungen von Wolken auf dem Himmel basierend auf der Windgeschwindigkeit und Windrichtung abzubilden.
  • Die Ausführungsformen, die hierin beschrieben sind, stellen Verbesserungen für Computertechnologie bereit und insbesondere für den Betrieb computergestützter Systeme, die spezifisch konfiguriert sind, um Grafiken zu erzeugen. Nicht ausschließliche Beispiele von Verbesserungen, die hierin beschrieben sind, weisen einen Prozess zum Erzeugen grafischer Renderings von Wolken in einer virtuellen dreidimensionalen Umgebung auf, der weniger rechnerische Ressourcen im Vergleich zu Wolkenrenderingtechniken des Stands der Technik erfordert, was die Basis computergestützter Vorrichtungen erweitert, die effizient die Wolken in einer virtuellen 3D-Umgebung im Vergleich zu weniger effizienten Renderingtechniken des Stands der Technik rendern können. Die Ausführungsformen, die hierin beschrieben sind, ermöglichen auch das effiziente Rendern von Wolken in einer virtuellen 3D-Umgebung, die den tatsächlichen Wolkenbedeckungsbedingungen in einer geografischen Region entsprechen, die in der virtuellen 3D-Umgebung abgebildet ist, was die Funktion der 3D-Abbildungs- und Navigationsapplikationen verbessert.
  • Es ist klar, dass Varianten der oben offenbarten und andere Merkmale und Funktionen oder Alternativen davon nach Wunsch zu vielen anderen unterschiedlichen Systemen, Anwendungen oder Verfahren kombiniert werden können. Diverse derzeit unvorhergesehene oder unerwartete Alternativen, Änderungen, Variationen oder Verbesserungen können anschließend vom Fachmann vorgenommen werden, die auch von den folgenden Ansprüchen eingeschlossen sein sollen.

Claims (16)

  1. Verfahren zum Erzeugen von Grafiken einer virtuellen dreidimensionalen (3D) Umgebung, das Folgendes umfasst: Empfangen mit einem Prozessor von Wetterdaten, einschließlich Wolkenbedeckungsinformationen, die einer geografischen Region entsprechen; Abrufen mit einem Prozessor einer Textur, die Wolken entspricht, aus einem Speicher; Erzeugen mit dem Prozessor einer gefilterten Textur basierend auf einem Schwellenwertfilter, das auf die Textur angewandt wird, wobei das Erzeugen einen Filterschwellenwert aufweist, der den Wolkenbedeckungsinformationen in den Wetterdaten entspricht; Abbilden mit dem Prozessor der gefilterten Textur zu einer geometrischen Oberfläche, die einer Himmelskuppel in der virtuellen 3D-Umgebung entspricht; Färben mit dem Prozessor einer Mehrzahl von Texeln in der abgebildeten gefilterten Textur auf der geometrischen Oberfläche, die in dem Speicher gespeichert ist, basierend auf einem isotropen Single-Scatter-Farbmodell; und Erzeugen mit einer Anzeigevorrichtung, die an den Prozessor angeschlossen ist, einer grafischen Abbildung der virtuellen 3D-Umgebung, die der geografischen Region entspricht, einschließlich mindestens eines Abschnitts der geometrischen Oberfläche, die der Himmelskuppel mit Wolken entspricht, basierend auf der Mehrzahl von Texeln der gefilterten Textur, die gefärbt und zu der geometrischen Oberfläche abgebildet werden.
  2. Verfahren nach Anspruch 1, wobei das Erzeugen der gefilterten Textur weiter Folgendes umfasst: Identifizieren mit dem Prozessor eines numerischen Schwellenwerts, der den Wolkenbedeckungsinformationen in den Wetterdaten entspricht; und Löschen mit dem Prozessor einer Mehrzahl von Texeln in der Textur, die einen numerischen Wert aufweisen, der niedriger ist als der numerische Schwellenwert, um die gefilterte Textur zu erzeugen, die einem Wolkenbedeckungsniveau entspricht, das den Wolkenbedeckungsinformationen in den Wetterdaten entspricht.
  3. Verfahren nach Anspruch 2, wobei das Löschen weiter Folgendes umfasst: Einstellen mit dem Prozessor eines numerischen Werts eines Texels in der Mehrzahl von Texeln, die gelöscht werden, auf einen vorbestimmten numerischen Wert.
  4. Verfahren nach Anspruch 2, wobei das Löschen weiter Folgendes umfasst: Einstellen mit dem Prozessor eines Alphakanalwerts eines Texels in der Mehrzahl von Texeln, die gelöscht werden, auf einen Wert, der angibt, dass das Texel durchsichtig ist.
  5. Verfahren nach Anspruch 1, wobei das Abbilden der Textur weiter Folgendes umfasst: Abbilden mit dem Prozessor der gefilterten Textur zu einer geometrischen Parabeloberfläche, die der Himmelskuppel in der virtuellen 3D-Umgebung entspricht.
  6. Verfahren nach Anspruch 1, wobei das Färben der Mehrzahl von Texeln weiter Folgendes umfasst: Identifizieren mit dem Prozessor einer cloudColor-Farbe für mindestens ein Texel in der Mehrzahl von Texeln in der abgebildeten gefilterten Textur unter Verwenden der folgenden Funktion: cloudColor = skyColor* ( 1.0 cloudIntensity ) + extinctColor * cloudAmbient
    Figure DE102019204242A1_0002
    wobei skyColor ein Parameter ist, der einer Standardfarbe eines Himmels in der virtuellen dreidimensionalen Umgebung entspricht, cloudIntensity ein Parameter ist, der einem Wert des mindestens einen Texels entspricht, extinctColor ein Parameter ist, der einem Niveau von Lichtabsorption und Lichtübertragung basierend auf dem cloudIntensity-Parameter des mindestens einen Texels entspricht, und cloudAmbient ein Parameter ist, der einem Standardfarbwert für das mindestens eine Texel entspricht.
  7. Verfahren nach Anspruch 1, wobei das Empfangen der Wetterdaten weiter Folgendes umfasst: Empfangen mit dem Prozessor und einer drahtlosen Netzwerkvorrichtung der Wetterdaten von einer Online-Wetterinformationsquelle.
  8. Verfahren zum Erzeugen von Grafiken einer virtuellen dreidimensionalen (3D) Umgebung, das Folgendes umfasst: Empfangen mit einem Prozessor von Wetterdaten, einschließlich Wolkenbedeckungsinformationen, Windgeschwindigkeitsinformationen und Windrichtungsinformationen, die einer geografischen Region entsprechen; Abrufen mit einem Prozessor einer ersten Textur, die Wolken entspricht, aus einem Speicher; Abrufen mit einem Prozessor einer zweiten Textur, die Wolken entspricht, aus dem Speicher, wobei die zweite Textur von der ersten Textur unterschiedlich ist; Erzeugen mit dem Prozessor einer dritten Textur, die einer Kombination der ersten Textur und der zweiten Textur entspricht, mit einem ersten Offset zwischen der ersten Textur und der zweiten Textur, das den Windgeschwindigkeitsinformationen und den Windrichtungsinformationen entspricht; Erzeugen mit dem Prozessor einer ersten gefilterten Textur basierend auf einem Schwellenwertfilter, das auf die dritte Textur angewandt wird, wobei das Erzeugen einen Filterschwellenwert aufweist, der den Wolkenbedeckungsinformationen in den Wetterdaten entspricht; Abbilden mit dem Prozessor der ersten gefilterten Textur zu einer geometrischen Oberfläche, die einer Himmelskuppel in der virtuellen 3D-Umgebung entspricht; Färben mit dem Prozessor einer Mehrzahl von Texeln in der abgebildeten ersten gefilterten Textur auf der geometrischen Oberfläche, die in dem Speicher gespeichert ist, basierend auf einem isotropen Single-Scatter-Farbmodell; Erzeugen mit einer Anzeigevorrichtung, die an den Prozessor angeschlossen ist, einer ersten grafischen Abbildung der virtuellen 3D-Umgebung, die der geografischen Region entspricht, einschließlich mindestens eines Abschnitts der geometrischen Oberfläche, die der Himmelskuppel mit Wolken entspricht, basierend auf der Mehrzahl von Texeln der ersten gefilterten Textur, die gefärbt und zu der geometrischen Oberfläche abgebildet werden; Erzeugen mit dem Prozessor einer vierten Textur, die einer weiteren Kombination der ersten Textur und der zweiten Textur entspricht, mit einem zweiten Offset zwischen der ersten Textur und der zweiten Textur, das den Windgeschwindigkeitsinformationen und den Windrichtungsinformationen entspricht, wobei das zweite Offset von dem ersten Offset unterschiedlich ist, Erzeugen mit dem Prozessor einer zweiten gefilterten Textur basierend auf dem Schwellenwertfilter, das auf die vierte Textur angewandt wird, wobei das Erzeugen den Filterschwellenwert aufweist, der den Wolkenbedeckungsinformationen in den Wetterdaten entspricht; Abbilden mit dem Prozessor der zweiten gefilterten Textur zu der geometrischen Oberfläche, die einer Himmelskuppel in der virtuellen 3D-Umgebung entspricht; Färben mit dem Prozessor einer Mehrzahl von Texeln in der abgebildeten zweiten gefilterten Textur auf der geometrischen Oberfläche, die in dem Speicher gespeichert ist, basierend auf dem isotropen Single-Scatter-Farbmodell; und Erzeugen mit der Anzeigevorrichtung einer zweiten grafischen Abbildung der virtuellen 3D-Umgebung, die der geografischen Region entspricht, einschließlich mindestens eines Abschnitts der geometrischen Oberfläche, die der Himmelskuppel mit Wolken entspricht, basierend auf der Mehrzahl von Texeln der zweiten gefilterten Textur, die gefärbt und zu der geometrischen Oberfläche abgebildet werden, um eine animierte Abbildung der Wolken zu erzeugen.
  9. System zum Erzeugen von Grafiken einer virtuellen dreidimensionalen (3D) Umgebung, das Folgendes umfasst: eine Anzeigevorrichtung; eine Netzwerkvorrichtung; einen Speicher, der konfiguriert ist, um Folgendes zu speichern: programmierte Anweisungen; eine Textur, die Wolken entspricht; und eine geometrische Oberfläche, die einer Himmelskuppel in der virtuellen 3D-Umgebung entspricht; und einen Prozessor, der betrieblich mit der Anzeigevorrichtung, der Netzwerkvorrichtung und dem Speicher verbunden ist, wobei der Prozessor konfiguriert ist, um die programmierten Anweisungen auszuführen, um: Wetterdaten einschließlich Wolkenbedeckungsinformationen zu empfangen, die einer geografischen Region entsprechen, unter Verwenden der Netzwerkvorrichtung; Abrufen der Textur, die Wolken entspricht, aus dem Speicher; Erzeugen einer gefilterten Textur basierend auf einem Schwellenwertfilter, das auf die Textur angewandt wird, wobei das Erzeugen einen Filterschwellenwert aufweist, der den Wolkenbedeckungsinformationen in den Wetterdaten entspricht; Abbilden der gefilterten Textur zu einer geometrischen Oberfläche, die einer Himmelskuppel in der virtuellen 3D-Umgebung entspricht; Färben einer Mehrzahl von Texeln in der abgebildeten gefilterten Textur auf der geometrischen Oberfläche, die in dem Speicher gespeichert ist, basierend auf einem isotropen Single-Scatter-Farbmodell; und Erzeugen einer grafischen Abbildung der virtuellen 3D-Umgebung, die der geografischen Region entspricht, einschließlich mindestens eines Abschnitts der geometrischen Oberfläche, die der Himmelskuppel mit Wolken entspricht, basierend auf der Mehrzahl von Texeln der gefilterten Textur, die gefärbt und zu der geometrischen Oberfläche abgebildet werden, unter Verwenden der Anzeigevorrichtung.
  10. System nach Anspruch 9, wobei der Prozessor weiter konfiguriert ist, um: einen numerischen Schwellenwert zu identifizieren, der den Wolkenbedeckungsinformationen in den Wetterdaten entspricht; und eine Mehrzahl von Texeln in der Textur zu löschen, die einen numerischen Wert aufweisen, der niedriger ist als der numerische Schwellenwert, um die gefilterte Textur zu erzeugen, die einem Wolkenbedeckungsniveau entspricht, das den Wolkenbedeckungsinformationen in den Wetterdaten entspricht.
  11. System nach Anspruch 9, wobei der Prozessor weiter konfiguriert ist, um: einen numerischen Wert eines Texels in der Mehrzahl von Texeln, die gelöscht werden, auf einen vorbestimmten numerischen Wert einzustellen.
  12. System nach Anspruch 9, wobei der Prozessor weiter konfiguriert ist, um: einen Alphakanalwert eines Texels in der Mehrzahl von Texeln, die gelöscht werden, auf einen Wert einzustellen, der angibt, dass das Texel durchsichtig ist.
  13. System nach Anspruch 9, wobei der Prozessor weiter konfiguriert ist, um: die gefilterte Textur zu einer geometrischen Parabeloberfläche abzubilden, die in dem Speicher gespeichert ist, wobei die geometrische Parabeloberfläche der Himmelskuppel in der virtuellen 3D-Umgebung entspricht.
  14. System nach Anspruch 9, wobei der Prozessor weiter konfiguriert ist, um: eine cloudColor-Farbe für mindestens ein Texel in der Mehrzahl von Texeln in der abgebildeten gefilterten Textur unter Verwenden der folgenden Funktion zu identifizieren: cloudColor = skyColor* ( 1.0 cloudIntensity ) + extinctColor * cloudAmbient
    Figure DE102019204242A1_0003
    wobei skyColor ein Parameter ist, der einer Standardfarbe eines Himmels in der virtuellen dreidimensionalen Umgebung entspricht, cloudIntensity ein Parameter ist, der einem Wert des mindestens einen Texels entspricht, extinctColor ein Parameter ist, der einem Niveau von Lichtabsorption und Lichtübertragung basierend auf dem cloudIntensity-Parameter des mindestens einen Texels entspricht, und cloudAmbient ein Parameter ist, der einem Standardfarbwert für das mindestens eine Texel entspricht.
  15. System nach Anspruch 9, wobei die Anzeigevorrichtung, die Netzwerkvorrichtung, der Speicher und der Prozessor in ein Bordinformationssystem integriert sind.
  16. System nach Anspruch 9, wobei die Anzeigevorrichtung, die Netzwerkvorrichtung, der Speicher und der Prozessor in eine mobile elektronische Vorrichtung integriert sind.
DE102019204242.2A 2018-03-28 2019-03-27 Verfahren und System zum effizienten Rendern von Wolkenwitterungseinflussgrafiken in dreidimensionalen Karten Pending DE102019204242A1 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US15/938,726 US10535180B2 (en) 2018-03-28 2018-03-28 Method and system for efficient rendering of cloud weather effect graphics in three-dimensional maps
US15/938,726 2018-03-28

Publications (1)

Publication Number Publication Date
DE102019204242A1 true DE102019204242A1 (de) 2019-10-02

Family

ID=67909888

Family Applications (1)

Application Number Title Priority Date Filing Date
DE102019204242.2A Pending DE102019204242A1 (de) 2018-03-28 2019-03-27 Verfahren und System zum effizienten Rendern von Wolkenwitterungseinflussgrafiken in dreidimensionalen Karten

Country Status (4)

Country Link
US (1) US10535180B2 (de)
JP (1) JP7277200B2 (de)
CN (1) CN110335333A (de)
DE (1) DE102019204242A1 (de)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112767522A (zh) * 2020-11-27 2021-05-07 成都完美时空网络技术有限公司 虚拟对象风动画的渲染方法及装置、存储介质、电子装置
CN117218868A (zh) * 2023-11-07 2023-12-12 福建理工大学 一种基于几何散射图网络的交通流预测方法

Families Citing this family (11)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US11302040B2 (en) * 2019-06-24 2022-04-12 Samsung Electronics Co., Ltd. System and method for providing weather effect in image
WO2020171425A1 (en) 2019-02-18 2020-08-27 Samsung Electronics Co., Ltd. System and method for providing weather effect in image
US10964082B2 (en) * 2019-02-26 2021-03-30 Snap Inc. Avatar based on weather
US11648945B2 (en) * 2019-03-11 2023-05-16 Nvidia Corporation Intersection detection and classification in autonomous machine applications
CN111161393B (zh) * 2019-12-31 2023-10-10 威创集团股份有限公司 一种基于3d地图的实时光效动态展示方法及系统
US20220212678A1 (en) * 2020-10-27 2022-07-07 ClearMotion, Inc. Systems and methods for vehicle control using terrain-based localization
US11725959B2 (en) * 2020-11-13 2023-08-15 Nvidia Corporation Automatic graphical content recognition for vehicle applications
CN112263837B (zh) * 2020-11-16 2021-12-21 腾讯科技(深圳)有限公司 虚拟环境中的天气渲染方法、装置、设备及存储介质
CN112907716B (zh) * 2021-03-19 2023-06-16 腾讯科技(深圳)有限公司 虚拟环境中的云朵渲染方法、装置、设备及存储介质
WO2022220821A1 (en) * 2021-04-14 2022-10-20 Google Llc Digital map animation using real-world signals
CN114399612B (zh) * 2021-11-29 2023-06-30 武汉未来幻影科技有限公司 一种用于驾考模拟场景的天气仿真方法

Family Cites Families (22)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US5469535A (en) 1992-05-04 1995-11-21 Midway Manufacturing Company Three-dimensional, texture mapping display system
US5480305A (en) * 1993-10-29 1996-01-02 Southwest Research Institute Weather simulation system
US6266063B1 (en) 1997-10-20 2001-07-24 Baron Services, Inc. Real-time three-dimensional weather display method and weathercast system
WO1999063489A1 (en) 1998-06-05 1999-12-09 Evans & Sutherland Computer Corporation Method and system for antialiased procedural solid texturing
US6788304B1 (en) 1998-06-11 2004-09-07 Evans & Sutherland Computer Corporation Method and system for antialiased procedural solid texturing
US6268861B1 (en) 1998-08-25 2001-07-31 Silicon Graphics, Incorporated Volumetric three-dimensional fog rendering technique
JP2002183763A (ja) 2000-12-18 2002-06-28 Namco Ltd 画像生成システム、プログラム及び情報記憶媒体
US6961061B1 (en) 2002-04-19 2005-11-01 Weather Central, Inc. Forecast weather video presentation system and method
US7724258B2 (en) 2004-06-30 2010-05-25 Purdue Research Foundation Computer modeling and animation of natural phenomena
US7710418B2 (en) * 2005-02-04 2010-05-04 Linden Acquisition Corporation Systems and methods for the real-time and realistic simulation of natural atmospheric lighting phenomenon
US20060253246A1 (en) 2005-04-18 2006-11-09 Cera Christopher D Data-driven combined traffic/weather views
US20090040220A1 (en) 2007-02-05 2009-02-12 Jonathan Gibbs Hybrid volume rendering in computer implemented animation
US8223063B2 (en) * 2009-01-30 2012-07-17 Kelly Terence F System and method for presenting wind speed information in a planar representation
US9752889B2 (en) 2013-03-14 2017-09-05 Robert Bosch Gmbh Time and environment aware graphical displays for driver information and driver assistance systems
WO2015095529A1 (en) * 2013-12-19 2015-06-25 Google Inc. Image adjustment using texture mask
US9659341B2 (en) * 2014-06-25 2017-05-23 Qualcomm Incorporated Texture pipe as an image processing engine
CN106575158B (zh) * 2014-09-08 2020-08-21 英特尔公司 环境映射虚拟化机构
JP6452087B2 (ja) 2014-11-14 2019-01-16 国立研究開発法人海洋研究開発機構 画像処理装置、画像処理方法、画像処理プログラム
CN104616243B (zh) * 2015-01-20 2018-02-27 北京道和汇通科技发展有限公司 一种高效的gpu三维视频融合绘制方法
CN105869214A (zh) 2015-11-26 2016-08-17 乐视致新电子科技(天津)有限公司 一种基于虚拟现实设备的视锥体裁剪方法及装置
GB2546286B (en) * 2016-01-13 2020-02-12 Sony Interactive Entertainment Inc Apparatus and method of image rendering
CN107329116B (zh) * 2017-05-18 2020-04-14 陕西长岭电子科技有限责任公司 机载雷达三维运动场景显示方法

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112767522A (zh) * 2020-11-27 2021-05-07 成都完美时空网络技术有限公司 虚拟对象风动画的渲染方法及装置、存储介质、电子装置
CN117218868A (zh) * 2023-11-07 2023-12-12 福建理工大学 一种基于几何散射图网络的交通流预测方法
CN117218868B (zh) * 2023-11-07 2024-03-22 福建理工大学 一种基于几何散射图网络的交通流预测方法

Also Published As

Publication number Publication date
US20190304159A1 (en) 2019-10-03
JP2019175457A (ja) 2019-10-10
US10535180B2 (en) 2020-01-14
CN110335333A (zh) 2019-10-15
JP7277200B2 (ja) 2023-05-18

Similar Documents

Publication Publication Date Title
DE102019204242A1 (de) Verfahren und System zum effizienten Rendern von Wolkenwitterungseinflussgrafiken in dreidimensionalen Karten
US9752889B2 (en) Time and environment aware graphical displays for driver information and driver assistance systems
EP2491530B1 (de) Bestimmung der pose einer kamera
DE202014010937U1 (de) Überlagerung zweidimensionaler Kartendaten auf einer dreidimensionalen Szene
DE102019204248A1 (de) Verfahren und system zum effizienten rendern von 3d-partikelsystemen für wettereffekte
DE102019204279A1 (de) Verfahren und system zum effizienten wiedergeben akkumulierten niederschlags für wettereffekte
DE202012013426U1 (de) Integrieren von Karten und Straßenansichten
US9275493B2 (en) Rendering vector maps in a geographic information system
US20090273601A1 (en) Image Presentation Method and Apparatus for 3D Navigation and Mobile Device Including the Apparatus
DE202014010917U1 (de) Glatte Zeichenebene für das Rendern von Vektordaten komplexer dreidimensionaler Objekte
US9528845B2 (en) Occlusion-reduced 3D routing for 3D city maps
DE202012013434U1 (de) Vorabruf von Kartenkacheldaten entlang einer Route
DE102012023481A1 (de) Vorrichtung, Verfahren und Computerprogramm zur räumlichen Darstellung eines digitalen Kartenausschnitts
DE202012013439U1 (de) Das Verwenden von Banding zur Optimierung der Kartenwiedergabe in einer dreidimensionalen Neigungsansicht
DE102015120999A1 (de) Verfahren zur Erzeugung und Darstellung einer computergenerierten, eine Realumgebung abbildenden Simulationsumgebung
EP1936328B1 (de) Verfahren zum Darstellen eines Kartenausschnittes in einem Navigationssystem und Navigationssystem hierfür
DE112014006991B4 (de) Zeichensteuervorrichtung
DE102015217258A1 (de) Verfahren und Vorrichtung zum Darstellen eines Fahrzeugumfeldes eines Fahrzeuges
EP1875167A1 (de) Verfahren zur dreidimensionalen darstellung einer digitalen strassenkarte
DE102018123401B4 (de) Systeme und verfahren für eine umgebungsanimation und projektion einer umgebungsanimation auf eine schnittstelle
DE112016006725T5 (de) Bildanzeigevorrichtung, bildanzeigeverfahren und bildanzeigeprogramm
EP1715294A1 (de) Verfahren zur dreidimensionalen Darstellung einer digitalen Straßenkarte
DE102008051503A1 (de) Verfahren und Vorrichtung zur Kartenanzeige und Fahrzeugnavigationssystem hiermit
DE10246122A1 (de) Verfahren und Vorrichtung zur Darstellung eines computermodellierten Gegenstands

Legal Events

Date Code Title Description
R012 Request for examination validly filed