DE112013005715T5 - 3D-Bilderzeugungsvorrichtung und 3D-Bilderzeugungsverfahren - Google Patents

3D-Bilderzeugungsvorrichtung und 3D-Bilderzeugungsverfahren Download PDF

Info

Publication number
DE112013005715T5
DE112013005715T5 DE112013005715.8T DE112013005715T DE112013005715T5 DE 112013005715 T5 DE112013005715 T5 DE 112013005715T5 DE 112013005715 T DE112013005715 T DE 112013005715T DE 112013005715 T5 DE112013005715 T5 DE 112013005715T5
Authority
DE
Germany
Prior art keywords
objects
rendering
render
cpu
vertex attribute
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.)
Withdrawn
Application number
DE112013005715.8T
Other languages
English (en)
Inventor
Kazuyuki Nakata
Yusuke Inoue
Matteo Salardi
Kentarou Kajita
Soju Matsumoto
Takumi Ishikawa
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.)
Denso Corp
Original Assignee
Denso Corp
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 Denso Corp filed Critical Denso Corp
Publication of DE112013005715T5 publication Critical patent/DE112013005715T5/de
Withdrawn 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/005General purpose rendering architectures

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)
  • Processing Or Creating Images (AREA)

Abstract

In einer 3D-Bilderzeugungsvorrichtung (1) verknüpft eine CPU (2) Gitter einer Mehrzahl von Objekten, welche eine bestimmte Verknüpfungsbedingung erfüllen, und führt vorab eine Eckpunktattributtransformation an der Mehrzahl von Objekten durch, deren Gitter verknüpft wurden. Die CPU betrachtet die Mehrzahl von Objekten, an welchen die Eckpunktattributtransformation durchgeführt wurde, als ein einzelnes Objekt und überträgt einen Renderbefehl, der das Rendern der Mehrzahl von Objekten, die als das einzelne Objekt angesehen werden, anweist, an eine GPU (3). Die GPU rendert gleichzeitig die Mehrzahl von Objekten, welche als das einzelne Objekt angesehen werden und von dem Renderbefehl angewiesen wurden, welcher von der CPU empfangen worden ist.

Description

  • QUERVERWEIS AUF ZUGEHÖRIGE ANMELDUNG
  • Die vorliegende Erfindung basiert auf den japanischen Patentanmeldungen Nr. 2012-262679 , angemeldet am 30. November 2012, und Nr. 2013-148510, angemeldet am 17. Juli 2013; auf die dortigen Offenbarungsgehalte wird vollinhaltlich Bezug genommen.
  • TECHNISCHES GEBIET
  • Die vorliegende Erfindung betrifft eine 3D-Bilderzeugungsvorrichtung und ein 3D-Bilderzeugungsverfahren, wobei eine Steuereinheit einen Renderbefehl an eine Rendereinheit überträgt, um eine Eckpunktattributtransformation an einem Objekt durchzuführen, welches mit dem Renderbefehl angewiesen worden ist, und um das Objekt zu rendern.
  • STAND DER TECHNIK
  • Es ist eine herkömmliche Technologie einer dreidimensionalen Computergrafik bekannt (nachfolgend mit 3DCG bezeichnet), welche ein Objekt (virtuelles Gebilde) rendert, das in einem virtuellen dreidimensionalen Raum verwaltet wird, indem das Objekt auf eine Bildschirmebene eines Computers mittels Berechnung projiziert wird. Die 3DCG benötigt viele arithmetische Ressourcen. Von daher wird eine Reihe von Prozessen, welche für das Rendern relevant sind, nicht nur alleine von einer zentralen Verarbeitungseinheit (CPU) durchgeführt. Üblicherweise ist eine Grafikverarbeitungseinheit (GPU), welche eine ausgewählte Hardwareressource ist, enthalten, so dass die CPU und die GPU zusammenarbeiten können, um eine Abfolge von Prozessen durchzuführen, welche für das Rendern relevant sind (siehe beispielsweise Patentliteratur 1).
  • DRUCKSCHRIFTLICHER STAND DER TECHNIK
  • PATENTLITERATUR
    • Patentliteratur 1: JP 2007-334739 A
  • ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine derartige 3DCG rendert Objekte unter Verwendung einer CPU, welche einen Renderbefehl an eine GPU für jedes Objekt überträgt. Die GPU führt eine Eckpunktattributtransformation an dem Objekt durch, welches mit dem Renderbefehl angewiesen worden ist, und rendert das Objekt, an welchem die Eckpunktattributtransformation durchgeführt wurde. Bei einer Technik der Übertragung des Renderbefehls für jedes Objekt führt ein Anstieg der Anzahl von Objekten (Objektzahl), die zu rendern sind, nicht nur zu einem linearen Anstieg der Zeit, welche die GPU für den Mehraufwand eines Funktionsaufrufs verbraucht, der mit dem Renderbefehl ausgegeben wird, sondern auch zur Abnahme der Rendergeschwindigkeit.
  • Um dem Nachlassen der Rendergeschwindigkeit zu begegnen, ist eine Technologie verfügbar, um so viele Objekte wie möglich in einem Prozess der Erzeugung von Grafikdaten, welche als Fundament eines dreidimensionalen Bilds dienen, zu verknüpfen. Es können aber Objekte, deren Aktionen (Verhalten) identisch zueinander sind, miteinander verknüpft werden, jedoch Objekte, deren Aktionen unterschiedlich zueinander sind, können nicht verknüpft werden. Dies schränkt eine Verbesserung bei der Abnahme der Rendergeschwindigkeit ein. Zusätzlich wird der Prozess der Erzeugung von Grafikdaten komplizierter.
  • Es ist eine Aufgabe der vorliegenden Erfindung, eine 3D-Bilderzeugungsvorrichtung und ein 3D-Bilderzeugungsverfahren zu schaffen, jeweils in der Lage, die Rendergeschwindigkeit zu erhöhen, ohne dass der Prozess der Erzeugung von Grafikdaten als ein Fundament eines dreidimensionalen Bilds beeinflusst wird.
  • Zur Lösung der obigen Aufgabe ist ein Beispiel der vorliegenden Erfindung wie folgt vorgesehen: Eine Steuereinheit überträgt einen Renderbefehl, der das Rendern eines Objekts anweist, welches ein dreidimensionales Bild bildet. Bei Empfang des Renderbefehls von der Steuereinheit führt eine Rendereinheit eine Eckpunktattributtransformation an einem Objekt durch, welches von dem Renderbefehl angewiesen worden ist, und rendert das Objekt. Hierbei verknüpft ein Verknüpfungsabschnitt Gitter einer Mehrzahl von Objekten, welche eine vorbestimmte Verknüpfungsbedingung erfüllen. Die Steuereinheit führt weiterhin vorab eine Eckpunktattributtransformation an der Mehrzahl von Objekten (auch als Verknüpfungsgruppe bezeichnet) durch, deren Gitter von dem Verknüpfungsabschnitt verknüpft worden sind, und überträgt einen Renderbefehl. Dieser Renderbefehl weist das Rendern der Mehrzahl von Objekten (auch als Nachtransformationsverknüpfungsgruppe bezeichnet) an, an welchen die Eckpunktattributtransformation durchgeführt worden ist, indem die Mehrzahl von Objekten als ein einziges Objekt betrachtet wird. Bei Empfang dieses Renderbefehls von der Steuereinheit rendert die Rendereinheit gleichzeitig die Mehrzahl von Objekten, welche als das einzelne Objekt angesehen worden sind und die von dem Renderbefehl angewiesen worden sind.
  • Im Gegensatz zu einer bestehenden Technik, bei der ein Renderbefehl für jedes Objekt übertragen wird, führt eine Steuereinheit vorab eine Eckpunktattributtransformation an einer Mehrzahl von Objekten durch, deren Gitter verknüpft worden sind, betrachtet die Mehrzahl von Objekten, an welchen die Eckpunktattributtransformation durchgeführt worden ist, als ein Objekt und überträgt den Renderbefehl, der das Rendern des Objekts anweist. Dies kann die Zeit verkürzen, welche eine Rendereinheit für den Mehraufwand eines Funktionsaufrufs verwendet, der mit dem Renderbefehl ausgegeben wird, und die Rendergeschwindigkeit erhöhen. Dies macht es nicht notwendig, so viele Objekte wie möglich bei einem Prozess der Erzeugung von Grafikdaten zu verknüpfen, welche das Fundament eines dreidimensionalen Bilds darstellen. Daher wird der Prozess der Erzeugung von Grafikdaten überhaupt nicht beeinflusst.
  • Es sei beispielsweise das Verhältnis einer Mehraufwandszeit bezüglich einer Gesamtprozesszeit angenommen; die Mehraufwandszeit wird für den Mehraufwand eines Funktionsaufrufs verwendet, der mit einem Renderbefehl ausgegeben wird, wohingegen die Gesamtprozesszeit für eine Serie von Prozessen aufgewendet wird, welche für das Rendern relevant sind. Kurz gesagt, ein relativ kleines Verhältnis von Mehraufwandszeit gegenüber Gesamtprozesszeit zeigt sich beim Rendern eines Objekts mit relativ komplexer Form oder einer relativ großen Anzahl von Eckpunkten. Im Gegensatz hierzu zeigt sich ein relativ großes Verhältnis von Mehraufwandszeit gegenüber der Gesamtprozesszeit beim Rendern eines Objekts mit relativ einfacher Form oder einer relativ geringen Anzahl von Eckpunkten. Das obige Beispiel der vorliegenden Erfindung kann somit effektiv beim Rendern einer großen Anzahl von Objekten sein, welche jeweils eine relativ kleine Anzahl von Eckpunkten haben.
  • KURZE BESCHREIBUNG DER ZEICHNUNG
  • Der voranstehende Gegenstand der vorliegenden Erfindung, weitere Gegenstände hiervon und Merkmale und Vorteile hiervon ergeben sich aus der nachfolgenden Beschreibung unter Bezugnahme auf die beigefügte Zeichnung.
  • 1 ist ein Funktionsblockdiagramm, das eine Ausführungsform der vorliegenden Erfindung zeigt;
  • 2 ist eine Darstellung, die den Aufbau einer Szeneriegrafik zeigt;
  • 3 ist ein Flussdiagramm, welches einen von einer CPU durchgeführten Durchlaufprozess beschreibt;
  • 4 ist ein Flussdiagramm, welches einen von der CPU durchgeführten Renderbefehlsübertragungsprozess zeigt;
  • 5 ist ein Flussdiagramm, das einen von einer GPU durchgeführten Renderprozess zeigt;
  • 6A ist eine Darstellung, welche einen Prozessablauf gemäß einer Grafikpipeline zeigt;
  • 6B ist eine Darstellung, welche den Prozessablauf gemäß der Grafikpipeline zeigt;
  • 7 ist eine Darstellung, welche eine Form zur Verknüpfung von Gittern zeigt;
  • 8 ist eine Darstellung, welche eine Renderzeit angibt;
  • 9 ist eine Darstellung, welche Simulationsergebnisse und Messergebnisse einer Belastung der CPU zeigt;
  • 10 ist eine Darstellung, welche Messergebnisse einer Belastung an der GPU zeigt;
  • 11 ist eine Darstellung, die eine tatsächliche Prozesszeit zeigt;
  • 12 ist eine Darstellung, die eine Form zur Klassifizierung von Objekten in Verknüpfungsgruppen zeigt; und
  • 13 ist eine Darstellung, welche Messergebnisse einer Prozesszeit zeigt.
  • AUSFÜHRUNGSFORMEN ZUR DURCHFÜHRUNG DER ERFINDUNG
  • Bezug nehmend auf die Zeichnung wird eine Ausführungsform der vorliegenden Erfindung nachfolgend beschrieben. Eine 3D-Bilderzeugungsvorrichtung 1 enthält eine zentrale Verarbeitungseinheit (CPU) 2 (Steuereinheit, -vorrichtung oder -mittel), eine Grafikverarbeitungseinheit (GPU) 3 (Rendereinheit, -vorrichtung oder -mittel), einen Speicher mit wahlfreiem Zugriff (RAM) 4, ein Video-RAM (VRAM) 5) und einen Lesespeicher (ROM) 6. Die CPU 2 kann als Verknüpfungsabschnitt, -einheit, -vorrichtung oder -mittel bezeichnet werden. In der vorliegenden Anmeldung kann der japanische Begriff „Shudan” eine „Vorrichtung” oder ein „Mittel” auf Englisch bezeichnen.
  • Das ROM 6 speichert Grafikdaten (dreidimensionale Modelldaten). Die Grafikdaten sind Daten, welche das Fundament eines dreidimensionalen Bilds sind, und enthalten eine Mehrzahl von Elementdateneinheiten, die das dreidimensionale Bild darstellen. Die CPU 2 liest (übernimmt) die Grafikdaten vom ROM 6 und bildet auf der Grundlage der gelesenen Grafikdaten eine Szeneriegrafik im RAM 4. Die Szeneriegrafik hat eine Baumstruktur mit Objekten, welche hierarchisch in Gruppen klassifiziert sind. Jeder der Knoten der Szeneriegrafik enthält Informationen über eine Form eines Objekts, Informationen über Oberflächenmerkmale und Informationen betreffend eine Modellumwandlung (Lage, Ausrichtung, Vergrößerung oder Verkleinerung). In der vorliegenden Anmeldung wird „Information” sowohl als nicht zählbares als auch zählbares Substantiv verwendet.
  • Unter Verwendung von Grafikdaten, die in einer externen Speichereinheit gespeichert sind, beispielsweise einer Festplatteneinheit oder einem CD-ROM, kann die CPU 2 eine Szeneriegrafik im RAM 4 auf der Grundlage von Grafikdaten bilden, welche von der externen Speichereinheit gelesen worden sind. Wenn die Grafikdaten verwendet werden, die auf einem Server eines Netzwerks gespeichert sind, kann die CPU 2 die Szeneriegrafik im RAM 4 auf der Grundlage der Grafikdaten bilden, welche vom Server über eine Kommunikationsverbindung heruntergeladen worden sind. Teile der Grafikdaten können im RAM 4 gespeichert werden. Die CPU 2 kann die Grafikdaten vom RAM lesen und die Szeneriegrafik im RAM 4 auf der Grundlage der gelesenen Grafikdaten bilden.
  • Nach Bildung einer Szeneriegrafik im RAM 4 führt die CPU 2 einen Durchlaufprozess, der nachfolgend noch beschrieben wird, an der gebildeten Szeneriegrafik durch. In dem Durchlaufprozess entscheidet die CPU 2, ob jedes aller Objekte, welche zu der Szeneriegrafik gehören, in einer Verknüpfungsgruppe, welche noch zu beschreiben ist, enthalten ist (eine Verknüpfungsbedingung erfüllt). Für ein Objekt, für das entschieden worden ist, dass es nicht in der Verknüpfungsgruppe enthalten ist, überträgt die CPU 2 einen Renderbefehl, der das Rendern des Objekts anweist, an die GPU 3. Im Gegensatz hierzu verknüpft die CPU 2 für eine Mehrzahl von Objekten, welche als zur Verknüpfungsgruppe gehörend entschieden worden sind, Gitter der Mehrzahl von Objekten in der Verknüpfungsgruppe und führt vorab eine Eckpunktattributtransformation an der Mehrzahl von Objekten durch, deren Gitter verknüpft worden sind (vor der Übertragung des Renderbefehls). Die CPU 2 überträgt an die GPU 3 einen Renderbefehl, der das Rendern einer Mehrzahl von Objekten anweist, an welchen die Eckpunktattributtransformation durchgeführt worden ist, indem die Mehrzahl von Objekten als ein einzelnes Objekt betrachtet wird.
  • Bei Empfang des Renderbefehls von der CPU 2 führt die GPU 3 einen später noch zu beschreibenden Renderprozess durch. Im Renderprozess entscheidet die GPU 3, ob das Objekt, welches von dem Renderbefehl angewiesen worden ist, ein Objekt ist, an welchem die Eckpunktattributtransformation durchgeführt worden ist. Die GPU 3 führt die Eckpunktattributtransformation an dem Objekt durch, welches von dem Renderbefehl angewiesen worden ist, und rendert das Objekt, an welchem die Eckpunktattributtransformation durchgeführt worden ist.
  • Beim Rendern eines Objekts führt die GPU 3 ein Auffüllen und eine Bildanzeige durch. Zum Auffüllen berechnet die GPU 3 einen Pixelwert und die Helligkeit eines jeden Pixels, welches innerhalb der Eckpunkte eines Objekts liegt, das auf ein Koordinatensystem auf einem zweidimensionalen Bildschirm projiziert worden ist, berechnet eine Tiefe eines jeden Objekts und speichert die Ergebnisse der Berechnungen als Bilddaten im VRAM 5. Als Bildanzeige liest die GPU 3 die im VRAM 5 gespeicherten Bilddaten und gibt die gelesenen Bilddaten als ein Videosignal an eine Anzeigeeinheit 7. Wenn beispielsweise die 3D-Bilderzeugungsvorrichtung 1 zur Verwendung in einem Fahrzeug ausgelegt ist, zeigt die Anzeigeeinheit 7 eine grafische Anzeige. Die grafische Anzeige stellt verschiedene Informationen zur Verfügung, beispielsweise ein Blinksignal, eine Anzeigenadel, eine Skala, ein Instrumentenbrett, eine Fahrspur, eine Turn-by-turn-Anzeige (TBT). Die von der grafischen Anzeige dargestellten Informationen enthalten eine große Anzahl von Renderzielobjekten. Jedes der Objekte hat eine relativ einfache Form, beispielsweise eine Rechteckform, und eine geringe Anzahl von Eckpunkten. Ein mit der 3D-Bilderzeugungsvorrichtung 1 ausgestattetes Fahrzeug kann als Trägerfahrzeug oder Eigenfahrzeug bezeichnet werden.
  • 2 zeigt ein Beispiel eines Aufbaus einer Szeneriegrafik, die im RAM 4 gebildet wird. 2 drückt ein Modell der genannten grafischen Anzeige mit einer Geschwindigkeitsanzeige und einer Entfernungsanzeige aus. Die Geschwindigkeitsanzeige enthält eine Anzeigenadel und Ziffern; die Entfernungsanzeige enthält Buchstaben, Ziffern und eine Anzeigenadel. Gemäß einer vorhandenen Technik überträgt die CPU 2 einen Renderbefehl an die GPU 3 für jedes Objekt in Form von Anzeige (1), Geschwindigkeitsanzeige (2), Anzeigenadel (3), Ziffern (4), Entfernungsanzeige (5), Buchstaben (6), Ziffern (7) und Anzeigenadel (8). Bei sequenziellem Empfang der Renderbefehle, welche das Rendern von Anzeige (1), Geschwindigkeitsanzeige (2), Anzeigenadel (3), Ziffern (4), Entfernungsanzeige (5), Buchstaben (6), Ziffern (7) und Anzeigenadel (8) anweisen, führt die GPU 3 sequenziell eine Eckpunktattributtransformation an jedem der Objekte durch und rendert sequenziell jedes der Objekte, an welchen die Eckpunktattributtransformation durchgeführt worden ist.
  • Im Gegensatz hierzu ist bei einer Technik gemäß der vorliegenden Ausführungsform vorab eine Verknüpfungsbedingung vorgeschrieben, und die vorgeschriebene Verknüpfungsbedingung ist in der CPU 2 gespeichert. Die CPU 2 verknüpft Gitter einer Mehrzahl von Objekten, welche die Verknüpfungsbedingung erfüllen, und führt eine Eckpunktattributtransformation an jedem der Mehrzahl von Objekten durch, deren Gitter verknüpft worden sind, und zwar vorab (vor der Übertragung eines Renderbefehls). Die CPU 2 betrachtet die Objekte, welche die Verknüpfungsbedingung erfüllen, beispielsweise die Ziffern (4), Buchstaben (6) und Ziffern (7), als ein Teil. Wenn die Gitter der Objekte verknüpft werden, führt die CPU 2 die Eckpunktattributtransformation an jedem der Objekte durch, deren Gitter verknüpft worden sind. Danach betrachtet die CPU 2 die Mehrzahl von Objekten, an welchen die Eckpunktattributtransformation durchgeführt worden ist, als ein einzelnes Objekt und überträgt einen Renderbefehl. Beim sequenziellen Empfang der Renderbefehle, welche das Rendern von Anzeige (1), Geschwindigkeitsanzeige (2), Anzeigenadel (3), Entfernungsanzeige (5) und Anzeigenadel (8) anweisen, führt die GPU 3 sequenziell die Eckpunktattributtransformation an jedem der Objekte durch und rendert sequenziell jedes der Objekte, an welchem die Eckpunktattributtransformation durchgeführt worden ist. Im Gegensatz hierzu empfängt die GPU 3 weiterhin einen Renderbefehl, der das Rendern der Objekte der Ziffern und Buchstaben (4, 6 und 7) anweist, welche als ein einzelnes Teil betrachtet werden. Diese Objekte wurden bereits von der CPU 2 der Eckpunktattributtransformation unterzogen, und somit geht die GPU 3 zum Rendern weiter, ohne irgendeine Eckpunktattributtransformation durchzuführen. Die Technik der vorliegenden Ausführungsform unterscheidet sich von einer bekannten Technik des Übertragens eines Renderbefehls für jedes der Objekte darin, dass: eine Eckpunktattributtransformation vorab an jedem aus einer Mehrzahl von betreffenden Objekten durchgeführt wird, deren Gitter verknüpft worden sind; und ein Renderbefehl übertragen wird, der das Rendern der Mehrzahl von betreffenden Objekten anweist, an welchen die Eckpunktattributtransformation durchgeführt worden ist, indem die Mehrzahl von betreffenden Objekten als ein einzelnes Objekt betrachtet wird. Im Vergleich zu einer bekannten Technik des Übertragens des Renderbefehls für jedes der Objekte kann die Zeit, welche die Rendereinheit für den Mehraufwand eines Funktionsaufrufs verwendet, der mit einem Renderbefehl ausgegeben wird, stärker verkürzt werden und die Rendergeschwindigkeit kann erhöht werden (siehe nachfolgend zu beschreibende 8).
  • Nachfolgend wird eine Verknüpfungsbedingung beschrieben, anhand der Gitter von Objekten verknüpft werden.
  • (1) Objekte, die sich auf das gleiche Material (Textur) beziehen, werden in die gleiche Verknüpfungsgruppe klassifiziert. Was als Textur bezeichnet wird, ist die Festsetzung des Materials einer Objektoberfläche als Farbe, Transparenz, Reflexionsvermögen, Brechungsindex, Ungleichmäßigkeiten. Genauer gesagt, die Textur bezeichnet ein metallisches (metallartiges) Material, ein glasiges (glasartiges) Material oder ein hölzernes (oberflächenraues) Material.
  • (2) Ein Objekt gehört zu einer einzelnen Verknüpfungsgruppe.
  • Bezug nehmend auf die 3 bis 13 wird nachfolgend die Arbeitsweise der voranstehenden Konfiguration beschrieben.
  • Es sei festzuhalten, dass ein Flussdiagramm oder der Ablauf des Flussdiagramms bei der vorliegenden Erfindung Abschnitte (auch als Schritte bezeichnet) enthält, von denen jeder beispielsweise mit S1 oder T1 bezeichnet ist. Weiterhin kann jeder Abschnitt in unterschiedliche Unterabschnitte unterteilt werden, wohingegen verschiedene Abschnitte zu einem einzelnen Abschnitt kombiniert werden können. Weiterhin kann jeder der so gebildeten Abschnitte auch als eine Vorrichtung, ein Modul, ein Mittel oder eine Einheit bezeichnet werden.
  • Gemäß der Technik der vorliegenden Ausführungsform führt die CPU 2 einen Durchlaufprozess und einen Renderbefehlsübertragungsprozess durch, wohingegen die GPU 3 einen Renderprozess durchführt. Der Durchlaufprozess beinhaltet einen Verknüpfungsabschnitt/-schritt und einen Eckpunktattributtransformationsabschnitt/-schritt.
  • Der Renderbefehlsübertragungsprozess enthält einen Renderbefehlsübertragungsabschnitt/-schritt. Der Renderprozess enthält einen Renderabschnitt/-schritt.
  • Nach Beginn des Durchlaufprozesses bestimmt die CPU 2 ein Objekt einer Durchlaufbestimmung (S1). Danach bestimmt die CPU 2, ob das Objekt der Durchlaufbestimmung ein Objekt ist, das sich in einer Verknüpfungsgruppe befindet, die eine bestimmte Verknüpfungsbedingung erfüllt (eine Bedingung, dass das gleiche Material vorliegt) (S2). Wenn die CPU 2 entscheidet, dass das Gitter des Objekts die vordefinierte Verknüpfungsbedingung erfüllt und das Objekt das Objekt ist, welches in der Verknüpfungsgruppe enthalten ist (S2: JA), entscheidet die CPU 2, ob das Objekt ein Objekt ist, welches als Erstes in der Verknüpfungsgruppe erscheint (S3).
  • Wenn die CPU 2 entscheidet, dass das Objekt ein Objekt ist, welches als Erstes innerhalb der Verknüpfungsgruppe erscheint (S3: JA), wird ein repräsentatives Gitter der Verknüpfungsgruppe in einem Renderzielgitterarray gespeichert (S34) und eine Eckpunktattributtransformation durchgeführt (S5 bis S7). Im Gegensatz hierzu führt, selbst wenn die CPU 2 entscheidet, dass das Objekt nicht das Objekt ist, welches als Erstes innerhalb der Verknüpfungsgruppe erscheint (Objekt, welches an zweiter Stelle oder später erscheint) (S3: NEIN), die CPU 2 die Eckpunktattributtransformation durch (S5 bis S7). Die CPU 2 führt die Eckpunktattributtransformation durch, welche beinhaltet: Eckpunkttransformation; Eckpunktfarb-/-alphatransformation; und UV-Koordinatentransformation: Die Eckpunkttransformation ist ein Vorgang der Transformation von Koordinatendaten eines Eckpunkts durch Bewegen, Vergrößern, Verkleinern oder Drehen. Die Eckpunktfarb-/-alphatransformation ist ein Prozess der Durchführung einer Transformation durch Reflexion einer Farbe oder der Transparenz an einem Objekt. Die UV-Koordinatentransformation ist ein Prozess der Durchführung einer Transformation durch Zuordnen einer Position eines Bilds einem Eckpunkt in einer Ebene eines dreidimensionalen Raums zur Verbindung des Bilds mit der Ebene.
  • Anhand der 6A und 6B erfolgt nachfolgend eine Beschreibung. In den 6A und 6B ist ein Gitter 1 von einem Objekt, welches als Erstes innerhalb einer Verknüpfungsgruppe erscheint, das heißt, ist ein Gitter eines Verknüpfungsrepräsentanten. Gitter 2 und 3 sind von Objekten, welche an zweiter Stelle und später innerhalb der Verknüpfungsgruppe erscheinen, das heißt, sind Gitter von Verknüpfungsmitgliedern (anders als der Verknüpfungsrepräsentant). In diesem Fall ist die Anzahl von Indizes (Anzahl von Eckpunkten) des Gitters 1, welches der Verknüpfungsrepräsentant ist, die Anzahl von Indizes, die nach Abschluss der Verknüpfung zu erreichen ist (Dummy-Eckpunkte werden berücksichtigt); die Anzahl von Indizes eines jeden der Gitter 2 und 3, welche Verknüpfungsmitglieder sind, ist die Anzahl von Indizes eines jeden der Gitter. Die Gitter 2 und 3, welche die Verknüpfungsmitglieder sind, zeigen jeweils einen Zeiger, der den Verknüpfungsrepräsentanten angibt. Sowohl die Eckpunktattributarrays als auch die Indexarrays der Gitter 2 und 3 werden „NULL”. Genauer gesagt, die CPU 2 verknüpft die Gitter 1 bis 3 gemäß den 6A und 6B und führt eine Eckpunktattributtransformation an den drei Objekten gleichzeitig durch, deren Gitter 1 bis 3 verknüpft worden sind.
  • Nachdem die CPU 2 so eine Eckpunktattributtransformation an einer Mehrzahl von Objekten durchgeführt hat, welche zur Verknüpfungsgruppe gehören, setzt die CPU 2 ein Flag, welches anzeigt, ob die Sichtbarkeit nicht „0” ist (S8). Die CPU 2 entscheidet dann, ob das Objekt das letzte in der Szeneriegrafik ist (S9). Wenn die Entscheidung gemacht wird, dass das Objekt nicht das letzte in der Szeneriegrafik ist (S9: NEIN), kehrt die Steuerung zu S1 zurück, um S1 und die nachfolgenden Schritte wiederholt durchzuführen. Wenn im Gegensatz dazu die CPU 2 entscheidet, dass das Objekt das letzte in der Szeneriegrafik ist (S9: JA), beendet die CPU 2 den Durchlaufprozess. Wenn das Gitter eines Objekts eine vordefinierte Verknüpfungsbedingung nicht erfüllt, entscheidet die CPU 2, dass das Objekt nicht dasjenige ist, welches in der Verknüpfungsgruppe enthalten ist (S2: NEIN), und entscheidet, ob das Objekt das letzte in der Szeneriegrafik ist (S9).
  • Nachfolgend beginnt die CPU 2 die Durchführung eines Renderbefehlsübertragungsprozesses an jedes der Objekte, an welchen vorab die Eckpunktattributtransformation durchgeführt wurde (deren Gitter verknüpft wurden). Die CPU 2 referenziert die Information zuerst an einem individuellen Originalgitter (S11) und entscheidet, ob die Sichtbarkeit des Originalgitters „0” ist oder nicht (S12). Wenn die CPU 2 entscheidet, dass die Sichtbarkeit des Originalgitters nicht „0” ist (S12: NEIN), kopiert die CPU 2 den Eckpunkt in ein vorläufiges Verknüpfungseckpunktarray zum Rendern (S13) und entscheidet, ob das Originalgitter das letzte in der Verknüpfungsgruppe ist (S14). Wenn die CPU 2 entscheidet, dass die Sichtbarkeit des Originalgitters „0” ist (S12: JA), kopiert die CPU 2 den Eckpunkt nicht in das vorläufige Verknüpfungseckpunktarray zum Rendern, aber entscheidet, ob das Originalgitter das letzte in der Verknüpfungsgruppe ist (S14).
  • Wenn die CPU 2 entscheidet, dass das Originalgitter das letzte innerhalb der Verknüpfungsgruppe ist (S14: JA), überträgt die CPU 2 einen Renderbefehl, der das Rendern eines jeden der Objekte, an welchen vorab die Eckpunktattributtransformation durchgeführt wurde, anweist, an die GPU 3 (S15). Wenn die CPU 2 entscheidet, dass das Originalgitter nicht das letzte innerhalb der Verknüpfungsgruppe ist (S14: NEIN), führt die CPU 2 die Steuerung nach S11 zurück und führt wiederholt S11 und die nachfolgenden Schritte durch. Es sei festzuhalten, dass auch an einem Objekt, an welchem die Eckpunktattributtransformation nicht durchgeführt wurde (dessen Gitter nicht verknüpft wurde), die CPU 2 einen Renderbefehl, der das Rendern des Objekts anweist, an welchem die Eckpunktattributtransformation nicht durchgeführt wurde, an die GPU 3 überträgt.
  • Die GPU 3 führt einen Renderprozess gemäß 5 durch. Nach Beginn des Renderprozesses führt die GPU 3 eine Eckpunktattributtransformation durch, welche eine Eckpunkttransformation, Eckpunktfarb-/-alphatransformation und UV-Koordinatentransformation enthält (T1 bis T3). Die GPU 3 rendert dann Objekte, an welchen die Eckpunktattributtransformation durchgeführt wurde (T4). Es sei festzuhalten, dass die GPU 3 die Eckpunktattributtransformation an einem Objekt durchführt, an welchem die CPU 2 die Eckpunktattributtransformation nicht durchgeführt hat, jedoch keine Eckpunktattributtransformation an einem Objekt durchführt, an welchem die CPU 2 die Eckpunktattributtransformation vorab durchgeführt hat.
  • Anhand von 7 wird die voranstehende Reihe von Prozessen nachfolgend erläutert. Eine Pipeline einer dreidimensionalen Computergrafik enthält eine Erzeugungsstufe (G) zur Erstellung von Daten, die zum Rendern notwendig sind, eine Durchlaufstufe (T) zur Ausgabe einer Renderanweisung, eine Transformationsstufe (X oder X-Ausbildung) zur Durchführung einer Eckpunktattributtransformation, eine Abtastumwandlungsstufe (X) zur Berechnung von Pixelwerten oder Helligkeitspegeln von Pixeln, die innerhalb der Gitter eines jeden Objekts vorhanden sind, und eine Anzeigestufe (D) zum Rendern der Objekte. Die Stufe G und die Stufe T werden von der CPU 2 verarbeitet, wohingegen die Stufen X, S und D von der GPU 3 verarbeitet werden.
  • Die Beschreibung erfolgt beispielhaft für den Fall, bei dem die CPU 2 Folgendes durchführt: Ausgeben einer Anweisung, welche das Rendern einer Anzeigenadel 11 unter der Bedingung „Kurve 90° und 50% blickdicht” anweist; Ausgabe einer Anweisung, welche das Rendern eines Rings 12 unter der Bedingung „100% blickdicht” anweist; und Ausgeben einer Anweisung, welche das Rendern eines Bilds 13 der Außenseite eines Fahrzeugs anweist, das mit einer in das Fahrzeug eingebauten Kamera ausgestattet ist, und zwar unter der Bedingung „100% blickdicht”. Das Bild 13 ist beispielsweise eine Nachtansicht (Technologie der Aufnahme eines Fußgängers oder Wildtiers, welche im Scheinwerferlicht kaum zu identifizieren sind, indem mit Nah-Infrarot bestrahlt wird) oder eine Heckansicht (Technologie der Bilderzeugung von hinterhalb eines Fahrzeugs zur Parkunterstützung und der Anzeige des Bilds). Bei einer vorhandenen Technik überträgt die CPU 2 nach Ausgabe der Anweisungen, welche das Rendern der entsprechenden Objekte anweisen, sequenziell Renderbefehle, welche das Rendern der Anzeigenadel 11, das Rendern des Rings 12 und das Rendern des Bilds 13 anweisen, an die GPU 3. Beim sequenziellen Empfang der Renderbefehle, die das Rendern der Anzeigenadel 11, das Rendern des Rings 12 und das Rendern des Bilds 13 anweisen, führt die GPU 3 eine Eckpunktattributtransformation an jedem der Objekte durch und rendert jedes der Objekte, an welchen die Eckpunktattributtransformation durchgeführt worden ist.
  • Bei der Technik gemäß der vorliegenden Ausführungsform verknüpft die CPU 2, wenn entschieden wird, dass die Anzeigenadel 11 und der Ring 12 eine Verknüpfungsbedingung erfüllen, das Gitter der Anzeigenadel 11 und das Gitter des Rings 12 und führt vorab eine Eckpunktattributtransformation sowohl an der Anzeigenadel 11 als auch dem Ring 12 durch. Kurz gesagt, die CPU 2 führt die Eckpunktattributtransformation an der Anzeigenadel 11 und die Eckpunktattributtransformation an dem Ring 12 durch und betrachtet dann die Anzeigenadel 11 und den Ring 12 als ein einzelnes betreffendes Objekt. Die CPU 2 überträgt dann einen Renderbefehl, der das Rendern des betreffenden Objekts anweist, an die GPU 3.
  • Das heißt, eine bekannte Technik veranlasst die GPU 3, die Eckpunktattributtransformation sowohl an der Anzeigenadel 11 als auch an dem Ring 12 durchzuführen. Im Gegensatz hierzu erlaubt die Technik der vorliegenden Ausführungsform, dass die CPU 2 die Eckpunktattributtransformation sowohl an der Anzeigenadel 11 als auch dem Ring 12 durchführt, die Anzeigenadel 11 und den Ring 12 als ein Objekt betrachtet und den Renderbefehl überträgt.
  • 8 zeigt ein theoretisches Modell der Leistungsverbesserung, welche durch die Technik der vorliegenden Ausführungsform realisiert wird. Bei einer vorhandenen Technik benötigt die GPU 3 eine bestimmte Zeit (Mehraufwand) jedes Mal dann, wenn die GPU 3 einen Renderbefehl von der CPU 2 aufruft, um ein Objekt zu rendern. Jedes Mal dann, wenn die GPU 3 den Renderbefehl empfängt, führt die GPU 3 eine Eckpunktattributtransformation durch und rendert das Objekt (Hauptprozess). Im Gegensatz hierzu führt gemäß der Technik der vorliegenden Ausführungsform gemäß obiger Beschreibung die CPU 2 als einen speziellen Prozess die Verknüpfung von Gittern einer Mehrzahl von Objekten durch, welche eine Verknüpfungsbedingung erfüllen (eigener Prozess der Gitterverknüpfung), und führt die Eckpunktattributtransformation an der Mehrzahl von Objekten durch, deren Gitter verknüpft wurden. 8 zeigt den Fall, bei dem die CPU 2 die Gitter von drei Objekten verknüpft hat. Die Anzahl von Objekten, deren Gitter verknüpft werden, kann eine beliebige Anzahl von Objekten sein, solange die Objekte die Verknüpfungsbedingung erfüllen.
  • Die Prozesszeit, die für die Eckpunktattributtransformation notwendig ist, welche gemäß der Technik der vorliegenden Ausführungsform durchgeführt wird, hängt von der Anzahl von Eckpunkten ab, welche die Gegenstände der Berechnung sind. Die arithmetischen Ausdrücke (1) und (2) gemäß nachfolgender Darstellung drücken die Prozesszeit aus, welche für die Eckpunktattributtransformation notwendig ist, und sind von dem theoretischen Modell abgeleitet. Hierbei bezeichnet „oh” eine Mehraufwandszeit pro Objekt, „obj” bezeichnet die Anzahl von Objekten und „v” bezeichnet die Anzahl von Eckpunkten pro Objekt. Aus Gründen der Kürze sei der Wert „v” für alle Objekte innerhalb einer Szeneriegrafik konstant. Die Mehraufwandszeit soll ein bestimmter Wert sein, und ein Hauptprozess und ein spezieller Prozess sollen eine lineare Funktion von „v” liefern. Es sei angenommen, dass „m” eine Steigung der linearen Funktion bezeichnet, welche vom Hauptprozess geliefert wird, und „s” eine Steigung der linearen Funktion bezeichnet, welche vom speziellen Prozess geliefert wird. Mit anderen Worten, „m” bezeichnet eine Prozesszeit pro Eckpunkt, notwendig innerhalb des Hauptprozesses, und „s” bezeichnet eine Prozesszeit pro Eckpunkt, benötigt innerhalb des speziellen Prozesses. Die Technik der vorliegenden Ausführungsform fügt allen Objekten, welche einer Verknüpfungsgruppe zugehörig sind, zwei Dummy-Eckpunkte hinzu. Ein Dummy-Eckpunkt wird einem Objekt hinzuaddiert, das eine geradzahlige Anzahl von Eckpunkten hat. Aus Gründen der Kürze sei angenommen, dass die Anzahl von Eckpunkten aller Objekte eine ganze Zahl ist und (v + 3) Eckpunkte pro Objekt zu behandeln sind
  • Es sei angenommen, dass „t-before” eine Prozesszeit bezeichnet, welche von der vorhandenen Technik benötigt wird, und „t-after” eine Prozesszeit bezeichnet, welche von der Technik der vorliegenden Ausführungsform benötigt wird; die Prozesszeiten lassen sich wie folgt ausdrücken: t-before = (oh + m × v) × obj (1) t-after = oh + s(v + 3) × obj + m(v + 3) × obj (2)
  • Die Anzahl aller Eckpunkte eines Modells (ausgedrückt als v × obj) kann als konstant bleibend angenommen werden, ungeachtet dessen, ob die Technik der vorliegenden Ausführungsform angewendet wird. Die arithmetischen Ausdrücke (3) und (4) gemäß nachfolgender Beschreibung lassen sich von den jeweiligen arithmetischen Ausdrücken (1) und (2) ableiten. Im Ergebnis können die Prozesszeiten, welche von der vorhandenen Technik und der Technik der vorliegenden Ausführungsform benötigt werden, mit linearen Funktionen ausgedrückt werden. Genauer gesagt, die Prozesszeiten können wie folgt ausgedrückt werden: t-before = oh × obj + m(v × obj) (3) t-afer = 3(s + m) × obj + oh + (s + m) × v × obj (4)
  • Wenn die Prozesszeit der Technik der vorliegenden Ausführungsform kürzer als die Prozesszeit der vorhandenen Technik ist, kann von der Technik der vorliegenden Ausführungsform gesagt werden, dass sie effektiv ist. Mit anderen Worten, wenn eine Bedingung einen nachfolgenden arithmetischen Ausdruck (5) erfüllt, kann von der Technik der vorliegenden Ausführungsform gesagt werden, dass sie effektiv ist. obj ≥ (oh + s × v × obj)/{oh – 3(s + m)} (5)
  • Der Erfinder et al. haben die Prozesszeit unter Verwendung einer tatsächlichen Vorrichtung gemessen, um zu verifizieren, ob die Leistungseigenschaft mit derjenigen in Übereinstimmung ist, welche durch die obige theoretische Analyse erhalten wird. Ein dreidimensionaler Modus mit „4000” Eckpunkten wurde bereitgestellt. Als Messbedingung wurde die Anzahl von Objekten auf „1”, „10”, „100”, „125”, „200”, „250”, „500” und „1000” gesetzt. Eine Objektstruktur wurde so eingestellt, dass ein Produkt aus Anzahl der Objekten und Anzahl der Eckpunkte pro Objekt konstant war. Die Prozesszeit wurde unter Verwendung sowohl einer vorhandenen Technik als auch der Technik der vorliegenden Ausführungsform gemessen, und die der CPU 2 bzw. GPU 3 auferlegten Belastungen wurden gemessen. Eine längere Zeit ist die tatsächliche Prozesszeit. Zur Simulation unter Verwendung der arithmetischen Ausdrücke (3) und (4) wurden oh, m und s gemessen. In den 9 bis 11, auf welche später Bezug genommen wird, bezeichnet „vorher” ein Messergebnis unter Verwendung der vorhandenen Technik, und „nachher” bezeichnet ein Messergebnis unter Verwendung der Technik der vorliegenden Ausführungsform.
  • 9 zeigt Ergebnisse von Simulationen und Messergebnisse der Belastung der CPU 2. Die Werte oh, m und s, die in den Simulationen verwendet wurden, sind 0.16 [ms], 0.00077 [ms] und 0.0035 [ms]. Die Werte wurden unter Verwendung der tatsächlichen Vorrichtung gemessen. Die in 9 gezeigten Ergebnisse demonstrieren, dass das theoretische Modell die Messungen korrekt beschreibt. Soweit die tatsächliche Vorrichtung, die hierbei verwendet wurde, betroffen ist, kann man von der Technik der vorliegenden Ausführungsform sagen, dass sie wirksam arbeitet, wenn obj > 97 gemäß dem arithmetischen Ausdruck (5) erfüllt ist. Die Messergebnisse zeigen, dass, wenn die Anzahl von Objekten annähernd „100” übersteigt, die Technik der vorliegenden Ausführungsform effektiv wird.
  • Das theoretische Modell berücksichtigt die Belastung der GPU 3 nicht. 10 zeigt die Messergebnisse der Belastung an der GPU 3. Die Eigenschaft der Belastung der GPU 3 muss weiter untersucht werden. Gemäß den Messergebnissen, die momentan vorliegen, wird die durch die vorhandene Technik verursachte Belastung als 30 [ms] ausgedrückt und die von der Technik der vorliegenden Ausführungsform verursachte Belastung als 35 [ms]. 11 zeigt die tatsächliche Prozesszeit (die längere von Belastung an der CPU 2 und Belastung an der GPU 3). Die Ergebnisse von 11 zeigen, dass, wenn die Anzahl von Objekten „200” übersteigt, die Technik der vorliegenden Ausführungsform als effektiv betrachtet werden kann. Wenn somit die Bedingungen für eine Optimierung, beispielsweise die Anzahl von Eckpunkten und die Anzahl von Objekten, erfüllt sind, kann von der Technik der vorliegenden Ausführungsform gesagt werden, dass sie effektiv ist. Wie oben erwähnt, enthält eine grafische Anzeige eine Vielzahl von Objekten mit relativ einfachen Formen (einer geringen Anzahl von Eckpunkten), so dass die Bedingungen für eine Optimierung relativ leicht erfüllbar sind.
  • Ein Beispiel eines vorteilhaften Effekts, der sich zeigt, wenn die genannte Technik der vorliegenden Ausführungsform bei einem Prototyp angewendet wird, wird nachfolgend beschrieben. Der Prototyp beinhaltet einen Renesas SH7769, ein ROM mit einer Speicherkapazität von 128M Byte, ein DVGA (1280 × 480) und ein 12.3-Inch TFT-Display. Die Inhalte umfassen vier Anzeigen (Geschwindigkeitsanzeige, Entfernungsanzeige, Kraftstoffanzeige und Wassertemperaturanzeige), eine Kontrollleuchte (Warnlampe), ein Registermenü und eine Fahrunterstützungssystemanzeige. In dem dreidimensionalen Modell beträgt die Anzahl von Objekten „154” und die Anzahl von Eckpunkten „14960”.
  • Aufgrund der Anwendung einer Mehrzahl von Optimierungstechniken kann eine Aufwertung in Form von 17.2 [ms] erwartet werden, was jedoch unbefriedigend ist. Aufgrund der Technik der vorliegenden Ausführungsform können bei dieser Gelegenheit gemäß 12 123 Objekte von 154 Objekten in acht Gruppen unterteilt werden. Als Prozesszeit kann eine Zeitverringerung (0.16 [ms]) als Mehraufwand pro Objekt erwartet werden. Der vorteilhafte Effekt der Technik der vorliegenden Ausführungsform kann als 18.4 [ms] ausgedrückt werden ((123 – 8) × 0.16 [ms]). Insgesamt kann eine Verringerung der Prozesszeit von 35.6 [ms] (17.2 + 18.4 [ms]) erwartet werden. Um diesen vorteilhaften Effekt zu bestätigen, wurden die Prozesszeiten des Renderns bei der vorhandenen Technik und der Technik der vorliegenden Ausführungsform entsprechend gemessen. Der Anzeigezustand war der Zustand, der die in den Spezifikationen höchstzulässige Last bedeutet. Die Messergebnisse gemäß 13 zeigen, dass die Last an der CPU 2 verringert werden kann, ohne dass sich ein nachteiliger Effekt an der Belastung der GPU 3 ergibt. Eine hohe Wiederholrate ist erwünscht (insbesondere bei der Anzeige der Tachonadel, welche sich schnell bewegt), um eine ruckfreie Anzeige zu realisieren. Unter Berücksichtigung der Sehfähigkeiten eines Menschen ist ein Minimum von 30 [fps] zu erzielen. Um 30 [fps] zu erzielen, wurde die Belastung an der CPU 2 auf 33 [ms] oder weniger bestätigt. Die Technik der vorliegenden Ausführungsform kann hierzu beitragen.
  • Wie bisher beschrieben, verknüpft bei der vorliegenden Ausführungsform die CPU 2 in der 3D-Bilderzeugungsvorrichtung 1 Gitter einer Mehrzahl von Objekten, welche eine vorbestimmte Verknüpfungsbedingung erfüllen, und führt vorab eine Eckpunktattributtransformation an der Mehrzahl von Objekten durch, deren Gitter verknüpft wurden. Die CPU 2 betrachtet die Mehrzahl von Objekten, an welchen die Eckpunktattributtransformation durchgeführt worden ist, als ein Objekt und überträgt einen Renderbefehl, der das Rendern des Objekts anweist, an die GPU 3. Die GPU 3 rendert die Mehrzahl von Objekten, welche als das eine Objekt betrachtet werden, gleichzeitig unter Anweisung des Renderbefehls, der von der CPU 2 empfangen wurde. Folglich kann eine Zeit, welche die GPU 3 als Mehraufwand für einen Funktionsaufruf verwendet, der mit dem Renderbefehl ausgegeben wird, unterdrückt werden und die Rendergeschwindigkeit kann erhöht werden. In diesem Fall müssen nicht so viele Objekte wie möglich in einem Prozess zur Erzeugung von Grafikdaten als Fundament eines dreidimensionalen Bilds verknüpft werden. Der Prozess der Erzeugung der Grafikdaten bleibt unbeeinflusst.
  • Was die Verknüpfungsbedingung betrifft, so sind Objekte, welche das gleiche Material zeigen, in der gleichen Verknüpfungsgruppe enthalten. Ob Objekte das gleiche Material zeigen, wird als ein Kriterium betrachtet, um die Gitter der Objekte zu verknüpfen.
  • Die vorliegende Erfindung ist nicht auf die bisher beschriebene Ausführungsform begrenzt, sondern kann wie nachfolgend erläutert modifiziert oder erweitert werden.
  • Die Anzeigeeinheit 7 ist nicht auf eine grafische Anzeige eines Fahrzeugs beschränkt, sondern kann jegliche andere Anzeigeeinheit in einem Fahrzeug sein. Das ausbildende Merkmal ist nicht auf dasjenige beschränkt, welches das Rendern an der Anzeigeeinheit, beispielsweise der grafischen Anzeige eines Fahrzeugs, durchführt, sondern kann auch auf Gebieten angewendet werden, welche nicht einem Fahrzeug zugeordnet sind, beispielsweise bei einer dreidimensionalen Simulation, elektronischen Veröffentlichungen oder auf dem Unterhaltungsgebiet.
  • Obgleich die vorliegende Erfindung unter Bezugnahme auf Ausführungsformen hiervon beschrieben wurde, versteht sich, dass die Erfindung nicht auf die Ausführungsformen und Aufbauten beschränkt ist. Die vorliegende Erfindung soll verschiedene Abwandlungen und äquivalente Anordnungen mit abdecken. Weiterhin sind neben den verschiedenen Kombinationen und Konfigurationen andere Kombinationen und Konfigurationen einschließlich mehr, weniger oder nur eines einzelnen Elements ebenfalls im Rahmen und Umfang der vorliegenden Erfindung.

Claims (4)

  1. 3D-Bilderzeugungsvorrichtung, aufweisend: eine Steuereinheit (2), welche einen Renderbefehl überträgt, der das Rendern eines Objekts anweist, welches ein dreidimensionales Bild darstellt; eine Rendereinheit (3), welche bei Empfang des Renderbefehls von der Steuereinheit eine Eckpunktattributtransformation an einem Objekt durchführt, welches von dem Renderbefehl angewiesen worden ist, und das Objekt rendert; und einen Verknüpfungsabschnitt (2), der Gitter einer Mehrzahl von Objekten verknüpft, welche eine bestimmte Verknüpfungsbedingung erfüllen, wobei die Steuereinheit weiterhin dafür vorgesehen ist, um an der Mehrzahl von Objekten, deren Gitter von dem Verknüpfungsabschnitt verknüpft wurden, vorab eine Eckpunktattributtransformation durchzuführen, und einen Renderbefehl zu übertragen, wobei der Renderbefehl das Rendern der Mehrzahl von Objekten anweist, an welchen die Eckpunktattributtransformation durchgeführt wurde, indem die Mehrzahl von Objekten als ein einzelnes Objekt betrachtet wird, wobei die Rendereinheit weiterhin dafür vorgesehen ist, um bei Empfang des Renderbefehls von der Steuereinheit gleichzeitig die Mehrzahl von Objekten zu rendern, welche als das einzelne Objekt betrachtet werden und von dem Renderbefehl angewiesen worden sind.
  2. 3D-Bilderzeugungsvorrichtung nach Anspruch 1, wobei der Verknüpfungsabschnitt (2) als Verknüpfungsbedingung eine Bedingung annimmt, dass die Mehrzahl von Objekten ein identisches Material zeigt, und die Gitter der Mehrzahl von Objekten verknüpft, welche die Verknüpfungsbedingung erfüllen.
  3. 3D-Bilderzeugungsverfahren zur Erzeugung eines dreidimensionalen Bilds, indem eine Steuereinheit (2) veranlasst wird, einen Renderbefehl, der das Rendern eines Objekts anweist, welches ein dreidimensionales Bild darstellt, an eine Rendereinheit (3) zu übertragen, und indem die Rendereinheit veranlasst wird, eine Eckpunktattributtransformation an einem Objekt durchzuführen, welches von dem Renderbefehl angewiesen worden ist, und das Objekt zu rendern, wobei das Verfahren aufweist: Verknüpfen von Gittern einer Mehrzahl von Objekten, welche eine vordefinierte Verknüpfungsbedingung erfüllen; Durchführen einer Vorab-Eckpunktattributtransformation an der Mehrzahl von Objekten, deren Gitter verknüpft worden sind; und Übertragen eines Renderbefehls, wobei der Renderbefehl das Rendern der Mehrzahl von Objekten, an welchen die Eckpunktattributtransformation durchgeführt worden ist, anweist, indem die Mehrzahl von Objekten als ein einzelnes Objekt betrachtet wird; und gleichzeitiges Rendern der Mehrzahl von Objekten, welche als das einzelne Objekt angesehen werden und von dem Renderbefehl angewiesen wurden.
  4. 3D-Bilderzeugungsverfahren nach Anspruch 3, wobei: als Verknüpfungsbedingung das Zeigen eines identischen Materials angewendet wird; und das Verknüpfen durchgeführt wird, wenn die Gitter der Mehrzahl von Objekten die Verknüpfungsbedingung erfüllen.
DE112013005715.8T 2012-11-30 2013-11-05 3D-Bilderzeugungsvorrichtung und 3D-Bilderzeugungsverfahren Withdrawn DE112013005715T5 (de)

Applications Claiming Priority (5)

Application Number Priority Date Filing Date Title
JP2012-262679 2012-11-30
JP2012262679 2012-11-30
JP2013-148510 2013-07-17
JP2013148510A JP5983550B2 (ja) 2012-11-30 2013-07-17 3次元画像生成装置及び3次元画像生成方法
PCT/JP2013/006514 WO2014083776A1 (ja) 2012-11-30 2013-11-05 3次元画像生成装置及び3次元画像生成方法

Publications (1)

Publication Number Publication Date
DE112013005715T5 true DE112013005715T5 (de) 2015-08-13

Family

ID=50827440

Family Applications (1)

Application Number Title Priority Date Filing Date
DE112013005715.8T Withdrawn DE112013005715T5 (de) 2012-11-30 2013-11-05 3D-Bilderzeugungsvorrichtung und 3D-Bilderzeugungsverfahren

Country Status (6)

Country Link
US (1) US9536343B2 (de)
JP (1) JP5983550B2 (de)
KR (1) KR101658852B1 (de)
CN (1) CN104937639B (de)
DE (1) DE112013005715T5 (de)
WO (1) WO2014083776A1 (de)

Families Citing this family (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102011112707B4 (de) * 2011-09-07 2020-11-05 Volkswagen Aktiengesellschaft Anzeigevorrichtung für ein Hybridfahrzeug und Verfahren zur Anzeige und Hybridfahrzeug
WO2018138855A1 (ja) * 2017-01-27 2018-08-02 三菱電機株式会社 画像描画装置、画像描画方法、及び画像描画プログラム
CN113421337A (zh) * 2021-07-21 2021-09-21 北京臻观数智科技有限公司 一种提升模型渲染效率的方法

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6262737B1 (en) * 1998-01-30 2001-07-17 University Of Southern California 3D mesh compression and coding
US6847364B1 (en) * 1999-12-23 2005-01-25 Intel Corporation Methods and apparatus for creating three-dimensional motion illusion in a graphics processing system
US20010035873A1 (en) * 2000-04-20 2001-11-01 David Easter Method and system for deferred assignment of attributes in a computer graphics scene
WO2007100298A1 (en) * 2006-03-03 2007-09-07 Donya Research Ab Creation and rendering of hierarchical digital multimedia data
JP4847226B2 (ja) 2006-06-16 2011-12-28 株式会社トヨタIt開発センター 画像生成装置
US7750922B2 (en) * 2006-10-24 2010-07-06 Adobe Systems Incorporated Transparency group computation on a graphics processing unit
US7843456B2 (en) * 2007-06-29 2010-11-30 Microsoft Corporation Gradient domain editing of animated meshes
US8797337B1 (en) * 2009-07-02 2014-08-05 Google Inc. Graphics scenegraph rendering for web applications using native code modules
CN101655992B (zh) * 2009-09-15 2011-12-21 中国科学院软件研究所 一种三角网格模型的重建方法
US9529939B2 (en) * 2010-12-16 2016-12-27 Autodesk, Inc. Surfacing algorithm for designing and manufacturing 3D models
US20120162372A1 (en) * 2010-12-22 2012-06-28 Electronics And Telecommunications Research Institute Apparatus and method for converging reality and virtuality in a mobile environment
CN102360515B (zh) * 2011-10-19 2013-04-24 武汉大学 一种三维模型渐进网格数据组织方法

Also Published As

Publication number Publication date
KR101658852B1 (ko) 2016-09-22
JP5983550B2 (ja) 2016-08-31
US20150325034A1 (en) 2015-11-12
CN104937639A (zh) 2015-09-23
US9536343B2 (en) 2017-01-03
WO2014083776A1 (ja) 2014-06-05
JP2014130563A (ja) 2014-07-10
KR20150055020A (ko) 2015-05-20
CN104937639B (zh) 2017-06-27

Similar Documents

Publication Publication Date Title
DE102009041431B4 (de) Fahrsimulationsvorrichtung, Weitwinkelkamera-Videosimulationsvorrichtung und Bilddeformierungs-/-zusammensetzungsvorrichtung
DE112012006746T5 (de) Kartenanzeigevorrichtung
DE112019005750T5 (de) Erlernen des Erzeugens synthetischer Datensätze zum Trainieren neuronalerNetze
DE112009001364T5 (de) Hinderniserfassungsvorrichtung und Hinderniserfassungssystem
DE3407983A1 (de) Mehrprozessorrechnersystem zum verarbeiten in einer hierarchischen datenstruktur definierter objektelemente zu einer farbigen abbildung
DE69631718T2 (de) Verfahren und Gerät zur leistungsfähigen Graphikdarstellung dreidimensionaler Szenen
DE102019102009A1 (de) Reduzierung des rauschens während des renderings durch parallele path-space-filterung unter verwendung von hashing
EP3438856A1 (de) Verfahren zum modellieren eines kraftfahrzeug-sensors in einer virtuellen testumgebung
DE102012210521A1 (de) Unbeschnittene Zeit- und Linsen-Begrenzungen für verbesserte Probentest- Effizienz bei Bild-Rendering
EP1631938A1 (de) Verfahren zur generierung eines dreidimensionalen gel ndemod ells
DE112019000972T5 (de) Verfahren und Systeme für vereinfachte grafische Abbildungen von bipartiten Graphen
DE102021131176A1 (de) Transformieren von Sensordaten zum Trainieren von Modellen, die mit verschiedenen Sensorkonfigurationen verwendet werden
WO2013149616A1 (de) Verfahren zur synchronen wiedergabe einer virtuellen realität in einer verteilten simulationsvorrichtung
DE102019005885A1 (de) Umgebungskartengenerierung und Lochfüllung
DE102014204383A1 (de) Fahrerassistenzsystem zur Objekterkennung und Verfahren
DE112013005715T5 (de) 3D-Bilderzeugungsvorrichtung und 3D-Bilderzeugungsverfahren
DE112020002874T5 (de) Szenenattributkommentierung komplexer Straßentypographien
DE202013012443U1 (de) Zusammenführung dreidimensionaler Modelle auf Basis des Konfidenzmaßes
DE112021005568T5 (de) Datenverarbeitungsvorrichtung und Datenverarbeitungsverfahren
DE60201906T2 (de) Sichtbarkeitsbildsyntheseverfahren
EP3561701B1 (de) Verfahren und vorrichtung zum bestimmen einer körperlichen form, verfahren zur herstellung einer berechnungseinrichtung, berechnungseinrichtung und verwendung der berechnungseinrichtung
DE102018217114A1 (de) Verfahren und Anordnung zur Speicherbedarfsermittlung, um mittels einer Grafikprozessoreinheit auf FEM-Knotennetzen basierte Simulationen durchzuführen
DE102021122964A1 (de) Erlernen und weitergeben von visuellen attributen
DE112019006103B4 (de) Informationsanzeigesteuervorrichtung, Verfahren, Programm und Aufzeichnungsmedium
DE102020120462A1 (de) Zeige- und interaktions-steuervorrichtungen für grossformatige tabletop-modelle

Legal Events

Date Code Title Description
R012 Request for examination validly filed
R016 Response to examination communication
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee