Visualisierung und Volumenrendering I

Ähnliche Dokumente
Volumen Visualisierung

Visualisierung und Volumenrendering 2

Texture Based Direct Volume Rendering

Volumenverarbeitung und Optimierung II

Computer Graphik II Tesselierung impliziter Kurven und Flächen

computer graphics & visualization

6.2 Scan-Konvertierung (Scan Conversion)

OECD Programme for International Student Assessment PISA Lösungen der Beispielaufgaben aus dem Mathematiktest. Deutschland

Advanced Rendering Interior Szene

Animation ist das Erzeugen von Filmen mit Hilfe der Computergrafik. Objekte bewegen sich hierbei oder Beleuchtung, Augpunkt, Form,... ändern sich.

Proseminar: Website-Managment-System. NetObjects Fusion. von Christoph Feller

Welche Lagen können zwei Geraden (im Raum) zueinander haben? Welche Lagen kann eine Gerade bezüglich einer Ebene im Raum einnehmen?

Erstellen von x-y-diagrammen in OpenOffice.calc

Im Original veränderbare Word-Dateien

Erinnerung. Arbeitsschritte der Computergraphik. Modellierung. Animation. Rendering. Ausgabemedium. Generierung

Computer-Graphik I Transformationen & Viewing

Getting Started General Workflow. Anlegen von Schablonen Ausrichtung 3.2. Atoms Precision V2 Tutorial. Working with Images Direct from Camera

Zeichen bei Zahlen entschlüsseln

HIER GEHT ES UM IHR GUTES GELD ZINSRECHNUNG IM UNTERNEHMEN

1. Sichtbarkeitsproblem beim Rendern einer dreidimensionalen Szene auf einer zweidimensionalen

Handbuch ECDL 2003 Basic Modul 5: Datenbank Grundlagen von relationalen Datenbanken

Fachbericht zum Thema: Anforderungen an ein Datenbanksystem

FORUM HANDREICHUNG (STAND: AUGUST 2013)

Die Beschreibung bezieht sich auf die Version Dreamweaver 4.0. In der Version MX ist die Sitedefinition leicht geändert worden.

Virtuelle Fotografie (CGI)

Lineare Gleichungssysteme

Lineargleichungssysteme: Additions-/ Subtraktionsverfahren

Abamsoft Finos im Zusammenspiel mit shop to date von DATA BECKER

ECDL Europäischer Computer Führerschein. Jan Götzelmann. 1. Ausgabe, Juni 2014 ISBN

TechTipp. Bildbearbeitung mit Lookup-Tabellen (LUT): Machen Sie das (fast) Unsichtbare sichtbar. Hintergrund

In diesem Tutorial lernen Sie, wie Sie einen Termin erfassen und verschiedene Einstellungen zu einem Termin vornehmen können.

Hinweise zum neuen Buchungssystem

Gitterherstellung und Polarisation

Terrain-Rendering mit Geometry Clipmaps

eduvote Ein Umfragesystem für Lehrveranstaltungen - PowerPoint Add-In -

Professionelle Seminare im Bereich MS-Office

Würfelt man dabei je genau 10 - mal eine 1, 2, 3, 4, 5 und 6, so beträgt die Anzahl. der verschiedenen Reihenfolgen, in denen man dies tun kann, 60!.

Seite 1 von 14. Cookie-Einstellungen verschiedener Browser

Im Jahr t = 0 hat eine Stadt Einwohner. Nach 15 Jahren hat sich die Einwohnerzahl verdoppelt. z(t) = at + b

Netzwerkeinstellungen unter Mac OS X

Kapitalerhöhung - Verbuchung

Local Control Network

Anlage zur Deputationsvorlage L 30/17. Änderung der Verordnungen zur Umgestaltung des fünften Prüfungselements. Zeugnisordnung AP-V 2008


Mit der Maus im Menü links auf den Menüpunkt 'Seiten' gehen und auf 'Erstellen klicken.

Divergenz 1-E1. Ma 2 Lubov Vassilevskaya

Vorbereitungsaufgaben

HTML Programmierung. Aufgaben

infach Geld FBV Ihr Weg zum finanzellen Erfolg Florian Mock

Direkte Volumenvisualisierung

Grundbegriffe der Informatik

WinWerk. Prozess 4 Akonto. KMU Ratgeber AG. Inhaltsverzeichnis. Im Ifang Effretikon

Lineare Funktionen. 1 Proportionale Funktionen Definition Eigenschaften Steigungsdreieck 3

Outlook Erstellen einer aus einer HTML - Vorlage INHALT

EMIS - Langzeitmessung

teischl.com Software Design & Services e.u. office@teischl.com

Diese Prozesse und noch viele andere Tricks werden in der Digitalfotografie mit Hilfe von Bildbearbeitungsprogrammen, wie z. B. Gimp, bewältigt.

FIS: Projektdaten auf den Internetseiten ausgeben

Diese Ansicht erhalten Sie nach der erfolgreichen Anmeldung bei Wordpress.

Excel Fortgeschrittene Techniken. Peter Wies. 1. Ausgabe, März 2013 EX2013F

R ist freie Software und kann von der Website.

Wärmebildkamera. Arbeitszeit: 15 Minuten

Comenius Schulprojekt The sun and the Danube. Versuch 1: Spannung U und Stom I in Abhängigkeit der Beleuchtungsstärke E U 0, I k = f ( E )

Konzepte der Informatik

Grundlagen der Informatik

Studieren- Erklärungen und Tipps

Bildverarbeitung Herbstsemester. Binärbildanalyse

EINFACHES HAUSHALT- KASSABUCH

Lehrer: Einschreibemethoden

Erweiterung der Aufgabe. Die Notenberechnung soll nicht nur für einen Schüler, sondern für bis zu 35 Schüler gehen:

6. Bayes-Klassifikation. (Schukat-Talamazzini 2002)

3. GLIEDERUNG. Aufgabe:

Korrekturen von Hand ausgeführt, per Post oder als Scan an Sie übermittelt.

EDV-Fortbildung Kombi-Schulung Word-Excel Modul Excel. Informationen zum Programm. Die Programmoberfläche von Excel

Wasserzeichen mit Paint-Shop-Pro 9 (geht auch mit den anderen Versionen. Allerdings könnten die Bezeichnungen und Ansichten etwas anders sein)

Registrierung am Elterninformationssysytem: ClaXss Infoline

impact ordering Info Produktkonfigurator

AZK 1- Freistil. Der Dialog "Arbeitszeitkonten" Grundsätzliches zum Dialog "Arbeitszeitkonten"

Übungsaufgaben Tilgungsrechnung

Kennen, können, beherrschen lernen was gebraucht wird

Suche schlecht beschriftete Bilder mit Eigenen Abfragen

Preisvergleich ProfitBricks - Amazon Web Services M3 Instanz

1. Arbeiten mit dem Touchscreen

Bedienungsanleitung Rückabwicklungsrechner

Text-Bild-Link-Editor

Ihre Interessentendatensätze bei inobroker. 1. Interessentendatensätze

Die Größe von Flächen vergleichen

Aufgabe 1: [Logische Modellierung]

DAUERHAFTE ÄNDERUNG VON SCHRIFTART, SCHRIFTGRÖßE

Plotten von Linien ( nach Jack Bresenham, 1962 )

W-Rechnung und Statistik für Ingenieure Übung 11

7. Übung - Datenbanken

Noten ausrechnen mit Excel/Tabellenkalkulation. 1) Individuellen Notenschlüssel/Punkteschlüssel erstellen

Modellbildungssysteme: Pädagogische und didaktische Ziele

Bedienerhandbuch Toleranztabellen Version 1.2.x. Copyright Hexagon Metrology

#CRYPTO888 MITGLIEDER CLUB

TTS - TinyTimeSystem. Unterrichtsprojekt BIBI

How-to: Webserver NAT. Securepoint Security System Version 2007nx

Microsoft Access 2013 Navigationsformular (Musterlösung)

Anmerkungen zur Übergangsprüfung

Transkript:

Institut für Computervisualistik Universität Koblenz 05.07.2012

Inhaltsverzeichnis 1 Motivation 2 Volumendaten 3 Pipeline 4 Transferfunktionen 5 Gradienten 6 Volumenvisualisierung 7 IVR 8 DVR

Wissenschaftliche Visualisierung Visualisierung, Exploration und Analyse von Datensätzen Datensätze stammten aus Messungen oder aus Simulationen von real-world Phenomenen Bsp.: Strömungssimulation um Fahrzeuge, Generierung von Modellen aus Sensordaten, Medizin

Anwendung - Archäologie Figure: Uni Siegen Figure: Uni Erlangen

Anwendung - Ingenieurwesen Figure: Uni Siegen Figure: TU Wien

Anwendung - Medizin Figure: VRVIS Figure: Uni Koblenz ;-)

Ziele Wissen aus Daten/Simulationen extrahieren Exploration der Daten (Suche ohne spezifische Hypothese) Hypothesentesten, basierend auf Messungen, Simulationen und deren Visualisierung Präsentation von Ergebnissen

Volumen - Definition Volumen - Definitionen Volumendatensatz Eine Menge V von Samples (x,y,z,v) Repräsentieren den Wert v an einer gegebenen 3D Position (x,y,z) Voxel (Volume Element), Analogie zu Pixel (Picture Element) Volumenvisualisierung Volumendatensatz = 3D Skalarfeld, auch möglich 3D Vektorfeld... Volumenvisualisierung = Extrahieren von bedeutsamen Informationen aus Volumendaten

Volumen - Definition Volumen - Definitionen Volumendatensatz Eine Menge V von Samples (x,y,z,v) Repräsentieren den Wert v an einer gegebenen 3D Position (x,y,z) Voxel (Volume Element), Analogie zu Pixel (Picture Element) Volumenvisualisierung Volumendatensatz = 3D Skalarfeld, auch möglich 3D Vektorfeld... Volumenvisualisierung = Extrahieren von bedeutsamen Informationen aus Volumendaten

Volumen - Definition Volumen - Definitionen 2D Anordnung auf einem 2D Grid Horizontale und vertikale Richtungen gleiche Distanzen pixel distance Konstante Abstände ermöglichen Positionsbestimmung durch pixel distance * index

Volumen - Definition Volumen - Definitionen 3D Volumendaten kombinieren einzelne Bilder zu einer 3D Repräsentation Anordnung auf einem 3D Grid Voxel befinden sich an den Gitternetzpunkten Acht benachbarte Voxel bilden eine Volume Cell

Volumen - Definition Volumen - Definitionen 3D Abstand zwischen Slices slice distance Drei Abstände in die jeweilige Richtung voxel spacing Position eines Voxels V i,j,k bestimmt aus den Distanzwerten und dem voxel index (i, j, k)

Volumen - Definition Volumen - Definitionen 3D Pixel distance == slice distance isotroper Datensatz Pixel distance! = slice distance anisotroper Datensatz Medizinische Scans, meist anisotrope Datensätze Bsp. 0.8398, 0.8398, 3.2

Trilineare Interpolation Interpolation Interpolation Volumendatensätze sind nur an diskreten Gitternetzpunkten definiert In vielen Fällen werden Sample Points in einer Volumenzelle benötigt

Trilineare Interpolation Interpolation Nearest Neighbour Interpolation Wert eines Sample Points gleich dem Wert des am nächsten liegenden Grid Points Resultat: Niedrige Qualität, keine guten, kontinuierlichen Interpolationsergebnissen zwischen benachbarten Voxeln

Trilineare Interpolation Trilineare Interpolation Trilinear Interpolation - Schritt 1 4 lineare Interpolationen bestimmen den gewichteten Sample Point zwischen den benachbarten Ecken einer Volumenzelle (x,y oder z-richtung) Ergebnis = blaue Punkte

Trilineare Interpolation Trilineare Interpolation Trilinear Interpolation - Schritt 2 Ergebnisse von 2 solchen Interpolationen werden linear interpoliert und formen das Ergebnis der bilinearen Interpolation Ergebnis = grüne Punkte

Trilineare Interpolation Trilineare Interpolation Trilinear Interpolation - Schritt 3 Beide Ergebnisse der bilinearen Interpolation werden linear interpoliert und bilden das Endergebnis Finales Ergebnis der trilinearen Interpolation = roter Punkt

Volumenrendering-Pipeline

Transferfunktionen Mapping Skalarwerte in Volumendaten haben keine direkten visuellen Eigenschaften Werte resultieren aus Messungen und repräsentieren physikalische Eigenschaften Frage: Wie tragen die einzelnen Voxel zum finalen Bild bei? Gesucht: Mapping von Voxelwerten auf optische Eigenschaften (Farbe und Opazität) Klassifizierung: Identifizierung von Merkmalen

Transferfunktionen Transferfunktion (TF) Abbildung von der Menge der Attribute in die Menge der visuellen Eigenschaften Einem Eingabewert muss ein eindeutiger Ausgabewert zugeordnet werden Beispiel: Skalare in Grauwerte: f : R R Skalare in RGB-Farben: f : R R 3 Richtungsvektoren in RGB-Farben: f : R 3 R 3

Transferfunktionen Transferfunktion in der Praxis Standard: Mapping von Skalarwerten zu RGBα Werten (Farbe + Opazität) Kein individuelles Mapping, Funktionen geben den Intensitäswert für einen gesamten Rang an TF-Bestimmung sehr aufwändig, Knotenpunkte und deren Werte festlegen Manuelle Bestimmung von TF sehr komplex und mühsam Radiologische Workstations bieten Presets, vordefinierte TF für bestimmte Datentypen und klinische Fragestellungen, speziell für CT wichtig

Einstellen einer Transferfunktion

Transferfunktionen Transferfunktion Forschungsgegenstandt Mustererkennung Farbwertzuweisung nich nur basierend auf Voxelskalarwert Merhdimensionale Transferfunktionen, bsp. Gradientmagnitude einbeziehen Vorwissen in Gestaltung der Transferfunktion einwirken lassen

Gradienten Normale Für die Beleuchtung werden die Normalen der Vertices benötigt Normalisierte Vektoren, orthogonal zur Tangentialebene In Volumendatensätzen Es exisitert keine direkte Oberfläche und auch keine Normale Ziel: Konstruktion eines Äquivalents für die Samplingpunkte

Gradienten Normale Für die Beleuchtung werden die Normalen der Vertices benötigt Normalisierte Vektoren, orthogonal zur Tangentialebene In Volumendatensätzen Es exisitert keine direkte Oberfläche und auch keine Normale Ziel: Konstruktion eines Äquivalents für die Samplingpunkte

Gradienten - Berechnung Gradient Gradient = Normale auf Isoflächen Bildverarbeitung = Gradient gibt Richtung und Betrag der größten Änderung an Kantendetektion

Gradienten - Berechnung Gradientenvektor Erste Ableitung eines 3D Skalarfeldes f = (f x, f y, f z ) = ( f x, f y, f z ) Wird üblicherweise durch Zentraldifferenzen berechnet Gradientenvektor D 000,x V 100 V 100 D 000 = D 000,y = V 010 V 0 10 D 000,z V 001 V 00 1

Gradienten - Speicherung Vorberechnung der Gradienten Gesamte Gradientenberechnung in einem Vorverarbeitungsschritt durchführen Für jeden Voxel wird der Gradient berechnet Gradienten werden in 2D oder 3D Texturen gespeichert Gradientenzugriff als Texture-Fetch

Gradienten - Texturen Texturen Wenn nur die normalisierte Gradientenrichtung bötig ist: x-, y-, z-komponenten des Gradients als RGB-Tripel in RGB Textur Texturen Wenn auch Gradientenmagnitude benötigt wird, RGBA-Textur

Gradienten - On-the-Fly On-the-Fly Berechnung der Gradienten, nur wenn sie benötigt werden Langsamer als vorberechnete Gradienten Aber: bei großen Volumendatensätzen fällt der benötigte Speicher durch Gradientenvolumen weg Berechnung im Fragmentshader durch Zentraldifferenzen Sechs zusätzliche Texture-look-ups der Nachbarn sehr teuer Deswegen vorher Opazität des Samples abfragen Gradientenberechnung und folgendes Shading nur wenn der Opazitäswert hoch ist

Gradienten - On-the-Fly On-the-Fly Berechnung der Gradienten, nur wenn sie benötigt werden Langsamer als vorberechnete Gradienten Aber: bei großen Volumendatensätzen fällt der benötigte Speicher durch Gradientenvolumen weg Berechnung im Fragmentshader durch Zentraldifferenzen Sechs zusätzliche Texture-look-ups der Nachbarn sehr teuer Deswegen vorher Opazität des Samples abfragen Gradientenberechnung und folgendes Shading nur wenn der Opazitäswert hoch ist

Gradienten - On-the-Fly On-the-Fly Berechnung der Gradienten, nur wenn sie benötigt werden Langsamer als vorberechnete Gradienten Aber: bei großen Volumendatensätzen fällt der benötigte Speicher durch Gradientenvolumen weg Berechnung im Fragmentshader durch Zentraldifferenzen Sechs zusätzliche Texture-look-ups der Nachbarn sehr teuer Deswegen vorher Opazität des Samples abfragen Gradientenberechnung und folgendes Shading nur wenn der Opazitäswert hoch ist

Gradienten - On-the-Fly Fazit Gradientenvorberechnung kann nur auf einer statischen Transferfunktion basieren Zur Laufzeit ist es nicht möglich die Transferfunktion zu ändern, ohne die Gradienten neu zu berechnen Bei on-the-fly Gradientenberechnung, kann die Transferfunktion jederzeit verändert werden Gradienten können auf klassifizierten Daten berechnet werden

Volumenvisualisierung Volumenvisualisierung Volumendaten = große Anzahl an Voxel Ziel: Visuelle Repräsentation der Volumendaten finden Projektion aller Voxel auf die Bildebene Es wird nicht wie gewohnt nur eine Oberfläche dargestellt, sondern ein gesamtes Volumen

Volumenvisualisierung Indirekte Volumenvisualisierung Zwischenschritt für die Visualisierung Bestimmung eines Polygonmesh Isosurfaces Polygone werden gerendert, anstatt die Daten selbst Direkte Volumenvisualisierung Volumendatensatz wird direkt visuell dargestellt Keine Generierung von Metadaten

Indirektes Volumenrendering Surface Extraction Strukturen in Volumendaten, heben sich normalerweise von ihrer Umgebung ab Grenze, durch unterschiedliche Pixelintensitäten Isovalue teilt das Volumen in inside und outside Isosurface Resultierende Oberfläche Surface-Based Volume Rendering Repräsentation dieser Grenze

Indirektes Volumenrendering Surface Extraction Strukturen in Volumendaten, heben sich normalerweise von ihrer Umgebung ab Grenze, durch unterschiedliche Pixelintensitäten Isovalue teilt das Volumen in inside und outside Isosurface Resultierende Oberfläche Surface-Based Volume Rendering Repräsentation dieser Grenze

Isosurface IVR Surface-Based Volume Rendering Repräsentation der Grenze i(x) = V (x) τ = 0, mit x = Voxelposition, τ = Isovalue

Marching Cubes Marching Cubes Marching Cubes Klassische Polygon Isosurface Extrahierung Generierung von Metadaten Triangulierung für jede Volumenzellen Verwendung einer Look-Up Tabelle

Marching Cubes Marching Cubes Marching Cubes - Algorithmus Für jede Volumenzelle: Bestimme ob 8 Voxel der Zelle innerhalb, außerhalb oder auf dem Isosurfaces liegen 8-Bit Codierung pro Voxelzelle Entsprechend die Triangulierung auslesen

Marching Cubes Marching Squares Marching Squares Marching Squares (2D Variante) (in Übung) statt Volumen hier 2D-Darstellung

Direktes Volumenrendering Direktes Volumenrendering Erinnerung: Erstellung einer 2D Repräsentation ohne Generierung von Metadaten

Volume Rendering Integral Volume Rendering Integral Physikalische Basis Rendering: Interaktion von Licht, Objekten und dem dazwischenliegenden Medium Annahme: Licht breitet sich in geraden Linien aus Solange bis eine Interaktion mit dem Licht und einem Medium stattfindet Interaktion von Licht und Medium Emission: Material emittiert Licht, strahlt Licht aus Absorbtion: Material absorbiert Licht, Licht wird reduziert Streuung: Die Richtung des Lichts wird verändert

Volume Rendering Integral Volume Rendering Integral Physikalische Basis Rendering: Interaktion von Licht, Objekten und dem dazwischenliegenden Medium Annahme: Licht breitet sich in geraden Linien aus Solange bis eine Interaktion mit dem Licht und einem Medium stattfindet Interaktion von Licht und Medium Emission: Material emittiert Licht, strahlt Licht aus Absorbtion: Material absorbiert Licht, Licht wird reduziert Streuung: Die Richtung des Lichts wird verändert

Volume Rendering Integral Physikalisches Modell Emission-Absorption Model Am Häufigsten verwendetes pyhsikalisches Modell Scattering und indirekte Beleuchtung werden vernachlässigt Guter Kompromiss zwischen Allgemeingültigkeit und Berechnungsperformance Realisierung im Volume Rendering Integral

Volume Rendering Integral Volume Rendering Integral Wie bestimmt man die Strahlungsenergie entlang des Strahles? I (s) = I (s 0 )e τ(s 0,s) I (s) Strahlungsdichte, die beim Betrachter ankommt I (s 0 ) Initiale Strahlungsdichte e τ(s0,s) Absorbtion entlang des Strahles

Volume Rendering Integral Volume Rendering Integral Wie bestimmt man die Strahlungsenergie entlang des Strahles? I (s) = I (s 0 )e τ(s0,s) s + q( s)e τ( s,s) d s s 0 q( s) Aktive Emission an Punkt s e τ( s,s) Absorbtion entlang s s

Volume Rendering Integral Volume Rendering Integral Ziel Numerische Approximation des Volume Rendering Integrals Raycasting Erzeuge Samples entlang des Sichtstrahls Approximiere so das Integral durch Aufsummieren Sekundärstrahlen sind sehr teuer

2D Texture Mapping 2D Texture Mapping Übersicht Verwendung von: 2D Texturen + bilineare Interpolation Volumen wird in mehreren 2D Texturen gespeichert Texture Mapping auf geometrische Primitive (Proxy Geometry) Texture Setup: Wie wird das Volumen in 2D Texturen unterteilt? Geometry Setup: Wie wird die Proxy Geometry platziert?

2D Texture Mapping Object Order Figure: Ziel: Bestimme für jeden Pixel den Farbwert aus dem Volumen

2D Texture Mapping 2D Texture Mapping Proxy Geometry Proxy Geometry: Polygone, Stack von Object Aligned Slices Beschreiben die Bounding Box des Volumendatensatzes

2D Texture Mapping Texture Setup Interaktive Rotation Frage: Wie wird das Volumen in 2D Texturen unterteilt? Problem: View Strahl kann zwischen Slices schauen Polygone werden nicht geschnitten

2D Texture Mapping Texture Setup Interaktive Rotation Slicing Achse entsprechend der aktuellen View-Richtung wählen 3 Stacks von Texturen für jede Hauptachse Winkel zwischen Slicing Normalen und View-Ray entscheidet über Texturmapping

2D Texture Mapping Geometry Setup Interaktive Rotation Wie wird die Proxy Geometry gezeichnet? Berechnung der View-Richtung in Weltkoordinaten Inverse Modelview Matrix * (0, 0, 1) Maximale, absolute Komponente des transformierter View Vektor bestimmt den Slice-Stack Bsp.: View Vektor = ( 1, 0, 0) zeichne Proxy Geometry an der negativen x-achse ausgerichtet

2D Texture Mapping Rendering Rendering Bei der Raserisierung wird jedem Fragment ein Texturwert zugewiesen Keine trilineare Interpolation! Erinnerung: Texturwerte RGBα aus Transferfunktion Durch Compositing wird Pixelfarbwert berechnet

2D Texture Mapping Compositing Übersicht Ziel: Pixelfarbwert bestimmen Iterative Berechnung des diskreten Volume Rendering Integrals Sehstrahlen werden vom Augpunkt aus durch das Volumen verfolgt und akkumuliert Individuelle Beiträge einzelner Voxel tragen zum endgültigen Pixel-Farbwert bei Entscheidung: Front-to-Back oder Back-to-Front

2D Texture Mapping Compositing Übersicht Ziel: Pixelfarbwert bestimmen Iterative Berechnung des diskreten Volume Rendering Integrals Sehstrahlen werden vom Augpunkt aus durch das Volumen verfolgt und akkumuliert Individuelle Beiträge einzelner Voxel tragen zum endgültigen Pixel-Farbwert bei Entscheidung: Front-to-Back oder Back-to-Front

2D Texture Mapping Back-to-Front Compositing Back-to-Front Blending: Gewichtete Summe aus Source und Destination formt neuen Destination Wert Source Werte des neuen Fragments aus der Transferfunktion Destination Werte die schon im Framebuffer stehen C dst C src + (1 α src ) C dst g l E n a b l e (GL BLEND ) ; glalphafunc (GL ONE, GL ONE MINUS SRC ALPHA ) ;

2D Texture Mapping Back-to-Front Compositing Problem: Color Bleeding OpenGL-Blending eigentlich: C dst α src C src + (1 α src ) C dst Annahme associated colors: Farbwerte sind schon mit ihrer Opazität multipliziert, sonst Color-Bleeding

2D Texture Mapping Back-to-Front Compositing Problem: Color Bleeding Vertex A (1,0,0,0), Vertex B (0,0,1,1), Vertex AB ( 1 2, 0, 1 2, 1 2 ) Lösung: Vor Texturinterpolation RGB α

2D Texture Mapping Front-to-Back Compositing Front-to-Back Negativ: Accumulierte α- Werte müssen gespeichert werden C dst (1 α dst) C src + C dst α dst (1 α dst) α src + α dst g l E n a b l e (GL BLEND ) ; glalphafunc (GL ONE MINUS DST ALPHA, GL ONE ) ;

2D Texture Mapping MIP - Maximum Intensity Projection MIP Suche den Samplepunkt mit größten Intensität Einsatz: Angiographie, Einsatz von Kontrastmittel zur Extrahierung von Gefäßen In der Standard OpenGL Blending Funktion nicht vorhanden OpenGL Extension glblendequationext(gl MAX EXT) C dst max(c dst, C src )

2D Texture Mapping 2D Texturing - Fazit Vorteile Einfach, gute Performance Nachteile 3 Slice Sets müssen gespeichert werden Aliasing Artefakte an den Kanten des Slicing Polygons Sampling Rate zu gering Lösung: Sampling Rate erhöhen mehrere Slices einfügen Interpolation zusätzlicher Slices aus dem Volumen speichern redundanter Informationen, Speicherverschwendung

2D Texture Mapping 2D Texture-Mapping - Fazit