DE102006025030B4 - Gradientenfreies Shading für Volume-Rendering unter Verwendung von Schatteninformationen - Google Patents

Gradientenfreies Shading für Volume-Rendering unter Verwendung von Schatteninformationen Download PDF

Info

Publication number
DE102006025030B4
DE102006025030B4 DE200610025030 DE102006025030A DE102006025030B4 DE 102006025030 B4 DE102006025030 B4 DE 102006025030B4 DE 200610025030 DE200610025030 DE 200610025030 DE 102006025030 A DE102006025030 A DE 102006025030A DE 102006025030 B4 DE102006025030 B4 DE 102006025030B4
Authority
DE
Germany
Prior art keywords
shadow
rendering
bleeding
pixel
buffer
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.)
Active
Application number
DE200610025030
Other languages
English (en)
Other versions
DE102006025030A1 (de
Inventor
Philippe Desgranges
Klaus D. Engel
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.)
Siemens Healthineers Ag De
Original Assignee
Siemens Corporate Research Inc
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 Siemens Corporate Research Inc filed Critical Siemens Corporate Research Inc
Publication of DE102006025030A1 publication Critical patent/DE102006025030A1/de
Application granted granted Critical
Publication of DE102006025030B4 publication Critical patent/DE102006025030B4/de
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06TIMAGE DATA PROCESSING OR GENERATION, IN GENERAL
    • G06T15/003D [Three Dimensional] image rendering
    • G06T15/50Lighting effects
    • G06T15/60Shadow generation

Landscapes

  • Engineering & Computer Science (AREA)
  • Computer Graphics (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Theoretical Computer Science (AREA)
  • Image Generation (AREA)

Abstract

Verfahren zum Berechnen des Shading eines Volumen-Rendering mit Schatten, umfassend:
Rendering eines Schnitts des Volumens entlang einer Halbwinkelrichtung, die zwischen einer Lichtrichtung und einer Betrachtungsrichtung liegt;
Rendering eines Schnitts des Volumens entlang der Lichtrichtung, um Schatteninformationen des Schnitts in einem Schattenpuffer zu assimilieren; und
Bleeding des Schattenpuffers orthogonal zu der Lichtrichtung, um eine Schattenkarte zu erhalten, die zum Rendering des Schnitts des Volumens mit Schatten verwendet wird.

Description

  • ALLGEMEINER STAND DER TECHNIK
  • Die vorliegende Erfindung betrifft das Volume-Rendering und insbesondere das realistische Rendern von volumetrischen Datensätzen mit realistischem Shading und Schatten.
  • Das Direct-Volume-Rendering (DVR) ist ein Verfahren, um ein zweidimensionales (2D) Bild eines dreidimensionalen (3D) Datensatzes zu erhalten. Im Gegensatz zu vielen anderen Techniken ermöglicht die DVR-Technik, daß alle Daten im Datensatz zu dem 2D-Ausgabebild beitragen.
  • Das Volumen-Rendering wird oftmals als Direct-Rendering beschrieben, da es Abtastpunkte aus dem Volumen direkt auf eine Betrachtungsebene über ein gewisses optisches Modell und eine Transferfunktion abbildet, die das Ausmaß steuert, in dem die Datenwerte transparent (oder opak) sind. Es existiert eine Vielzahl von DVR-Verfahren, doch basieren die meisten um die Idee herum, daß Voxel eine Farbe und eine Transparenzmaske zugeordnet wird. Diese Transparenz bedeutet, daß verdeckte Voxel immer noch zu dem Endbild beitragen können, und es ist dieser Mechanismus, der es DVR gestattet, einen ganzen 3D-Datensatz einschließlich der Interna eines Bilds anzuzeigen. Ein Vorteil von DVR besteht darin, daß DVR das Potential hat, den kompletten Datensatz direkt in 3D zu visualisieren, wobei die Interna des 3D-Bilds zumindest teilweise exponiert werden.
  • DVR-Bilder können fuzzy und/oder verschwommen sein, weil die Bilder unter Berücksichtigung vieler Punkte in dem Datensatz und durch ihr Vereinen erzeugt werden. Als solches eignen DVR-Bilder sich nicht besonders, wo kontrastreiche Bilder erforderlich sind, um feines Detail zu untersuchen. Das zugrunde liegende Prinzip von DVR ist das Abtasten des Volumendatensatzes entlang Strahlen in einer willkürlichen Richtung und Vermischen dieser Proben miteinander. Bevor sie vermischt werden, werden die in dem Volumen gelesenen Dichten mit einer Transferfunktion, die oftmals als eine Nachschlagetabelle codiert ist, in Farben konvertiert. Wenn eine ausreichende Anzahl von Proben involviert ist, ist das Ergebnis oftmals ein nahtloses Bild.
  • Es gibt Techniken, um Schatten mit einer interaktiven Rate (z. B. mehreren Frames pro Sekunde) zu erhalten, doch werden durch Verwendung der Schatten in Verbindung mit Shading die rechnerischen Fixkosten beider Techniken kumuliert. Um ein Volumen-Rendering mit Schatten durchzuführen, besteht ein üblicherweise verwendetes Verfahren in der Akkumulierung der Lichtdämpfung jedes Schnitts des Volumens in einer Schattenkarte außerhalb des Schirms. Eine Schattenkarte erzeugt Schatten, als ob Licht von einer punktförmigen Lichtquelle austreten würde.
  • Nach dem Rendern jedes Schnitts in einen Framepuffer wird er ein zweites Mal in die Schattenkarte mit einem Shader gerendert, der die Lichtdämpfung akkumuliert. Ein Framepuffer bezieht sich auf den Speicher, der für das Speichern des Bilds bestimmt ist. Allgemein ist der Framepuffer ein zweidimensionales (2D) Array von Pixeln, wobei jedes Pixel eine Farbe speichert.
  • Zu einem gegebenen Zeitpunkt in dem Rendering-Prozeß enthält die Schattenkarte die Dämpfung des bereits gezeichneten Teils des Objekts, von dem Betrachtungspunkt des Lichts aus gesehen. Der Inhalt der Schattenkarte wird als die Schatteninformationen für den nachfolgenden, in den Framepuffer gerenderten Schnitt unter Verwendung projektiven Mappings verwendet. Dieser Prozeß wird iterativ für jeden Schnitt wiederholt.
  • Bei klassischen Rendering-Modellen wird ein Unterschied gemacht zwischen zwei Arten von Licht – diffuses Licht, das die Konsequenz von Licht ist, das auf die Oberfläche des Objekts direkt auftrifft, und spiegelndes Licht, das lokal in Bereichen erscheint, die Licht in Richtung auf das Auge des Betrachters reflektieren. Die endgültige Pixelfarbe hängt von diesen beiden Lichttermen ab, die unabhängig berechnet werden.
  • Der traditionelle Ansatz zu dem Shading beim Volumen-Rendering beinhaltet das Berechnen eines lokalen Gradienten pro Voxel unter Verwendung einer zentralen Differenzableitung. Ein lokaler Gradient bestimmt die Änderungen in einem Datensatz lokal bezüglich eines bestimmten Punkts im Volumen. Das Blinn-Phong-Beleuchtungsmodell wird ebenfalls üblicherweise auf jedes Fragment in den gerenderten Schnitten angewendet. Das Blinn-Phong-Beleuchtungsmodell ermöglicht die Approximation von Shading, ohne zu rechenintensiv zu sein. Dieser gradientenbasierte Ansatz leidet jedoch unter mehreren Problemen, die die Leistung und Bildqualität beeinflussen.
  • Das Berechnen von Gradienten in Echtzeit erfordert oftmals viele Texture-Fetches, was verursacht, daß die Leistung von der Speicherbandbreite begrenzt wird. Das Vorberechnen von Gradienten reduziert die Anzahl der Texture-Fetches, ist aber nur für kleine Datensätze akzeptabel, da es eine erhebliche Menge von Texture-Speicher erfordert. Dieses Problem wird verschärft durch die schnell ansteigende Größe von Datensätzen aufgrund von höher auflösenden Scannern, wodurch der Texture-Speicherplatz hoch bewertet wird. Da Gradienten für alle Voxel berechnet werden, einschließlich jener, die nicht zu dem endgültigen Bild beitragen, ist die Gradientenberechnung pro Voxel im allgemeinen rechnerisch ineffizient.
  • Das gradientenbasierte Shading ist im allgemeinen gegenüber Rauschen sehr empfindlich, weshalb es schwierig ist, mit verrauschten Datensätzen wie etwa jenen von Ultraschall und Magnetresonanz-(MR)-Scans qualitativ hochwertige visuelle Ergebnisse zu erhalten. Außerdem sind Gradienten in homogenen Gebieten im allgemeinen instabil und weisen sehr niedrige Größen und willkürliche Richtungen auf. Als solches können sie Shading-Artefakte entlang schneidender Ebenengrenzen erzeugen, was eine spezielle Überlegung erforderlich macht, wenn diese Gebiete gerendert werden.
  • Auf den Symposiumsbeitrag „Computer Graphics and Medicine” von L. Porcher Nedel et al. zur SIBGRAPI'99, Campinas, Oct. 1999, Titel, Pgs. 1–146, ist die Simulation eines Ausblutens unter Einsatz von Rendering-Techniken unter Verwendung von Volumendatensätzen bekannt.
  • Aus der US 6,593,925 B1 sind Verfahren und Systeme zum Real-Time-Rendern von Szenen mit unterschiedlichen Lichtquellen und Objekten mit unterschiedlichen spekularen Oberflächen bekannt. Dabei wird ein offline-Encoder verwendet, um Bilder mittels zwei oder mehr Variablen zu parametrisieren, die Blick-, Beleuchtungs- und Objektänderungen erlauben. Die parametrisierten Bilder werden basierend auf Schattierungsmodellen, Kameraparametern und der Geometrie der Zähne als Satz von für jedes Objekt parametrisierten Texturen codiert. Gemäß der Lehre der US 6,593,925 B1 ist es wesentlich, bei der Verarbeitung auf in Einzel-Objekte segmentierte Teile zurückzugreifen, um ein Bleeding zu vermeiden. Dies bringt einen hohen Aufwand an Rechenzeit mit sich.
  • Es besteht somit das Problem der Erzeugung realistisch schattierter Bilder, um ein diffuses Shading zu erreichen, ohne daß eine aufwendige Gradientenberechnung erforderlich ist.
  • KURZE BESCHREIBUNG DER ERFINDUNG
  • Dieses Problem wird gelöst durch ein Verfahren mit den Merkmalen des Patentanspruchs 1 und eine Vorrichtung mit den Merkmalen des Patentanspruchs 11.
  • Gemäß der vorliegenden Erfindung wird das Shading eines Volumens berechnet. Ein Schnitt des Volumens wird entlang einer Halbwinkelrichtung gerendert, die zwischen einer Lichtrichtung und einer Betrachtungsrichtung liegt. Dann wird ein Schnitt des Volumens entlang einer Lichtrichtung gerendert, um Schatteninformationen des Schnitts in einem Schattenpuffer zu assimilieren. Der Schattenpuffer wird orthogonal zu der Lichtrichtung einem Bleeding unterworfen, um den Schnitt zu schattieren.
  • Bei einer Ausführungsform beinhaltet das Bleeding des Schattenpuffers das Skalieren des Schattenpuffers. Das Bleeding kann auch das Dilatieren des Schattenpuffers beinhalten. Das Bleeding des Schattenpuffers kann auch das Bleeding mit einem zentralen Offset beinhalten. Für ein erstes Pixel des Schattenpuffers beinhaltet das Bleeding mit einem zentralen Offset das Lokalisieren eines zweiten Pixels, das näher an einem zentralen Punkt des Schattenpuffers in einer gegebenen Entfernung von dem ersten Pixel liegt. Eine Korrektur kann ebenfalls ausgeführt werden, wenn das zweite Pixel zu nahe an dem zentralen Punkt liegt. Bei einer Ausführungsform wird dann das erste Pixel durch das zweite Pixel ersetzt.
  • Nach dem Bleeding des Schattenpuffers wird der Schnitt unter Verwendung der Schattenkarte gerendert. Das Rendering des Schnitts unter Verwendung der Schattenkarte beinhaltet das Rendering ohne Gradienten, das Rendering mit selektiver spiegelnder Beleuchtung und das Rendering mit selektiven Blinn/Phong. Das Rendering des Schnitts unter Verwendung der Schattenkarte kann auch das Berechnen einer diffusen Beleuchtung mit der Schattenkarte beinhalten.
  • Diese und weitere Vorteile der Erfindung ergeben sich dem Durchschnittsfachmann durch Bezugnahme auf die folgende detaillierte Beschreibung und die beiliegenden Zeichnungen.
  • KURZE BESCHREIBUNG DER ZEICHNUNGEN
  • 1 ist ein Diagramm eines mit einem Frontscheinwerfer beleuchteten Objekts;
  • 2 zeigt zwei Renderings eines Herzdatensatzes unter Verwendung von Transferfunktionen mit unterschiedlicher Steilheit;
  • 3 zeigt ein Diagramm des oberen Körpers eines Skeletts, das ausgebildet wird, indem man eine Betrachtungs- und Lichtrichtung hat, die orthogonal zu einer Schnittebene verläuft;
  • 4 zeigt ein High-Level-Blockdiagramm eines Computers gemäß einer Ausführungsform der Erfindung;
  • 5 zeigt ein Diagramm des oberen Körpers eines anderen Skeletts, das unter Verwendung einer dilatierten Version einer Schattenkarte gemäß einer Ausführungsform der vorliegenden Erfindung ausgebildet wurde;
  • 6 zeigt, wie eine Dilation (Ausweitung) in einer Richtung senkrecht zur Lichtrichtung gemäß einer Ausführungsform der vorliegenden Erfindung durchgeführt wird;
  • 7 ist ein Flußdiagramm dieser für die Bleeding-Operation gemäß einer Ausführungsform der vorliegenden Erfindung ausgeführten Schritte;
  • 8 zeigt Flußdiagramme, die mehr Details der in 7 beschriebenen Bleeding-Prozedur gemäß einer Ausführungsform der vorliegenden Erfindung liefern;
  • 9 zeigt zwei Serien von Renderings, die mit drei verschiedenen Bleeding-Operationen gemäß einer Ausführungsform der vorliegenden Erfindung durchgeführt werden;
  • 10 ist ein Diagramm, das die Dilations-, Skalierungs- und Zentrale-Offset-Bleeding-Verfahren gemäß einer Ausführungsform der vorliegenden Erfindung veranschaulicht;
  • 11 ist eine Darstellung eines ersten Bilds, das ein gradientenfreies pseudospiegelndes Shading verwendet, und ein zweites Bild, das traditionelles gradientenbasiertes spiegelndes Shading verwendet;
  • 12 zeigt Flußdiagramme für die verschiedenen Verfahren für das Rendering von Schnitten und
  • 13 ist ein Diagramm einer Pixel-Shader-Codedatei gemäß einer Ausführungsform der vorliegenden Erfindung.
  • AUSFÜHRLICHE BESCHREIBUNG
  • Schatten in Bildern sind wichtige visuelle Anhaltspunkte für die Wahrnehmung von Gestalt und Zusammensetzung. Techniken zum Berechnen von Schatten beim Volume-Rendering simulieren im allgemeinen die Dämpfung der durch ein halbtransparentes Medium sich ausbreitenden Lichtintensität. Raytracingverfahren zum Berechnen von Schatten sind wohlbekannt, sind aber üblicherweise langsam und können nicht bei interaktiven Frameraten arbeiten.
  • Eine Schatten aufweisende bisherige texturbasierte Volume-Rendering-Technik basierte auf dem Prinzip von im voraus berechnetem Schattenvolumen. Dieses Schattenvolumen codiert für jedes Voxel die integrierte Lichtverdickung von anderen Voxels hinsichtlich der Lichtquelle. Diese Vorberechnung gilt nur für eine statische Lichtposition und ein gegebenes Objekt, was bedeutet, daß das Schattenvolumen immer dann regeneriert werden muß, wenn sich das Licht im Objektraum bewegt, und auf Grafikhardware übertragen werden muß. Andererseits sind diese Techniken oftmals sehr schnell, wenn sich eine virtuelle Kamera (von einem Computer generiert, der diese Berechnungen durchführt, um das Bild und die Schatten zu generieren) um das statisch beleuchtete Objekt herum bewegt.
  • Ein weiteres Verfahren, das zum Volume-Rendering mit Schatten verwendet wird, ist das Interlacing der Schattenvolumenberechnung mit dem eigentlichen Volume-Rendering, wodurch nur ein Schnitt des Schattenvolumens in dem Texturspeicher gespeichert werden muß. Mit dieser Technik erzielt man Ergebnisse, die gleichwertig zu den Ergebnissen sind, wenn ein sehr hoch aufgelöstes Schattenvolumen verwendet wird, wenngleich keine großen Speicherfixkosten vorliegen.
  • Die Verwendung eines gradientenbasierten Shading in Verbindung mit Schatten kann sehr lebensechte Bilder erzeugen, doch verhindern die Leistungsfixkosten der beiden kombinierten Techniken oftmals das Rendering bei interaktiven Frameraten. Andererseits ist wohlbekannt, daß einige Shading-Effekte effizienter mit bestimmten Transferfunktionen erzielt werden können und daß bestimmte Schattenwurftechniken die Erscheinung eines Shading erzeugen können.
  • 1 ist ein Diagramm 100 eines mit einem Frontscheinwerfer beleuchteten Objekts (z. B. einer Lampe, die am Kopf eines gedachten Benutzers angebracht ist, so daß das Licht auf die Front des Objekts scheint). Eine Möglichkeit, um einen Shading-Effekt zu erzielen, ist durch Verwendung einer linearen eindimensionalen (1D) Transferfunktion. Diese Transferfunktion ist üblicherweise eine linear steigende Alpharampe mit Farben, die in den transparenten Bereichen dunkel und in den opaken Bereichen hell sind. Eine Alpharampe bestimmt, wie opak jedes Voxel ist. Weil die Übergänge zwischen den hohen und niedrigen Dichten üblicherweise progressiv sind, können die angezeigten Objekte zwei unterschiedliche Komponenten aufweisen: einen opaken Kern 104, der üblicherweise von heller Farbe ist, und eine transparente Hülle 108, die im allgemeinen dunkler ist. Der Einfachheit halber sei angenommen, daß die dunkle äußere Hülle 108 von konstanter Dicke s ist, und daß sich die Dichte (und Opazität) in der Hülle 108 linear von innen nach außen ändert.
  • Weil die Strahlen in der dunklen Hülle 108 in der Nähe von von dem Betrachtungspunkt weg abgewinkelten Oberflächen eine größere Entfernung zurücklegen, wird in die endgültige Pixelfarbe mehr Dunkelheit integriert, was zu dunkleren Farben für Oberflächen führt, die zum Betrachter fast senkrecht sind. Somit hängt die Strecke d, die der Strahl in der dunklen Hülle 108 zurücklegt, von dem Winkel zwischen der Normalen der Oberfläche und dem Betrachtungsvektor ab.
  • 1 zeigt, daß die Strecke d als die Dicke der Hülle 108 dividiert durch den Kosinus des Winkels zwischen dem Betrachtungsvektor und der lokalen Oberflächennormalen berechnet werden kann. Dieser Kosinusterm kann umgeschrieben werden als das L·N, das beim Berechnen des Terms der diffusen Beleuchtung von einem Frontscheinwerfer verwendet wird (wobei N der Normalenvektor, L der Lichtvektor (d. h. der Richtungsvektor von dem Voxel zur Lichtquelle), V die Betrachtungsrichtung (d. h. die Richtung von der Kamera zum Volumen) und L = V ist). Somit ist d proportional zu s und invers proportional zu dem Term für die diffuse Beleuchtung (berechnet über das Lambertsche Kosinusgesetz mit einem Frontscheinwer fer). Somit ist die integrierte Opazität β durch die Hülle 108 d/2 wegen der linearen Alphafunktion. Dies bedeutet, daß die Opazität der über dem Lichtkern 104 gemischten Dunkelheit umgekehrt proportional zu L·N und folglich die Helligkeit des endgültigen Pixels proportional zu L·N ist. Somit kann eine lineare Transferfunktion als eine Approximation des diffusen Lichtbeitrags von einem Scheinwerfer verwendet werden.
  • Diese Shading-Approximation ist jedoch nicht sehr zweckmäßig in der Verwendung, weil die Verdunkelung proportional zu der Dicke der Hülle 108 ist. Das bedeutet, daß man ein gleichmäßiges Shading an Grenzen erreichen kann, die einen progressiven Dichteübergang aufweisen (beispielsweise für Haut und Weichgewebe), aber bei steilem Übergang nur die Ränder abgedunkelt werden.
  • 2 zeigt zwei Renderings 205, 210 eines Herzdatensatzes unter Verwendung von Transferfunktionen mit unterschiedlicher Steilheit. Insbesondere verwendet das erste Rendering 205 eine Transferfunktion mit einer ersten Steilheit, und das zweite Rendering 210 verwendet eine Transferfunktion mit einer relativ zu dem ersten Rendering 205 geringeren Steilheit. Das erste Rendering 205 ist heller schattiert als das zweite Rendering 210, und die Bilder sind permutiert.
  • Ein Schattenvolumen kann als ein Volumen interpretiert werden, das Lichtdämpfungsfaktoren im Bereich von [0, 0, 1, 0] enthält. Der Wert jedes Voxels ist die entlang Strahlen von der Lichtquelle zum Voxel integrierte Opazität, die anfänglich 1,0 beträgt und mit Verdeckung des Lichts abnimmt. Während des Rendering-Prozesses wird die diffuse Farbe durch den Dämpfungsfaktor moduliert, wodurch die Farben effektiv in verdeckten Bereichen abgedunkelt werden. Bis zu einem gewissen Grad ist das Verhalten dieser Dämpfung ähnlich dem der linearen Transferfunktion in Bereichen, wo das Licht auf die transparente Hülle eines Objekts auftrifft. Je mehr es die Hülle durchdringt, um so schwächer wird es. Der Unterschied besteht darin, daß die Farben verdunkelt werden, anstatt in Richtung der Innenseite heller zu werden.
  • 3 zeigt ein Diagramm des Oberkörpers eines Skeletts 300. Das Skelett 300 wird ausgebildet, indem man eine Betrachtungs- und Lichtrichtung 304 hat, die orthogonal zu einer Schnittebene 308 verläuft. 3 zeigt einen volumetrischen Schattenansatz nach dem Stand der Technik, da der Schatten innerhalb des Kerns 316 bleibt und nicht innerhalb des größten Teils der transparenten Hülle 320.
  • Wenn man es mit hochaufgelösten Schattenvolumen zu tun hat, sind die stark gedämpften Bereiche in opaken Bereichen eingefangen und sind nur in Bereichen sichtbar, wo der Schatten tatsächlich geworfen wird. Wenn hochaufgelöste Schattenvolumen mit einem Scheinwerfer verwendet werden, ist das resultierende Bild sehr ähnlich einem Bild ohne Schatten. Man beachte, daß bei Verwendung eines aus einer Entfernung von unendlich projizierten gerichteten Lichts und einer perspektivischen Betrachtungsprojektion des Volumens aufgrund der Unterschiede zwischen den beiden Projektionen geringfügige Schatten an Rändern sichtbar sind.
  • In diesem Fall ist die Lichtrichtung die gleiche wie die Betrachtungsrichtung, was bedeutet, daß das Volumen senkrecht zur Betrachtungsrichtung geschnitten wird. Für jedes gezeichnete Voxel wird die entsprechende Schattendämpfung in dem 2D-Schattenpuffer bestimmt (z. B. aus einer Tabelle nachgeschlagen), und die Farbe wird durch den abgerufenen Wert moduliert.
  • Die folgende Beschreibung beschreibt die vorliegende Erfindung im Hinblich auf die Verarbeitungsschritte, die erforderlich sind, um eine Ausführungsform der Er findung zu implementieren. Diese Schritte können von einem entsprechend programmierten Computer ausgeführt werden, dessen Konfiguration in der Technik wohlbekannt ist. Ein entsprechender Computer kann beispielsweise unter Verwendung wohlbekannter Computerprozessoren, Speichereinheiten, Speicherungseinrichtungen, Computersoftware und anderer Komponenten implementiert werden. Ein High-Level-Blockdiagramm eines derartigen Computers ist in 4 gezeigt. Der Computer 402 enthält einen Prozessor 404, der den Gesamtbetrieb des Computers 402 steuert durch Ausführen von Computerprogrammanweisungen, die diesen Betrieb definieren. Die Computerprogrammanweisungen können in einer Speicherungseinrichtung 412 (z. B. eine Magnetplatte) gespeichert und in den Speicher 410 geladen werden, wenn eine Ausführung der Computerprogrammanweisungen gewünscht ist. Der Computer 402 enthält auch eine oder mehrere Schnittstellen 406 zum Kommunizieren mit anderen Einrichtungen (z. B. lokal oder über ein Netz). Der Computer 402 enthält außerdem einen Eingang/Ausgang 408, der Einrichtungen darstellt, die eine Benutzerinteraktion mit dem Computer 402 gestatten (z. B. Display, Tastatur, Maus, Lautsprecher, Knöpfe usw.) Der Fachmann erkennt, daß eine Implementierung eines tatsächlichen Computers auch andere Komponenten enthält und daß 4 eine High-Level-Darstellung einiger der Komponenten eines derartigen Computers zu Veranschaulichungszwecken ist. Außerdem erkennt der Fachmann, daß die hier beschriebenen Verarbeitungsschritte auch unter Verwendung eigener Hardware implementiert werden können, deren Schaltungsanordnung spezifisch zum Implementieren solcher Verarbeitungsschritte konfiguriert ist. Alternativ können die Verarbeitungsschritte unter Verwendung verschiedener Kombinationen von Hardware und Software implementiert werden. Außerdem können die Verarbeitungsschritte in einem Computer stattfinden oder Teil einer größeren Maschine sein.
  • 5 zeigt ein Diagramm des oberen Körpers eines anderen Skeletts 500, das unter Verwendung einer dilatierten Version der Schattenkarte gemäß der vorliegenden Erfindung ausgebildet wird. Die Betrachtungs- und Lichtrichtung 504 verläuft senkrecht zu der Dilationsrichtung 508. Anstatt einen Abtastwert der Schattenkarte zu verwenden, um ein Voxel zu schattieren, werden mehrere Abtastwerte in dem benachbarten Bereich verwendet, und der Mindestwert wird abgerufen. Dies weitet die Schattengebiete aus und versetzt ihre Richtungen in Richtung der Außenseite des Objekts, wo sie die transparente Hülle des gezeichneten Schnitts schneiden. Dies entspricht der Verwendung eines Schattenvolumens, das mit einer 3D-Dilation gefaltet ist, dessen Kern eine der Richtung des Lichts zugewandte flache Scheibe ist.
  • Folglich verdunkelt jedes schattenwerfende Voxel nicht nur die Voxel hinter ihm, sondern auch ihre Nachbarn. Je mehr die Oberfläche von dem Licht weggewandt ist, um so wahrscheinlicher liegen benachbarte Voxel in der transparenten Hülle 512. Dies führt zu einem diffusen Shading-Verfahren, das dem oben beschriebenen ähnlich ist. Dieser Ansatz funktioniert unabhängig von den für die Transferfunktion gewählten Farben und erfordert nur, daß die Transferfunktion ausreichend gleichmäßige Alphaübergänge aufweist.
  • Bisher wurde angenommen, daß die Betrachtungs- und die Lichtvektoren in der gleichen Richtung liegen, so daß die Schnittebenen und die Schattenpufferansicht ausgerichtet sind. Diese oben eingeführte Shading-Technik gestattet willkürliche Lichtrichtungen durch Verwendung eines Halbwinkelschnitts (Half Angle Slicing). Im allgemeinen verläuft die Schnittebene nicht orthogonal zu den Betrachtungs- oder Lichtvektoren. Indem jedoch sichergestellt wird, daß die Dilation in allen Richtungen senkrecht zum Betrachtungsvektor durchgeführt wird, das heißt in dem Lichtpuffertexturkoordinatenraum, kann der gleiche Effekt erzielt werden. Die Idee lautet, eine 2D-Dilation mit einem konstanten Dilationskern bei allem Nachschlagen in der Schattenkarte durchzuführen. Eine dilatierte Schattenkartierung kann mit einem 5-Abtastwert-Kern implementiert werden. Alternativ kann die Verwendung von mehr Abtastwerden von einer Scheibenverteilung zu einer qualitativ hochwertigeren Dilation führen. Infolge der Dilation ist der Kopf des Skeletts 500 im Vergleich mit dem Kopf des Skeletts 300 von 3 viel dunkler (d. h. ist schattiert).
  • 6 zeigt, wie die Dilation in einer Richtung 604 senkrecht zur Lichtrichtung 608 selbst dann durchgeführt wird, wenn die Schnittrichtung 612 nicht orthogonal zum Lichtvektor verläuft. Insbesondere zeigt 6, daß die Dilation durchgeführt wird und gleichzeitig eine Lichtquelle überall um das Volumen herum positioniert sein kann, anstatt lediglich als ein Scheinwerfer. Außerdem ist diese Dilation eine zweidimensionale Operation.
  • Diese Dilation bewirkt, daß der Schatten 616 in von dem Licht weggewandte Oberflächen ausblutet, und stellt einen korrekten diffusen Shading-Effekt mit willkürlichen Lichtrichtungen bereit. Da dieses diffuse Shading ohne jegliche Gradienten berechnet worden ist, wird es von degenerierten Gradienten in homogenen Gebieten der Daten nicht beeinflußt. Zudem erfordert es weniger Schnitte als das klassische Shading für akzeptable Ergebnisse und ist hinsichtlich der Shading-Qualität vergleichsweise günstig.
  • Bezüglich der Leistung ist dieser Ansatz schneller als das Berechnen von Gradienten in Echtzeit, weil nur 2D-Nachschlagevorgänge durchgeführt werden, während das Berechnen eines lokalen Gradienten in der Regel sechs 3D-Nachschlagevorgänge in dem Dichtevolumen erfordert (d. h. zwei x-Achse-3D-Nachschlagevorgänge, zwei y-Achse-3D-Nachschlagevorgänge und zwei z-Achse-3D-Nachschlagevorgänge). Wenngleich in unserer beispiel haften Implementierung nur vier zusätzliche 2D-Abtastwerte verwendet werden, kann es vorteilhaft sein, sechs oder acht Abtastwerte zu nehmen, um die Silhouette von geworfenen Schatten für Volumen aufrechtzuerhalten, die ein hochfrequentes Detail aufweisen.
  • 7 ist ein Flußdiagramm der Schritte, die durchgeführt werden für die Bleeding-Operation, um die Probleme des Shading mit degenerierten Gradienten zu lösen und um die durch das Berechnen von Gradienten gemäß einer Ausführungsform der vorliegenden Erfindung induzierten Fixkosten zu beseitigen. Der Framepuffer und die Schattenkarte werden in Schritt 704 gelöscht. Die Geometrie eines Schnitts wird dann in Schritt 708 berechnet. Der Computer 102 blutet dann die Schattenkarte senkrecht zur Lichtrichtung in Schritt 712 aus. Der Schnitt wird unter Verwendung der dem Bleeding unterworfenen Schattenkarte für das Shading in Schritt 716 gerendert.
  • Der Computer 102 akkumuliert dann die Dämpfung des Schattens in der Schattenkarte in Schritt 720 und bestimmt dann in Schritt 724, ob mehr Schnitte zu rendern sind. Falls nicht, wird das Rendering in Schritt 728 abgeschlossen. Wenn mehr Schnitte zu rendern sind, wiederholt sich der Prozeß durch Rückkehr zu Schritt 708.
  • 8 zeigt Flußdiagramme, aus denen mehr Details der in Schritt 712 von 7 beschriebenen Bleeding-Prozedur hervorgehen. Insbesondere sind in 8 drei Bleeding-Techniken gezeigt. Die erste Bleeding-Technik kann erzielt werden durch geringfügiges Skalieren der Schattenkarte um ihre Mitte herum. Abgeschattete Bereiche werden dann in Richtung auf die Grenzen der Schattenkarte „geschoben”, wie in Schritt 804 gezeigt. Diese Technik läuft in der Regel sehr schnell ab, kann aber in verschiedenen Bereichen inkonsistent sein. Diese Technik arbeitet in der Regel gut für etwas konvexe Objekte mit von der Mitte des Volumens wegweisenden Gren zen. Diese Technik überfordert üblicherweise die Grafikhardware nicht, da ein Skalieren mit modifizierten Texturkoordinaten erzielt werden kann. Diese Technik zeigt jedoch manchmal Artefakte in von der Mitte des Volumens weit weg liegenden Bereichen.
  • Die zweite Bleeding-Technik ist Bleeding mit einem zentralen Offset. Für jedes Pixel (p) der Schattenkarte beinhaltet diese Bleeding-Technik das Lokalisieren in Schritt 808 des Pixels (p'), das in einer gegebenen Entfernung d vom Pixel p näher an der Mitte liegt. Diese Technik führt dann in Schritt 812 eine Korrektur aus, wenn p' zu nahe von der Mitte weg liegt. Ein Beispiel einer durchgeführten Korrektur besteht darin, wenn die Entfernung zu der Mitte des Schattenpuffers kleiner ist als die Größe eines Abfallgebiets („Abfall”-Parameter), dann wird das übersetzte Nachschlagen mit einem Korrekturfaktor offsetLen/falloff multipliziert. Das Pixel p wird dann in Schritt 816 durch das Pixel p' ersetzt. Falls sich mehr Pixel in der Schattenkarte befinden (Schritt 820), dann wiederholt sich der Prozeß durch Rückkehr zu Schritt 808.
  • Die dritte Bleeding-Technik ist Bleeding mit Dilation. Dies ist eine präzise Prozedur, ist aber in der Regel langsamer als die anderen Prozeduren. Für diese Prozedur wird ein Dilationsfilter angewendet unter Verwendung eines Scheibenkerns auf die Schattenkarte in Schritt 824.
  • 9 zeigt zwei Serien von Renderings, die mit drei verschiedenen Bleeding-Operationen durchgeführt werden. Insbesondere zeigt 9(a) ein gradientenbasiertes Shading, und 9(b) zeigt ein dilationsbasiertes Shading. 9(c) zeigt ein zentrales Offset-Shading und 9(d) zeigt ein Shading unter Verwendung von Skalierung. Zur Bezugnahme ist gradientenbasiertes Shading hinzugefügt. Die 9(a)9(d) heben die Dif ferenzen zwischen den Ausgaben der verschiedenen Bleeding-Techniken hervor.
  • 10 zeigt verschiedene Bleeding-Verfahren. 10(a) zeigt die Verwendung von Dilation als Bleeding-Verfahren. Die Rolle der Dilation besteht darin, die Lichtdämpfung der Schattenkarte aus dem inneren opaken Kern herauszubringen, damit ihr Bleeding in die äußere Hülle erfolgt. Die Idee der Dilation besteht darin, eine lokale Suche um den aktuellen Abtastpunkt durchzuführen, um den kleinsten Schattenwert zu finden. Das Verhalten dieser anisotropen Operation ist unabhängig von der abgetasteten Stelle, kann aber langsam sein. Um die Bleeding-Operation schneller zu machen, wird die Dilationsoperation durch eine Skalierungsoperation um die Mitte der Schattenkarte ersetzt.
  • 10(b) zeigt die skalierende Bleeding-Technik. Es wird vermutet, daß durch Skalieren der Schattenkarte die Position des dunkelsten benachbarten Punkts immer am nächsten an der Mitte des Bilds in einem lokalen kreisförmigen Bereich um das abgetastete Texel herum liegt. Ein Texel ist die Basiseinheit einer texturierten Grafik – Grafik, die die Oberfläche von dreidimensionalen Objekten definiert. Dies funktioniert gut unter der Annahme, daß die gerenderten Oberflächen von der Mitte des Objekts wegweisen. Bei dieser Bedingung werden Texel in Richtung auf die Mitte der Schattenkarte im allgemeinen stärker gedämpft. Diese Annahme kann unter bestimmten Bedingungen akzeptiert werden, weil Objekte, die visualisiert werden sollen, oftmals in den Daten gut zentriert sind und die äußere Isooberfläche des Volumens (diejenige, die zu sehen ist) von der Mitte weg weist und somit beleuchtet wird, wie erwartet.
  • Diese Technik bringt die Kosten des Bleeding herunter auf ein einzelnes Nachschlagen in der Schattenkarte. Die Skala kann leicht in der Projektionstexturmatrix enthalten sein, die in dem Vertexprogramm verwendet wird. Obwohl Skalierung im allgemeinen im Vergleich zur Dilation von einem visuellen Standpunkt aus gut funktioniert, führt sie in vielen Fällen eine größere Ungenauigkeit in das Bleeding ein. Dies ist auf die Tatsache zurückzuführen, daß der Abstand zwischen der aktuellen Abtastposition und der modifizierten Abtastposition proportional zu dem Abstand der Abtaststelle und der Mitte ist.
  • Folglich sehen Merkmale, die in der Mitte der Textur codiert sind, kontrastlos aus. Signifikanter werden Schatten für in der Nähe der Volumengrenzen liegenden Merkmale zu stark verschoben, wodurch schattierte und beleuchtete Gebiete an den falschen Stellen erzeugt werden, was unannehmbar sein kann, wenn ein Bild zu Diagnosezwecken verwendet wird. 7(d) zeigt ein Beispiel des Shading unter Verwendung von Skalierung und veranschaulicht schattierte und beleuchtete Gebiete an den falschen Stellen.
  • 10(c) zeigt eine Veranschaulichung eines Bleeding-Verfahrens unter Verwendung eines zentralen Offsets. Die Artefakte können vermieden werden, indem stattdessen ein einzelnes Texel in einer konstanten Entfernung von der abgetasteten Stelle in Richtung der Mitte der Karte abgetastet wird. Diese Technik entfernt die Artefakte der Skalierung, führt aber ein neues Artefakt in der Mitte der Schattenkarte für Positionen ein, die näher als unsere konstante Entfernung an der Mitte liegen. Um dies zu überwinden wird eine kleine Abfallentfernung zu der Mitte definiert, wobei der Offset proportional zu der Nähe zu der Mitte reduziert ist. 7(c) zeigt, daß dies die Inkonsistenzen korrigiert und nur die Shading-Qualität sehr lokal beeinflußt. Man beachte, daß dieser geometrische Offset in Echtzeit vorgenommen werden kann oder vorberechnet und in einer 2D-Textur gespeichert werden kann.
  • Mit den oben beschriebenen Techniken erhält man eine gradientenfreie Approximation des diffusen Shading, und das Gleichgewicht zwischen Leistung und Genauigkeit kann durch Wahl einer der vorgeschlagenen Bleeding-Techniken abgestimmt werden. Dieses Modell beschäftigt sich jedoch nicht mit spiegelnden Spitzlichtern, eine wichtige Beleuchtungscharakteristik für glänzende Materialien. Ein spiegelnder Term kann approximiert werden, indem der diffuse Term berechnet und potenziert wird.
  • Diese Approximation kann mit sehr geringen Kosten gegenüber dem einfachen diffusen Shading vorgenommen werden, obwohl sie voraussetzt, daß der Reflexionsvektor gleich der Oberflächennormalen ist. Dies ist in dem allgemeinen Fall falsch und kann zu einer falschen Plazierung von Spitzlichtern führen, kann aber die allgemeine Wahrnehmung von Gestalten durch die Addition von Kontrast verbessern. 11 zeigt ein erstes Bild 1105, das ein gradientenfreies pseudo-spiegelndes Shading verwendet. Ein zweites Bild 1110 verwendet ein traditionelles gradientenbasiertes spiegelndes Shading. Die gradientenfreien Spitzlichter verbessern die Klarheit des Bilds trotz ihrer falschen Plazierung und inhärenten Weichheit. Ein Vorteil dieser Technik besteht darin, daß er immer noch keine Gradientenberechnung involviert, was zu einem Shading-Modell führt, das alle Terme von Blinn-Phong mit Schatten zu Kosten aufweist, die viel geringer sind als die eines klassischen gradientenbasierten Blinn-Phong-Shading.
  • Das Belichtungsmodell wird dann wie folgt definiert: I → = c →rgb × d × Id + s × Id n × c →alpha
  • In dieser Gleichung ist n der Glanz und d und s sind die diffusen und spiegelnden Intensitäten, Id ist die von dem Schatten-Bleeding abgeleitete diffuse Komponente und c ist die Farbe von der Klassifikation.
  • Man beachte, daß der spiegelnde Beitrag mit dem Alphawert der Transferfunktion multipliziert wird, da der diffuse Term erst dann signifikant wird, wenn sich das Licht in das Medium ausbreitet und gedämpft wird. Falls diese Multiplikation nicht auftreten würde, würden opake spiegelnde Bereiche überwältigt werden.
  • Diese Approximation führt zu weichen spiegelnden Spitzlichtern, und wenn die Spekularität auf einen hohen Wert gesetzt ist, erscheinen einige helle Bereiche auf flachen Oberflächen und verdecken feine Details. Spekularität ist im allgemeinen sehr empfindlich gegenüber einer Gradientenvariation, so daß man mit dieser Technik akzeptable Ergebnisse nur mit einigermaßen niedrigen Glanzfaktoren erhält, wodurch man weiche und große Spitzlichter erhält, wie in dem ersten Bild 1105 von 11 gezeigt.
  • In einigen Fällen sind präzise spiegelnde Spitzlichter beim Übermitteln von Details essentiell. Beispielsweise können kleine Risse auf Knochenoberflächen oder Falten auf Weichgewebe durch präzise spiegelnde Spitzlichter akzentuiert werden. Um spiegelnde Spitzlichter präzise wiederzugeben, müssen Gradienten Teil der Berechnung der spiegelnden Komponente sein. Spiegelnde Spitzlichter sind in der Regel ein sehr lokales Phänomen und setzen über die Volumenbeleuchtungscharakteristiken folgendes voraus:
    • • spiegelnde Spitzlichter treten üblicherweise in Bereichen auf, die auch diffuses Licht emittierten
    • • spiegelnde Spitzlichter brauchen in leeren oder transparenten Bereichen nicht berechnet zu werden.
  • Dies bedeutet, daß, nachdem der diffuse Shading-Term aus der Schattenkarte abgeleitet worden ist und die Farbe von der Transferfunktion geholt worden ist, die Frage, ob ein Voxel einem spiegelnden Spitzlicht unterworfen ist, auf der Basis des folgenden Tests bestimmt werden kann: (Diffus > k1 und Farbe.alpha > k2)wobei k1 uns k2 willkürliche Schwellwerte für den Schattenwert bzw. die Voxelfarbtransparenz sind. Diese Bedingung kann auf der Basis einzelner Fragmente ausgewertet werden, und es kann entschieden werden, ob ein spiegelnder Term berechnet wird oder nicht. Wenn die Bedingung wahr ist, dann werden die für die Gradientenberechnung von zentralen Differenzen erforderlichen sechs 3D-Nachschlagevorgänge durchgeführt, der Gradient wird berechnet und der spiegelnde Term wird anhand des Gradienten und des Halbwegevektors berechnet. Die meisten Voxel fallen bei dieser Bedingung durch, was bedeutet, daß die Berechnung des spiegelnden Terms und des Gradienten für den Großteil des Volumens vermieden werden kann.
  • Zur Bestimmung der endgültigen Fragmentfarbe kann der ohne die Gradienten berechnete diffuse Term mit dem für ausgewählte Fragmente addierten spiegelnden Term verwendet werden. Das Endergebnis liegt sehr nahe bei dem Blinn-Phong-Shading mit addierten Schatten, verhält sich aber schön bei Schnittebenen durch Vermeiden von Artefakten in diesen Bereichen aufgrund von aus degenerierten Gradienten berechneter diffuser Beleuchtung.
  • Der nächste Schritt besteht in dem Übersteuern des gradientenfreien diffusen Shading in Bereichen, die für eine Gradientenberechnung ausgewählt sind, durch den klassischen punktproduktbasierten diffusen Term. Obwohl Gradienten nur auf der beleuchteten Oberfläche des Objekts berechnet werden, entspricht die erhaltene Bildqualität gut den Ergebnissen des Blinn-Phong-Shading ohne Schatten. Da die schwere Gradientenberechnung nur wo benötigt durchgeführt wird, können wir höhere Frame raten als vollständiges Blinn-Phong-Shading erzielen. Man beachte auch, daß diese Technik mit kleinem oder keinem Bleeding-Radius durchgeführt werden kann, da die Schattendämpfung nur dazu beiträgt, Bereiche zu bestimmen, wo der reale diffuse Term berechnet werden muß. Somit kann das am wenigsten aufwendige Bleeding-Verfahren verwendet werden.
  • 12 zeigt Flußdiagramme für die verschiedenen Verfahren für das Rendern von Schnitten. 12(a) zeigt die für das Rendern ohne Gradienten benötigten Schritte. Diese Prozedur tritt in der Regel sehr schnell relativ zu den anderen Rendering-Prozeduren auf. Die folgenden Schritte gelten für jedes gerenderte Fragment. Die diffuse Beleuchtung wird mit dem Inhalt der Schattenkarte in Schritt 1204 berechnet. Bei einer Ausführungsform wird in Schritt 1208 ein pseudo-spiegelnder Term von dem diffusen Term berechnet. Dies kann das Ergebnis mit sehr geringen Kosten verbessern und lesbare Bilder ohne Berechnung irgendwelcher Gradienten erzeugen. Die Fragmentenfarbe wird dann in Schritt 1212 berechnet. Das Verfahren bestimmt dann in Schritt 1216, ob weitere Fragmente vorliegen. Wenn dies der Fall ist, kehrt der Prozeß zu Schritt 1204 zurück.
  • 12(b) zeigt die für das Rendern mit selektiv spiegelndem erforderlichen Schritte. Dieser Prozeß tritt in der Regel schnell mit einer genauen spiegelnden Beleuchtung relativ zu den anderen Rendering-Prozeduren auf. Die folgenden Schritte gelten für jedes gerenderte Fragment.
  • Die diffuse Beleuchtung wird mit dem Inhalt der Schattenkarte in Schritt 1220 bestimmt. Der Computer bestimmt dann in Schritt 1224, ob das Fragment ausreichend Licht empfängt und sich nicht außerhalb des Objekts befindet. Wenn das Fragment ausreichend Licht empfängt, wird in Schritt 1228 ein lokaler Gradient berechnet und ein spiegelndes Licht wird in Schritt 1232 unter Verwendung des Gradienten berechnet. Wenn das Fragment nicht ausreichend Licht empfängt, wird das spiegelnde Licht in Schritt 1236 auf null gesetzt. Die Fragmentfarbe wird dann in Schritt 1240 berechnet. Wenn in Schritt 1244 weitere Fragmente vorliegen, wiederholt sich der Prozeß durch Rückkehr zu Schritt 1220. Falls nicht, wird der Prozeß abgeschlossen.
  • 12(c) zeigt die für das Rendering mit selektivem Blinn/Phong erforderlichen Schritte. Dies liefert genau die gleichen Ergebnisse wie das Blinn/Phong-Verfahren, ist aber in der Regel viel schneller als das Blinn/Phong-Verfahren. Die folgenden Schritte gelten für jedes gerenderte Fragment.
  • Die diffuse Beleuchtung wird in Schritt 1248 mit dem Inhalt der Schattenkarte berechnet. Es wird dann in Schritt 1252 bestimmt, ob das Fragment ausreichend Licht erhält und sich nicht außerhalb des Objekts befindet. Wenn das Fragment ausreichend Licht erhält, wird in Schritt 1256 ein lokaler Gradient berechnet. Das diffuse Licht wird unter Verwendung des Gradienten in Schritt 1260 berechnet. Das spiegelnde Licht wird dann unter Verwendung des Gradienten in Schritt 1264 berechnet. Wenn das Fragment nicht ausreichend Licht erhält, wird das spiegelnde Licht auf null gesetzt und der gradientenlose diffuse Term wird in Schritt 1268 verwendet. Dann wird die Fragmentfarbe in Schritt 1272 berechnet. Wenn in Schritt 1276 mehrere Fragmente vorliegen, wiederholt sich der Prozeß durch Rückkehr zu Schritt 1248. Falls nicht, wird der Prozeß abgeschlossen.
  • 13 ist ein Diagramm einer Pixel-Shader-Codedatei 1300 gemäß einer Ausführungsform der vorliegenden Erfindung. Die Codedatei berechnet die Offsetrichtung in Schritt 1304 und berechnet dann den Abstand von der Mitte in Schritt 1308. Der Code entfernt dann in Schritt 1312 Artefakte in der Mitte und führt dann den übersetzten Nachschlagevorgang in Schritt 1316 aus.

Claims (19)

  1. Verfahren zum Berechnen des Shading eines Volumen-Rendering mit Schatten, umfassend: Rendering eines Schnitts des Volumens entlang einer Halbwinkelrichtung, die zwischen einer Lichtrichtung und einer Betrachtungsrichtung liegt; Rendering eines Schnitts des Volumens entlang der Lichtrichtung, um Schatteninformationen des Schnitts in einem Schattenpuffer zu assimilieren; und Bleeding des Schattenpuffers orthogonal zu der Lichtrichtung, um eine Schattenkarte zu erhalten, die zum Rendering des Schnitts des Volumens mit Schatten verwendet wird.
  2. Verfahren nach Anspruch 1, wobei das Bleeding des Schattenpuffers das Skalieren des Schattenpuffers umfaßt.
  3. Verfahren nach Anspruch 1, wobei das Bleeding des Schattenpuffers das Dilatieren des Schattenpuffers umfaßt.
  4. Verfahren nach Anspruch 1, wobei das Bleeding des Schattenpuffers das Bleeding mit einem zentralen Offset umfaßt.
  5. Verfahren nach Anspruch 4, wobei das Bleeding mit einem zentralen Offset für ein erstes Pixel des Schattenpuffers das Lokalisieren eines zweiten Pixels umfaßt, das näher an einem zentralen Punkt des Schattenpuffers in einer gegebenen Entfernung von dem ersten Pixel liegt.
  6. Verfahren nach Anspruch 5, weiterhin umfassend das Ausführen einer Korrektur, wenn das zweite Pixel zu nahe an dem zentralen Punkt liegt.
  7. Verfahren nach Anspruch 6, weiterhin umfassend das Ersetzen des ersten Pixels durch das zweite Pixel.
  8. Verfahren nach Anspruch 1, umfassend das Rendering des Schnitts unter Verwendung der Schattenkarte nach dem Bleeding.
  9. Verfahren nach Anspruch 8, wobei das Rendering des Schnitts unter Verwendung der Schattenkarte mindestens das Rendering ohne Gradienten, das Rendering mit selektiver spiegelnder Beleuchtung oder das Rendering mit selektiven Blinn/Phong umfaßt.
  10. Verfahren nach Anspruch 9, wobei das Rendering des Schnitts unter Verwendung der Schattenkarte weiterhin das Berechnen einer diffusen Beleuchtung mit der Schattenkarte umfaßt.
  11. Vorrichtung zum Berechnen des Shading eines Volumen-Rendering mit Schatten, umfassend: Mittel für das Rendering eines Schnitts des Volumens entlang einer Halbwinkelrichtung, die zwischen einer Lichtrichtung und einer Betrachtungsrichtung liegt; Mittel für das Rendering eines Schnitts des Volumens entlang der Lichtrichtung, um Schatteninformationen des Schnitts in einem Schattenpuffer zu assimilieren; und Mittel für das Bleeding des Schattenpuffers orthogonal zu der Lichtrichtung, um eine Schattenkarte zu erhalten, die zum Rendering des Schnitts des Volumens mit Schatten verwendet wird.
  12. Vorrichtung nach Anspruch 11, wobei das Mittel für das Bleeding des Schattenpuffers Mittel für das Skalieren des Schattenpuffers umfaßt.
  13. Vorrichtung nach Anspruch 11, wobei das Mittel für das Bleeding des Schattenpuffers Mittel für das Dilatieren des Schattenpuffers umfaßt.
  14. Vorrichtung nach Anspruch 11, wobei das Mittel für das Bleeding des Schattenpuffers Mittel für das Bleeding mit einem zentralen Offset umfaßt.
  15. Vorrichtung nach Anspruch 14, wobei das Mittel für das Bleeding mit einem zentralen Offset für ein erstes Pixel des Schattenpuffers Mittel zum Lokalisieren eines zweiten Pixels umfaßt, das näher an einem zentralen Punkt des Schattenpuffers in einer gegebenen Entfernung von dem ersten Pixel liegt.
  16. Vorrichtung nach Anspruch 15, weiterhin umfassend Mittel zum Durchführen einer Korrektur, wenn das zweite Pixel zu nahe bei dem zentralen Punkt liegt.
  17. Vorrichtung nach Anspruch 16, weiterhin umfassend Mittel für das Ersetzen des ersten Pixels durch das zweite Pixel.
  18. Vorrichtung nach Anspruch 11, umfassend Mittel für das Rendering des Schnitts unter Verwendung der Schattenkarte.
  19. Vorrichtung nach Anspruch 18, wobei das Mittel für das Rendering des Schnitts unter Verwendung der Schattenkarte weiterhin Mittel umfaßt für das Berechnen einer diffusen Beleuchtung mit der Schattenkarte.
DE200610025030 2005-06-03 2006-05-26 Gradientenfreies Shading für Volume-Rendering unter Verwendung von Schatteninformationen Active DE102006025030B4 (de)

Applications Claiming Priority (4)

Application Number Priority Date Filing Date Title
US68764205P 2005-06-03 2005-06-03
US60/687,642 2005-06-03
US11/419,017 2006-05-18
US11/419,017 US8884959B2 (en) 2005-06-03 2006-05-18 Gradient free shading for volume rendering using shadow information

Publications (2)

Publication Number Publication Date
DE102006025030A1 DE102006025030A1 (de) 2007-04-12
DE102006025030B4 true DE102006025030B4 (de) 2010-04-08

Family

ID=37588893

Family Applications (1)

Application Number Title Priority Date Filing Date
DE200610025030 Active DE102006025030B4 (de) 2005-06-03 2006-05-26 Gradientenfreies Shading für Volume-Rendering unter Verwendung von Schatteninformationen

Country Status (2)

Country Link
US (1) US8884959B2 (de)
DE (1) DE102006025030B4 (de)

Families Citing this family (23)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8207978B2 (en) * 2006-06-29 2012-06-26 Intel Corporation Simplification of 3D texture address computation based on aligned, non-perspective objects
JP4588736B2 (ja) * 2007-04-12 2010-12-01 富士フイルム株式会社 画像処理方法および装置並びにプログラム
US7936361B2 (en) * 2007-04-30 2011-05-03 Hewlett-Packard Development Company, L.P. System and method for masking and overlaying images in multiple projector system
KR100924122B1 (ko) * 2007-12-17 2009-10-29 한국전자통신연구원 픽셀 단위 처리 요소 기반의 광선 추적 장치 및 방법
DE102008057746A1 (de) 2008-11-17 2010-05-20 Technische Universität Berlin Verfahren zum Erzeugen von Bilddaten
US8325186B2 (en) * 2009-05-21 2012-12-04 Sony Computer Entertainment America Llc Method and apparatus for rendering shadows
US9269184B2 (en) * 2009-05-21 2016-02-23 Sony Computer Entertainment America Llc Method and apparatus for rendering image based projected shadows with multiple depth aware blurs
WO2010135595A1 (en) * 2009-05-21 2010-11-25 Sony Computer Entertainment America Inc. Method and apparatus for rendering shadows
US8698806B2 (en) * 2009-11-09 2014-04-15 Maxon Computer Gmbh System and method for performing volume rendering using shadow calculation
US8839128B2 (en) 2009-11-25 2014-09-16 Cooliris, Inc. Gallery application for content viewing
JP5587142B2 (ja) * 2010-01-15 2014-09-10 株式会社東海理化電機製作所 ウエビング巻取装置
US8872824B1 (en) * 2010-03-03 2014-10-28 Nvidia Corporation System, method, and computer program product for performing shadowing utilizing shadow maps and ray tracing
US9424680B2 (en) * 2010-04-16 2016-08-23 Koninklijke Philips N.V. Image data reformatting
KR102054680B1 (ko) * 2013-01-23 2020-01-22 삼성전자주식회사 영상 처리 장치, 초음파 영상 장치 및 영상 처리 방법
EP3057067B1 (de) * 2015-02-16 2017-08-23 Thomson Licensing Vorrichtung und verfahren zur schätzung eines glänzenden teils von strahlung
US10380786B2 (en) 2015-05-29 2019-08-13 General Electric Company Method and systems for shading and shadowing volume-rendered images based on a viewing direction
US10453193B2 (en) * 2017-05-05 2019-10-22 General Electric Company Methods and system for shading a two-dimensional ultrasound image
WO2019100002A1 (en) * 2017-11-20 2019-05-23 Fovia Inc. Gradient modulated shadow mapping
US11321904B2 (en) 2019-08-30 2022-05-03 Maxon Computer Gmbh Methods and systems for context passing between nodes in three-dimensional modeling
US20210110597A1 (en) * 2019-10-15 2021-04-15 GE Precision Healthcare LLC Systems and methods for visualizing anatomical structures
US11714928B2 (en) 2020-02-27 2023-08-01 Maxon Computer Gmbh Systems and methods for a self-adjusting node workspace
US11373369B2 (en) 2020-09-02 2022-06-28 Maxon Computer Gmbh Systems and methods for extraction of mesh geometry from straight skeleton for beveled shapes
EP4273809A1 (de) 2022-05-06 2023-11-08 Siemens Healthcare GmbH Verfahren zur echtzeitwiedergabe von medizinischen bildern unter verwendung von virtuellen sphärischen lichtquellen

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6593925B1 (en) * 2000-06-22 2003-07-15 Microsoft Corporation Parameterized animation compression methods and arrangements

Family Cites Families (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO1993020529A1 (en) * 1992-03-31 1993-10-14 Seiko Epson Corporation System and method for generating 3d color images with simulated light sources
US5870097A (en) * 1995-08-04 1999-02-09 Microsoft Corporation Method and system for improving shadowing in a graphics rendering system
US6567083B1 (en) * 1997-09-25 2003-05-20 Microsoft Corporation Method, system, and computer program product for providing illumination in computer graphics shading and animation
US6593923B1 (en) * 2000-05-31 2003-07-15 Nvidia Corporation System, method and article of manufacture for shadow mapping
US6690372B2 (en) * 2000-05-31 2004-02-10 Nvidia Corporation System, method and article of manufacture for shadow mapping
US7106325B2 (en) * 2001-08-03 2006-09-12 Hewlett-Packard Development Company, L.P. System and method for rendering digital images having surface reflectance properties
EP1565891B1 (de) * 2002-11-21 2008-01-16 Philips Intellectual Property & Standards GmbH Verfahren und vorrichtung zur visualisierung einer sequenz von volumenbildern
US7038678B2 (en) * 2003-05-21 2006-05-02 Nvidia Corporation Dependent texture shadow antialiasing

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6593925B1 (en) * 2000-06-22 2003-07-15 Microsoft Corporation Parameterized animation compression methods and arrangements

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
L. Porcher Nedel et al.: Computer Graphics & Medicine, SIBGRAPI' 99, Campinas, Oct. 1999, Titel, Pgs. 1-146, http://www.inf.ufrgs.br/cg/publication s/nedel/tutorial-cg&m.pdf *

Also Published As

Publication number Publication date
DE102006025030A1 (de) 2007-04-12
US8884959B2 (en) 2014-11-11
US20070002047A1 (en) 2007-01-04

Similar Documents

Publication Publication Date Title
DE102006025030B4 (de) Gradientenfreies Shading für Volume-Rendering unter Verwendung von Schatteninformationen
DE102005035012B4 (de) Hochleistungsschattierung von großen volumetrischen Daten unter Verwendung von partiellen Schirmraumableitungen
US6744435B2 (en) Rendering discrete sample points projected to a screen space with a continuous resampling filter
Luebke et al. Perceptually driven simplification for interactive rendering
DE60107130T2 (de) Sichtbarkeitsprojektion und Bildrekonstruktion für Oberflächenelemente
DE19646194B4 (de) Echtzeit-Wiedergabeverfahren zum wahlweisen Ausführen von Bump-Mapping- und Phong-Schattierungs-Prozessen und zugehörige Vorrichtung
DE3620508C2 (de) Verfahren und Vorrichtung zum Erzeugen eines elektronischen Videobildsignals
EP3511908B1 (de) Hybrides interaktives rendering medizinischer bilder mit physikbasiertem rendering und direktem volumenrendering
JP4732111B2 (ja) 複数のボクセルを含むボリュームデータセットをレンダリングする方法
Krivánek et al. Fast depth of field rendering with surface splatting
DE102016103854A1 (de) Graphikverarbeitung mit direktionalen Darstellungen der Beleuchtung an Sondenpositionen innerhalb einer Szene
DE102005023964A1 (de) Volumenvisualisierung mittels Texturverschiebung
EP1634248B1 (de) Adaptive bildinterpolation für volumendarstellung
DE102012113011A1 (de) Verfahren und System zum Anzeigen der Lichtrichtung für ein volumengerendertes Bild
DE102014105146B4 (de) System, Verfahren und Computerprogrammprodukt zum Durchführen einer Pfad-Raum-Filterung
WO2000022576A1 (en) Method for processing volumetric image data of an object visualized by texture mapping for adding shadows
Kosloff et al. Depth of field postprocessing for layered scenes using constant-time rectangle spreading.
Jimenez et al. Screen-space subsurface scattering
Wicke et al. CSG tree rendering for point-sampled objects
Fischer et al. Real-time Cartoon-like Stylization of AR Video Streams on the GPU
Tietjen et al. Hardware-accelerated illustrative medical surface visualization with extended shading maps
DE102012213477B4 (de) Kombinierte unbeschnittene Zeit- und Linsen-Begrenzungen für eine verbesserte Proben-Test-Effizienz bei Bild-Rendern
Lesar Real-time ray casting of volumetric data
Zhou et al. State of the art for volume rendering
Ahokas Shadow Maps

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
8364 No opposition during term of opposition
8327 Change in the person/name/address of the patent owner

Owner name: SIEMENS CORP. (N. D. GES. D. STAATES DELAWARE), US

R081 Change of applicant/patentee

Owner name: SIEMENS CORP. (N. D. GES. D. STAATES DELAWARE), US

Free format text: FORMER OWNER: SIEMENS CORP. RESEARCH, INC., PRINCETON, N.J., US

Effective date: 20110214

Owner name: SIEMENS HEALTHCARE GMBH, DE

Free format text: FORMER OWNER: SIEMENS CORP. RESEARCH, INC., PRINCETON, N.J., US

Effective date: 20110214

R081 Change of applicant/patentee

Owner name: SIEMENS HEALTHCARE GMBH, DE

Free format text: FORMER OWNER: SIEMENS CORP. (N. D. GES. D. STAATES DELAWARE), ISELIN, N.J., US

R082 Change of representative
R083 Amendment of/additions to inventor(s)
R081 Change of applicant/patentee

Owner name: SIEMENS HEALTHINEERS AG, DE

Free format text: FORMER OWNER: SIEMENS HEALTHCARE GMBH, MUENCHEN, DE