Shader zur Bildbearbeitung
|
|
- Rolf Melsbach
- vor 7 Jahren
- Abrufe
Transkript
1 15. Oktober / 23
2 Übersicht 1 Motivation 2 Grundlagen 3 State of the Art 4 Konzeption 5 Implementierung 6 Benchmarks 7 Fazit 2 / 23
3 Motivation: GPU >> CPU Moores Law: Hardware verbessert sich rapide GPU: Pipelining, hohe Parallelität Volle Programmierbarkeit von Vertex- und Pixelshader Geeignet für Nachbearbeitung 3 / 23
4 Grundlagen - Digitale Bilder In Computergrafik: Vektor- und Rastergrafiken Implementierung als M N C Matrix, C gibt Farbvektor an Digitalfotografie: Projektion einer kontinuierlichen 3D-Szene auf einen diskreten 2D-Raum Tristimulustheorie: Vom Spektrum zum Abbildung: xy-diagramm, von Farben innerhalb des Gammuts (Dreieck Wikipedia 3-Farbreiz (CIE 1931, CIE-XYZ) der Primärvalenzen) darstellbar 4 / 23
5 Grundlagen - Faltung mathematischer Operator ähnlich der Multiplikation zweidimensionale diskrete Faltung: g(m,n) = k h(k,r) s(m k,n r) r Separierbarkeit am Beispiel des Sobeloperators G y G y = = 0 [1 2 1 ] unsepariert: O(n 2 ), separiert nur O(n) 5 / 23
6 Grundlagen - Shader Ausführbare Programme auf der GPU Ausprägung als Vertex-, Geometry- und Pixelshader Ursprünglich gedacht für Renderpipeline: hohe Parallelität GPGPU - General-Purpose Computation on Graphics Hardware Als Hochsprachen dienen CG, HLSL und GLSL 6 / 23
7 Grundlagen - RTTlib und FloatImage RTTlib, Schnittstelle zwischen Applikation und GPU Setzen von Shadercode Parametern Bild als Textur Ausgabe des Resultats FloatImage: Bibliothek für floatbasierende Bildrepräsentation 7 / 23
8 State of the Art - Bildbearbeitungsprogramme Adobe Photoshop kommerziell, Marktführer CS4 unterstützt Filter, GPU teilweise (zoomen z.b.) GNU Image Manipulation Program (GIMP) freies Bildbearbeitungsprogramm, erweiterbar über Skripte ImageJ in JAVA geschrieben, OpenSource Core Image MAC, kommerziell, genutzt von Vorschau und Aperture floatbasierend, GPU wird teilweise genutzt Aber auch mit Programmen wie Matlab kann Bildbearbeitung betrieben werden! 8 / 23
9 State of the Art - AForge Framework für image processing, neural networks, genetic algorithms, machine learning, robotics, etc Steht unter GNU Lesser General Public License Viele Filter vorhanden (Color Filter, Colvolution, Edge Detector,...) Operiert auf UnmanagedImage 9 / 23
10 Konzeption - Anforderungsanalyse Kompatibel zu einem bestehenden Framework - AForge Shaderzugriff über RTTlib Floatbasierende Bildunterstützung Unterstützung bestehender und eigener Filter Implementierung von HDR-Filtern Prototyp zur Visualisierung: FilterUI 10 / 23
11 Konzeption - aktueller Ansatz Idee: Von Basisklassen ableiten Interface IFilter IFilterInfo Abstract BaseFilter BaseShaderFilter Implementation Filter ShaderFilter shaderspezifischer Code nur einmal vorhanden weitgehend kompatibel zu AForge 11 / 23
12 Konzeption - Anwendung 1 // Laden des Bildes 2 Bitmap bmp = new Bitmap ( " mybitmap " ) ; 3 4 // Nutzung von AForge 5 I n v e r t a F o r g e F i l t e r = new I n v e r t ( ) ; 6 a F o r g e F i l t e r. Apply (bmp ) ; 7 8 // Laden des Bildes 9 F l o a t I m a g e fimg = new F l o a t I m a g e ( " mybitmap " ) ; // Erzeugung des Renderers 12 RTTViewerGL r e n d e r e r = new RTTViewerGL ( 13 Panel. Handle, Panel. Width, Panel. H e i g h t ) ; // Nutzung von SForge 16 S h a d e r I n v e r t s F o r g e F i l t e r = new S h a d e r I n v e r t ( ) ; 17 s F o r g e F i l t e r. S e t S h a d e r E n g i n e ( r e n d e r e r ) ; 18 s F o r g e F i l t e r. Apply ( fimg ) ; 19 fimg = s F o r g e F i l t e r. G e t R e s u l t ( ) ; // optional 12 / 23
13 Konzeption - Shadersprache Idee: Unabhängig von Shadersprache Speicherung des Shadercodes als Textdatei Ablage der Dateien in Ressourcendatei Für jede Sprache eine Ressourcendatei Abbildung: Ressourcendateien 13 / 23
14 Implementierung - CellShading 1 uniform vec4 s t e p s ; v o i d main ( v o i d ) { gl_fragcolor = f l o o r ( t e x t u r e 2 D ( BaseImage, TexCoord. s t ) s t e p s ) / s t e p s ; } 14 / 23
15 Implementierung - Sobel Operator 1 u n i f o r m f l o a t x S i z e, y S i z e ; 2 const i n t KernelSize = 9 ; 3 vec2 O f f s e t [ K e r n e l S i z e ] = [... ] ; 4 5 f l o a t KernelValueX [ K e r n e l S i z e ] = f l o a t [ K e r n e l S i z e ] 6 ( 1. 0, 0. 0, 1. 0, 2. 0, 0. 0, 2. 0, 1. 0, 0. 0, 1. 0 ) ; 7 8 f l o a t KernelValueY [ K e r n e l S i z e ] = f l o a t [ K e r n e l S i z e ] 9 ( 1. 0, 2. 0, 1. 0, 0. 0, 0. 0, 0. 0, 1. 0, 2. 0, 1. 0 ) ; void main ( void ){ 12 vec4 sumx = vec4 ( 0. 0 ) ; 13 vec4 sumy = vec4 ( 0. 0 ) ; 14 vec2 d e l t a = vec2 ( 1. 0 / x S i z e, 1. 0 / y S i z e ) ; f o r ( i n t i = 0 ; i < K e r n e l S i z e ; i ++){ sumx += texture2d ( BaseImage, TexCoord. st 19 + O f f s e t [ i ] d e l t a ) KernelValueX [ i ] ; sumy += texture2d ( BaseImage, TexCoord. st 22 + O f f s e t [ i ] d e l t a ) KernelValueY [ i ] ; } gl_fragcolor = s q r t (sumx sumx+sumy sumy ) ; } Shadercode für einen Kantendetektor 15 / 23
16 Implementierung - Sobel Operator Abbildung: Originalbild Abbildung: gefiltertes Bild Testbild der Zeitschrift c t, 16 / 23
17 HDR Beispiel für mehrstufiges Rendern Nutzung der CPU für einige Aufgaben nötig GPU calculate luminance map CPU calculate log-average luminance CPU find max value white GPU tonemapping luminance map GPU luminance map -> RGB-image 17 / 23
18 Realtime-Shading Eingabe und Änderung des Shadercodes Auswirkung auf das Resultat in Echtzeit Abbildung: Prototyp der FilterUI: Realtime Shading 18 / 23
19 Benchmarks Getestet wurde auf folgenden Systemen: System Prozessor Grafikkarte Betriebssystem 1 Core 2 Duo, 2.8 ghz Nvidia Quadro FX 4600 WinXP64 2 Core 2 Duo, 2.8 ghz Nvidia GTX260 Windows 7 Filterkriterien: Bild: Pixeln im Format 24 Bit per Pixel für AForge, 16 Byte per Pixel für SForge jeweils 100 Ausführungen T L : Ladezeit T P : Ausführungszeit Speedup: T P (SForge) / T P (AForge) 19 / 23
20 Benchmarks Framework Filter T L [ms] T P [ms] Gesamtzeit [ms] Speedup AForge Sepia 0, , ,81 1 SForge 1 Sepia 308,291 3,46 653,87 43,5 SForge 2 Sepia 659,68 4, ,11 35,8 AForge Gauss 7 7 0, , ,01 1 SForge 1 Gauss ,105 14, ,65 529,1 SForge 2 Gauss ,563 18, ,21 417,2 AForge Gauss 7 7 0, , ,97 1 SForge 1 Gauss sep 102,527 10, ,32 737,18 SForge 2 Gauss sep 103,374 12, ,51 588,6 AForge Sobel 0, , ,16 1 SForge 1 Sobel 692,675 8, ,12 28,4 SForge 2 Sobel 164,219 13, ,41 17,25 AForge Gamma 0,006 75, ,36 1 SForge 1 Gamma 631,749 2,79 911,12 27,2 SForge 2 Gamma 174,312 5,27 701,11 14,4 AForge Sequenz 0, , ,46 1 SForge 1 Sequenz 635, , ,72 388,5 SForge 2 Sequenz 174, , ,17 178,2 Tabelle: Benchmark auf den Systemen 20 / 23
21 Fazit Stark abhängig vom Anwendungsgebiet Filtervorgang um ein vielfaches schneller Jedoch zusätzlicher Overhead beim Laden/Speichern des Bildes Derzeitige Einschränkung: Separate Erzeugung des Renderers Erste DirectX11 Karten mit Shadermodel 5.0 erhältlich double precision optional neuer Shadertyp für GPGPU: Compute-Shader mit random access Viele Optimierungen möglich 21 / 23
22 Demonstration Vorstellung der FilterGUI 22 / 23
23 Ende Danke für Ihre Aufmerksamkeit. Fragen? 23 / 23
Grafikkarten-Architektur
> Grafikkarten-Architektur Parallele Strukturen in der GPU Name: Sebastian Albers E-Mail: s.albers@wwu.de 2 > Inhalt > CPU und GPU im Vergleich > Rendering-Pipeline > Shader > GPGPU > Nvidia Tesla-Architektur
MehrRST-Labor WS06/07 GPGPU. General Purpose Computation On Graphics Processing Units. (Grafikkarten-Programmierung) Von: Marc Blunck
RST-Labor WS06/07 GPGPU General Purpose Computation On Graphics Processing Units (Grafikkarten-Programmierung) Von: Marc Blunck Ablauf Einführung GPGPU Die GPU GPU Architektur Die Programmierung Programme
MehrGeneral Purpose Computation on GPUs
General Purpose Computation on GPUs Matthias Schneider, Robert Grimm Universität Erlangen-Nürnberg {matthias.schneider, robert.grimm}@informatik.stud.uni-erlangen.de M. Schneider, R. Grimm 1 Übersicht
MehrSS08, LS12, Friedrich-Alexander-Universität Erlangen Florian Hänel, Frederic Pollmann HS Multicore Architectures and Programming GPU EVOLUTION
SS08, LS12, Friedrich-Alexander-Universität Erlangen Florian Hänel, Frederic Pollmann HS Multicore Architectures and Programming GPU EVOLUTION (until Geforce 7 Series) 1 ÜBERSICHT Grafikpipeline Verlagerung
MehrGrundlagen der Spieleprogrammierung
Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 9: Engines, Cg und anderes Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen 3. Das Ideal: Photorealistisch
MehrNumerik und Rechnen. Martin Heide & Dominik Holler. 12. Juni 2006
12. Juni 2006 Bibliothek für Lineare Algebra GPGPU-Programming: Low-Level High-Level Bibliothek Bibliothek für Lineare Algebra Gliederung 1 Bibliothek für Lineare Algebra 2 Skalare Bibliothek für Lineare
MehrThema: Hardware-Shader
Seminar Grafikprogrammierung Thema: Hardware-Shader Christian Bauer 03.07.08 Überblick Entwicklung Die Shader im Detail Programmierung GPGPU Zusammenfassung & Ausblick 1/19 Entwicklung (1) Früher: Berechnung
MehrZwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit. Direct 3D-Output für ein Rendering Framework
Zwischenvortrag zum Entwicklungsstand der Bachelor-Arbeit Direct 3D-Output für ein Rendering Framework von Benjamin Betting unter der Betreuung von Daniel Schiffner 1 Gliederung Kapitel I und II: Motivation,Einführung,Grundlagen
MehrGrundlagen der Spieleprogrammierung
Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 8: Hardware Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen 3. Das Ideal: Photorealistisch (Raytracing,
MehrJörn Loviscach Hochschule Bremen
Programmierbare Hardware-Shader Jörn Loviscach Hochschule Bremen Überblick Vertex- und Pixel-Shader Anwendungsbeispiele fx-dateien Anwendungsbeispiele Zusammenfassung Puffer Vertex- und Pixel-Shader Hardware-Renderpipeline
MehrLEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610
LEISTUNGSVERGLEICH VON FPGA, GPU UND CPU FÜR ALGORITHMEN ZUR BILDBEARBEITUNG PROSEMINAR INF-B-610 Dominik Weinrich dominik.weinrich@tu-dresden.de Dresden, 30.11.2017 Gliederung Motivation Aufbau und Hardware
MehrEine Einführung Computergrafik SS14 Timo Bourdon
Eine Einführung Computergrafik SS14 Timo Bourdon Organisatorisches Übung am Freitag den 11. Juli entfällt! Zum OpenGL-Übungsblatt OpenGL 3.0 oder höher notwendig (Shading Language 1.50 oder höher) CIP
MehrEinführung. GPU-Versuch. Andreas Schäfer Friedrich-Alexander-Universität Erlangen-Nürnberg
GPU-Versuch andreas.schaefer@cs.fau.de Friedrich-Alexander-Universität Erlangen-Nürnberg Praktikum Parallele Rechnerarchitekturen SS2014 Outline 1 Einführung 2 Outlook 1 Einführung 2 Eine kurze Geschichte
MehrPRIP-Preis. Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten
Masterarbeit @ PRIP-Preis Effizientes Object Tracking durch Programmierung von Mehrkernprozessoren und Grafikkarten Michael Rauter Pattern Recognition and Image Processing Group Institute of Computer Aided
Mehr3D-Oberflächen-Rekonstruktion und plastisches Rendern aus Bilderserien
plastisches Rendern aus Bilderserien Sebastian Schäfer Carsten Heep Detlef Krömker Unterstüzung: Thomas Lehmann Krister Smith Naturmuseum Senckenberg Übersicht Motivation & Problemstellung Verfahren Anforderungen
MehrOpenGL. (Open Graphic Library)
OpenGL (Open Graphic Library) Agenda Was ist OpenGL eigentlich? Geschichte Vor- und Nachteile Arbeitsweise glscene OpenGL per Hand Debugging Trend Was ist OpenGL eigentlich? OpenGL ist eine Spezifikation
MehrProgrammierbeispiele und Implementierung. Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de
> Programmierbeispiele und Implementierung Name: Michel Steuwer E-Mail: michel.steuwer@wwu.de 2 > Übersicht > Matrix Vektor Multiplikation > Mandelbrotmenge / Apfelmännchen berechnen > Kantendetektion
MehrAsteroids3D Seminar: Game Programming. Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann
Asteroids3D Seminar: Game Programming Anita Dieckhoff, Pedro Flemming, Jan Ole Vollmer Betreuung: Christine Lehmann Gliederung 2 1. Live-Demo und Spielidee 2. Softwarearchitektur und Szenengraph Übersicht
MehrMotivation (GP)GPU CUDA Zusammenfassung. CUDA und Python. Christian Wilms. Integriertes Seminar Projekt Bildverarbeitung
CUDA und Python Christian Wilms Integriertes Seminar Projekt Bildverarbeitung Universität Hamburg WiSe 2013/14 12. Dezember 2013 Christian CUDA und Python 1 Gliederung 1 Motivation 2 (GP)GPU 3 CUDA 4 Zusammenfassung
MehrArchitektur moderner GPUs. W. Sczygiol - M. Lötsch
Architektur moderner GPUs W. Sczygiol - M. Lötsch Überblick Chipentwicklung Aktuelle Designs Nvidia: NV40 (ATI: R420) Vertex-Shader Pixel-Shader Shader-Programmierung ROP - Antialiasing Ausblick Referenzen
Mehr7. Organisation von Informationen
Computeranwendung in der Chemie Informatik für Chemiker(innen) 7. Organisation von Informationen Jens Döbler 2003 "Computer in der Chemie", WS 2003-04, Humboldt-Universität VL7 Folie 1 Grundlagen Programme
Mehr3D-Rekonstruktion aus wenigen Röntgenprojektionen auf Grafikhardware
3D-Rekonstruktion aus wenigen Röntgenprojektionen auf Grafikhardware Ulrich Heil 1 Daniel Groß 1 Ulrich Schwanecke 3 Ralf Schulze 2 Elmar Schömer 1 1 Institut für Informatik, Johannes Gutenberg-Universität
MehrWorld of Warcraft. Mindestvoraussetzungen
World of Warcraft Betriebssystem Windows XP / Windows Vista / Windows 7 Windows 7 / Windows 8 64-bit mit Windows 8 mit aktuellstem Servicepack aktuellstem Servicepack Prozessor Intel Core 2 Duo E6600 oder
MehrPhysikalische Berechnungen mit General Purpose Graphics Processing Units (GPGPUs)
Fakultätsname XYZ Fachrichtung XYZ Institutsname XYZ, Professur XYZ Physikalische Berechnungen mit General Purpose Graphics Processing Units (GPGPUs) im Rahmen des Proseminars Technische Informatik Juni
MehrVolumenakquise. Vortrag von Benjamin Gayer
10.11.11 1 Volumenakquise Vortrag von Benjamin Gayer Einführung Bildquelle: http://www.medical.siemens.com/siemens/de_de/rg_marcom_fbas/files/patienteninformationen/ct_geschichte_technologie. pdf 10.11.11
MehrCUDA. Moritz Wild, Jan-Hugo Lupp. Seminar Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg
CUDA Seminar Multi-Core Architectures and Programming 1 Übersicht Einleitung Architektur Programmierung 2 Einleitung Computations on GPU 2003 Probleme Hohe Kenntnisse der Grafikprogrammierung nötig Unterschiedliche
MehrGrafikformate. Grafikformate. Digitale Bildverarbeitung Bildkompression
Digitale Bildverarbeitung Bildkompression Einleitung Datenmenge für ein unkomprimiertes Bild Verwendungszweck des Bildes Bild soll weiterverarbeitet werden Bild soll archiviert werden Bild soll per E-Mail
MehrStandardsoftware für die Industrielle Bildverarbeitung
Standardsoftware für die Industrielle Bildverarbeitung Der elegante Weg zur Performanzsteigerung Dr. Olaf Munkelt MVTec Software GmbH MVTec Software GmbH Firma konzentriert sich auf Building Vision for
MehrEchtzeitfähige hige Verfahren in der Computergrafik. Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM
Echtzeitfähige hige Verfahren in der Computergrafik Prof. Dr. Rüdiger R Westermann Lehrstuhl für f r Informatik Computer Grafik und Visualisierung TUM Lehr- und Forschungsinhalte Visualisierung Darstellung
MehrCPU, GPU und FPGA. CPU, GPU und FPGA Maximilian Bandle, Bianca Forkel 21. November 2017
CPU, GPU und FPGA, Bianca Forkel 21. November 2017 CPU, GPU und FPGA Inhalt CPU: Central Processing Unit GPU: Graphical Processing Unit FPGA: Field Programmable Gate Array 2 CPU Central Processing Unit
MehrSeminar - Paralleles Rechnen auf Grafikkarten
Seminar - Paralleles Rechnen auf Grafikkarten Seminarvortrag: Übersicht über die Programmierung von Grafikkarten Marcus Schaber 05.05.2009 Betreuer: J. Kunkel, O. Mordvinova 05.05.2009 Marcus Schaber 1/33
MehrEvolution of GPUs. Die Entwicklung der Graphics Processing Units. Marvin Kampf und Michael Moese. Seminar: Multi-Core Architectures and Programming
Evlutin f GPUs Die Entwicklung der Graphics Prcessing Units Marvin Kampf und Michael Mese Seminar: Multi-Cre Architectures and Prgramming Was bedeutet Entwicklung hin zur GPU? Hinzufügen vn Prgrammierbarkeit
MehrHigh-Performance Bildverarbeitung (nicht nur) mit JAVA. Prof. Dr.Thomas Netzsch - Hochschule Darmstadt - University of Applied Sciences
High-Performance Bildverarbeitung (nicht nur) mit JAVA 1 High-Performance Bildverarbeitung (nicht nur) mit JAVA Fragen: wie kann ein typisches BV-Unternehmen wirtschaftlich an der aktuellen Hardwareentwicklung
Mehr20 Jahre. acadgraph CADstudio GmbH Fritz-Hommel-Weg 4 80805 München Seite 1 von 11
Seite 1 von 11 Inhaltsverzeichnis 1 - Features & Benefits... 3 1.1 Schnell und einfach Eye Checker erstellen... 3 1.2 Einfach zu erlernen... 3 1.3 Voll CAD-Kompatibel... 3 2 - Arbeitsweise... 3 2.1 Userinterface...
MehrInteraktives Wasser in 3D. Jörn Loviscach Hochschule Bremen
Interaktives Wasser in 3D Jörn Loviscach Hochschule Bremen Ringwellen (Kapillar- und Schwerewellen) Kelvin-Schiffswellen Reflexionen von Himmel (Frensel-Effekt) und Sonne Kaustiken mit korrekten Schatten
MehrEin kleiner Einblick in die Welt der Supercomputer. Christian Krohn 07.12.2010 1
Ein kleiner Einblick in die Welt der Supercomputer Christian Krohn 07.12.2010 1 Vorschub: FLOPS Entwicklung der Supercomputer Funktionsweisen von Supercomputern Zukunftsvisionen 2 Ein Top10 Supercomputer
MehrGliederung. Was ist CUDA? CPU GPU/GPGPU CUDA Anwendungsbereiche Wirtschaftlichkeit Beispielvideo
Gliederung Was ist CUDA? CPU GPU/GPGPU CUDA Anwendungsbereiche Wirtschaftlichkeit Beispielvideo Was ist CUDA? Nvidia CUDA ist eine von NvidiaGPGPU-Technologie, die es Programmierern erlaubt, Programmteile
MehrGrafikformate Ein kurzer Überblick
Grafikformate Ein kurzer Überblick Einführung in das rechnergestützte Arbeiten Dr. Andreas Poenicke, Dr. Patrick Mack KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
MehrAnsätze 4. GPU. Echtzeit- Raytracing. Polygon- Rendering. Computerspiele Sommer (c) 2013, Peter Sturm, Universität Trier 1
4. GPU Ansätze Echtzeit- Raytracing Modell und Materialeigenschaften auf Raytracer Kontinuierliche Darstellung Polygon- Rendering CPU wählt darzustellende Polygone aus Render Pipeline (c) 2013, Peter Sturm,
MehrEinführung in Truevision3D
Einführung in Truevision3D Einleitung: In diesem Artikel werden wir uns mit der Truevision Engine beschäftigen, ihr werdet lernen wie man in C# auf die Engine zugreift und wie man einfache 2D Ausgaben
MehrViola-Jones Gesichtserkennung mit WebGL
Viola-Jones Gesichtserkennung mit WebGL Tobias Groß, Björn Meier Hardware/Software Co-Design, University of Erlangen-Nuremberg 18. Juli 2013 Outline Motivation Viola-Jones Funktionsweise Blockbewertung
MehrReferat von Yvonne Kaiser und Carolin Siebert
Referat von Yvonne Kaiser und Carolin Siebert Grundlegendes Grafiktypen Farbtiefe Farbbilder/räume 07.11.2012 Theorie der Bildbearbeitung 2 Pixel Kunstwort vom engl: picture element Lichtpunkt kleinste
MehrGL ShadingLanguage(GLSL)
Was ist GLSL C/Java ähnliche Hochsprache zur Erstellung von GPU-basierter Software (Shader) An die Open Graphics Library (OpenGL) gebunden Darstellung komplexer 2D- und 3D-Szenen auf Basis von Echtzeitberechnungen
MehrUmwandeln von RGB- in CMYK-Bilder
Umwandeln von RGB- in CMYK-Bilder (Vorläufiger Entwurf) mit dem Gimp-Plugin Separate+ Eine Handreichung für Mitarbeiter/innen des Diakonischen Werkes des Ev. Kirchenkreises Steinfurt-Coesfeld-Borken e.v.
MehrKurzeinführungin Blender & Gimp 05.06.2008
Kurzeinführungin Blender & Gimp 05.06.2008 GIMP 2 GIMP Gnu Image Manipulation Program (Gnu = Gnu Not Unix) Bildbearbeitungsprogramm auf Rasterbasis Rasterbild diskrete Matrix von Pixel mit Farbwerten (RGB,
MehrHow to make a PIXAR movie
How to make a PIXAR movie Non-Photorealistic Rendering Definition NPR is an area of computer graphics that focuses on enabling a wide variety of expressive styles for digital art. Alternativbezeichnungen:
MehrGPGPU mit NVIDIA CUDA
01.07.12 GPGPU mit NVIDIA CUDA General-Purpose on Formatvorlagecomputing des Graphics Processing durch Units Untertitelmasters mit KlickenCompute bearbeiten NVIDIA Unified Device Architecture Gliederung
MehrSCRIBUS WORKSHOP Handout Gimp
SCRIBUS WORKSHOP Handout Gimp 1 Ziele des Workshops Was ist Gimp? Was kann ich mit Gimp machen? Wie erstelle ich ein Bild für Scribus? Wie erstelle ich eine Vektorgrafik für Scribus? Varia? 2 Was ist Gimp?
MehrComputergrafik Universität Osnabrück, Henning Wenke, 2012-05-08
Computergrafik Universität Osnabrück, Henning Wenke, 2012-05-08 Noch Kapitel IV: OpenGL Zielsetzungen Hardwarenah aber unabhängig Verschiedene Anwendungsbereiche Wissenschaft, Visualisierung & Entwicklung
Mehr(5) GPU Programmierung
(5) GPU Programmierung Vorlesung Computergrafik II Stefan Müller Dank an Niklas Henrich, Thorsten Grosch KOBLENZ LANDAU Fantastische Effekte in Echtzeit... Real-Time Fur Over Arbitrary Surfaces, Lengyel
MehrSeminar Game Development Game Computer Graphics. Einleitung
Einleitung Gliederung OpenGL Realismus Material Beleuchtung Schatten Echtzeit Daten verringern Grafik Hardware Beispiel CryEngine 2 Kristian Keßler OpenGL Was ist OpenGL? Grafik API plattform- und programmiersprachenunabhängig
MehrGPU-Programmierung: OpenCL
Seminar: Multicore Programmierung Sommerstemester 2009 04.06.2009 Inhaltsverzeichnis 1 GPU-Programmierung von Grafikkarten von GPU-Computing 2 Architektur Spracheigenschaften Vergleich mit CUDA Beispiel
MehrGPGPU-Architekturen CUDA Programmiermodell Beispielprogramm. Einführung CUDA. Ralf Seidler. Friedrich-Alexander-Universität Erlangen-Nürnberg
Einführung CUDA Friedrich-Alexander-Universität Erlangen-Nürnberg PrakParRA, 18.11.2010 Outline 1 GPGPU-Architekturen 2 CUDA Programmiermodell 3 Beispielprogramm Outlook 1 GPGPU-Architekturen 2 CUDA Programmiermodell
MehrDiplomarbeit. Neue Möglichkeiten durch programmierbare Shader. Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker
Diplomarbeit 5HDO7LPH6SHFLDO (IIHFWV Neue Möglichkeiten durch programmierbare Shader Unter der Leitung von: Prof. Dr.-Ing. Detlef Krömker Betreut von: Paul Grimm, Ralf Dörner Beginn: 01.04.02 Abgabe: 30.09.02
MehrCUDA. Jürgen Pröll. Multi-Core Architectures and Programming. Friedrich-Alexander-Universität Erlangen-Nürnberg Jürgen Pröll 1
CUDA Jürgen Pröll Multi-Core Architectures and Programming Jürgen Pröll 1 Image-Resize: sequentiell resize() mit bilinearer Interpolation leicht zu parallelisieren, da einzelne Punkte voneinander unabhängig
MehrPraxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern
Praxiseinheit: Realisierung einer hardwarebeschleunigten Disparitätenberechnung zur automatischen Auswertung von Stereobildern Institut für Betriebssysteme und Rechnerverbund TU Braunschweig 25.10., 26.10.
MehrProzedurale Texturen >>Was nicht passt wird passend gemacht...<<
Prozedurale Texturen >>Was nicht passt wird passend gemacht...
MehrGrafikdateien. Bei Computergrafiken werden grundsätzlich drei Kategorien unterschieden: Vektor-Format
Arten von Bei Computergrafiken werden grundsätzlich drei Kategorien unterschieden: Pixel-Format Pixelbilder setzen sich aus einzelnen Bildpunkten (Pixel) zusammen Punkte (Pixel) sind voneinander unabhängig
Mehr(frzlab.wifa.uni-leipzig.de)
Adobe Photoshop CS5 http://www.urz.unileipzig.de/handbuecher.html (frzlab.wifa.uni-leipzig.de) Kein Essen oder trinken in den Pools Pause: 17:00 15 30 Min Kleine Pausen jederzeit möglich Kursprinzip:
MehrDekonvolution von Omnikamerabildern
1 / 23 Dekonvolution von Omnikamerabildern Tobias Börtitz, Hermann Lorenz, Lutz Krätzer, Josef Söntgen Betreuer: Richard Schmidt HTW Dresden, Deutschland Abschluß Präsentation 15. Februar 2012 2 / 23 1
MehrGrundlagen der Spieleprogrammierung
Grundlagen der Spieleprogrammierung Teil I: 3D-Graphik Kapitel 3: Das Ideal - Photorealistisch Peter Sturm Universität Trier Outline 1. Übersicht und Motivation 2. Mathematische Grundlagen 3. Das Ideal:
MehrGrafikformate Ein kurzer Überblick
Grafikformate Ein kurzer Überblick Einführung in das rechnergestützte Arbeiten Dr. Andreas Poenicke, Dr. Patrick Mack KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum in der
MehrÜbersicht 1. Anzeigegeräte 2. Framebuffer 3. Grundlagen 3D Computergrafik 4. Polygongrafik, Z-Buffer 5. Texture-Mapping/Shading 6. GPU 7. Programmierbare Shader 1 LCD/TFT Technik Rotation der Licht-Polarisationsebene
MehrDetails und Vergleich von GPU-Shader-Systemen. wichtige Details und Vergleich der Shaderhochsprachen GLSL, Cg und Sh
Details und Vergleich von GPU-Shader-Systemen wichtige Details und Vergleich der Shaderhochsprachen GLSL, Cg und Sh Historisches Cook and Perlin gelten als die Pioniere, wenn es um Shader Berechnungen
Mehr3D-Segmentierung in Bilderwelten
3D-Segmentierung in Bilderwelten Frank Nagl Paul Grimm Fachhochschule Erfurt E-Mail: frank.nagl@fh-erfurt.de 16. Workshop Farbbildverarbeitung, ZBS, Ilmenau Worum geht es? 2 Gliederung Motivation State-Of-The-Art
MehrVergleich von Forward und Deferred Rendering
Vergleich von Forward und Deferred Rendering Kamil René König Bachelorarbeit Bachelor Informatik 12.08.2014 Betreuer: Prof. Dr. Detlef Krömker, Dr. Daniel Schiffner Übersicht Motivation Definitionen Forward
MehrProzessor- und Rechnerarchitekturen (Master)
Prozessor- und Rechnerarchitekturen (Master) Themen am 31.05.17: Was ist ein Grafik-Chip? Was soll berechnet werden? Warum kann das keine Standard-CPU machen?? ProRecArc17_V8 Ulrich Schaarschmidt HS Düsseldorf,
MehrImplementierung und Evaluierung von Video Feature Tracking auf moderner Grafik Hardware
Implementierung und Evaluierung von Video Feature Tracking auf moderner Diplomarbeit vorgelegt von Sebastian Heymann Betreut von Prof. Dr. Bernd Fröhlich Bauhaus Universität t Dr. Aljoscha Smolic Fraunhofer
MehrMachine Learning Hardware
Machine Learning Hardware Dominik Scherer 06.11.2017 Seminar Neuste Trends in Big Data Analytics Betreuer: Dr. Julian Kunkel Motivation Maschinelles Lernen in vielen Bereichen angewendet, z.b. Spracherkennung
Mehrq Verlag Erforderliche Konfiguration Verlag / Terminalserver / Datenbankserver Internet Terminalserver
Erforderliche Konfiguration Verlag / Terminalserver / Datenbankserver q Verlag Arbeitsplätze Anforderungen: RDP-fähiger Rechner mit mindestens 1024x768 Pixel Bildschirmauflösung Internet VPN-Tunnel oder
MehrChristina Nell. 3D-Computergrafik
Christina Nell 3D-Computergrafik Was ist 3D-Computergrafik? 3D graphics is the art of cheating without getting caught. (unbekannte Quelle) Folie 2/52 Inhalt Beleuchtung Shading Texturierung Texturfilterung
MehrDatenbanken und Informationssysteme. Bildbearbeitung. DI (FH) Levent Öztürk
Datenbanken und Informationssysteme DBI2 Bildbearbeitung DI (FH) Levent Öztürk Inhalt GIMP Vektorgrafik, Pixelgrafik Pixel, Punkt und co. Dpi, ppi Komprimierung Grafikformate BMP JPG GIF PNG TIFF Übungen
MehrDatenbanken und Informationssysteme. Bildbearbeitung. DI (FH) Levent Öztürk
Datenbanken und Informationssysteme DBI2 Bildbearbeitung DI (FH) Levent Öztürk Inhalt GIMP Vektorgrafik, Pixelgrafik Pixel, Punkt und co. Dpi, ppi Komprimierung Grafikformate BMP JPG GIF PNG TIFF Übungen
MehrInteraktive Visualisierung zeitabhängiger Volumendaten
Interaktive Visualisierung zeitabhängiger Volumendaten Diplomarbeit von Dario Kardas graphische datenverarbeitung, universität erlangen-nürnberg Skalare Volumendaten Volumen besteht aus Schichtbildern
MehrMathematik Seminar WS 2003: Simulation und Bildanalyse mit Java. Software-Architektur basierend auf dem Plug-in-Konzept
Mathematik Seminar WS 2003: Simulation und Bildanalyse mit Java Software-Architektur basierend auf dem Plug-in-Konzept Aufteilung: Probleme mit normaler/alter Software Ziele des Software Engineerings Die
MehrCompute Unified Device Architecture CUDA
Compute Unified Device Architecture 06. Februar 2012 1 / 13 Gliederung 2 / 13 : Compute Unified Device Architecture entwickelt von Nvidia Corporation spezifiziert Software- und Hardwareeigenschaften Ziel:
MehrProseminar: Virtuelle Präsenz. Vortrag: Steve Rechtenbach
Proseminar: Virtuelle Präsenz Vortrag: Steve Rechtenbach Themen: 2/22 Einführung Was ist OpenGL? / Entwicklung Fakten Kleines(!) Beispiel Hello OpenGL Shader Zusammenfassung OpenGL vs Direct3D Einführung:
MehrSeminar: Grafikprogrammierung
Game Developer Converence 08 Seminar: Grafikprogrammierung Alexander Weggerle 17.04.08 Seite 2 Einführung Themenüberblick Organisatorisches Seminarablauf liches Seite 3 Einführung Seminar Motivation Vorbereitung
MehrWhite Paper Order Independent Transparency (OIT) in PTC Creo Parametric 2.0
White Paper Order Independent Transparency (OIT) in PTC Creo Parametric 2.0 Übersicht: OIT Definition: Order Independent Transparency oder OIT bezeichnet in der Programmierungstechnik für Computergrafik
MehrOpenCL. Programmiersprachen im Multicore-Zeitalter. Tim Wiersdörfer
OpenCL Programmiersprachen im Multicore-Zeitalter Tim Wiersdörfer Inhaltsverzeichnis 1. Was ist OpenCL 2. Entwicklung von OpenCL 3. OpenCL Modelle 1. Plattform-Modell 2. Ausführungs-Modell 3. Speicher-Modell
MehrWindows 7 Upgrade Advisor-Bericht
1 von 6 20.10.2009 12:29 Windows 7 Upgrade Advisor-Bericht Name des Computers: Betriebssystem: Hersteller: Modell: CPU: Arbeitsspeicher: MARKUS-G Windows XP Professional Gigabyte Technology Co., Ltd. G31M-ES2L
MehrYilmaz, Tolga MatNr: Mesaud, Elias MatNr:
Yilmaz, Tolga MatNr: 157317 Mesaud, Elias MatNr: 151386 1. Aufbau und Funktionsweise einer Grafikkarte 2. CPU vs. GPU 3. Software 4. Beispielprogramme Kompilierung und Vorführung 5. Wo wird Cuda heutzutage
MehrEntwurfsmuster und Frameworks Singleton
Entwurfsmuster und Frameworks Singleton Oliver Haase Oliver Haase Emfra Singleton 1/20 Beschreibung I Klassifikation: objektbasiertes Erzeugungsmuster Zweck: sicherstellen, dass eine Klasse nur genau einmal
MehrSystemanforderungen Verlage & Akzidenzdruck
OneVision Software AG Inhalt Asura 9.5, Asura Pro 9.5, Garda 5.0...2 PlugBALANCEin 6.5, PlugCROPin 6.5, PlugFITin 6.5, PlugRECOMPOSEin 6.5, PlugSPOTin 6.5,...2 PlugTEXTin 6.5, PlugINKSAVEin 6.5, PlugWEBin
MehrPraktische Informatik 1
Praktische Informatik 1 Imperative Programmierung und Objektorientierung Karsten Hölscher und Jan Peleska Wintersemester 2011/2012 Session 2 Programmierung Begriffe C/C++ Compiler: übersetzt Quellcode
MehrDigital Image Interpolation with CUDA
Digital Image Interpolation with CUDA Matthias Schwarz & Martin Rustler Hardware-Software-Co-Design Universität Erlangen-Nürnberg matthias.schwarz@e-technik.stud.uni-erlangen.de martin.rustler@e-technik.stud.uni-erlangen.de
MehrInternationaler Studiengang Medieninformatik
HTW Berlin Prof. Dr. Kai Uwe Barthel Nachname: Vorname: Codename: Matr. Nr: Internationaler Studiengang Medieninformatik Grundlagen digitaler Medien Sitzplatz: Punkte: Note: Nachklausur WS09/10 26. 3.
Mehrelpromonitor Software - Systemvoraussetzungen
2017.12 Software - Systemvoraussetzungen Das CMS System verwendet die bewährte Hardware ECOLOG-NET. Für bestehende Kunden ist daher kein Wechsel / Austauschen der installierten Hardware (Datenlogger ECOLOG-NET,
MehrComputergrafik. Peter Rösch Hochschule Augsburg University of Applied Sciences. Sommersemester 2014. Version: 24. März 2014
Peter Rösch Hochschule Augsburg University of Applied Sciences Sommersemester 2014 Version: 24. März 2014 Sommer 2014, HS Augsburg, Peter Rösch Inhalt [1] 1. Einführung 2. WebGL und GLSL 3. Geometrie und
MehrDIGITALISIERUNG VON BILDERN. Ivana
DIGITALISIERUNG VON BILDERN Ivana WAS IST DIGITALISIERUNG? Begriff aus dem Lateinischen Überprüfung analoger Größen diskrete Werte Produkt = Digitalisat Analoge Speicherung von Informationen auf digitalen
MehrGPGPU-Architekturen CUDA Programmiermodell Beispielprogramm Organiosatorisches. Tutorial CUDA. Ralf Seidler
Friedrich-Alexander-Universität Erlangen-Nürnberg 05.10.2010 Outline 1 GPGPU-Architekturen 2 CUDA Programmiermodell 3 Beispielprogramm 4 Organiosatorisches Outlook 1 GPGPU-Architekturen 2 CUDA Programmiermodell
MehrSchnelle Ladezeiten sind das A & O für eine gelungene Website
Schnelle Ladezeiten sind das A & O für eine gelungene Website Der Klick weg von einer Website ist eben das: bloß ein Klick entfernt. Und wer die Geduld seiner Besucher auf die Probe stellt, der riskiert
MehrErsa IRSoft/ImageDoc/HRSoft Software
Ersa IRSoft/ImageDoc/HRSoft Software PC-Konfigurationsempfehlung 3BA00212 Ersa GmbH Leonhard-Karl-Str. 24 97877 Wertheim/Germany www.ersa.de Telefon +49 9342/800-147 Fax +49 9342/800-256 service.tools@kurtzersa.de
MehrGraphikformate Ein kurzer Überblick
Graphikformate Ein kurzer Überblick Einführung in das rechnergestützte Arbeiten Dr. Andreas Poenicke, Dipl.-Phys. Patrick Mack KIT Universität des Landes Baden-Württemberg und nationales Forschungszentrum
MehrEinstieg in die Informatik mit Java
Vorlesung vom 18.4.07, Grundlagen Übersicht 1 Kommentare 2 Bezeichner für Klassen, Methoden, Variablen 3 White Space Zeichen 4 Wortsymbole 5 Interpunktionszeichen 6 Operatoren 7 import Anweisungen 8 Form
MehrOpenCL. OpenCL. Boris Totev, Cornelius Knap
OpenCL OpenCL 1 OpenCL Gliederung Entstehungsgeschichte von OpenCL Was, warum und überhaupt wieso OpenCL CUDA, OpenGL und OpenCL GPUs OpenCL Objekte Work-Units OpenCL Adressbereiche OpenCL API Codebeispiel
MehrKirchstrasse 11 CH - 5643 Sins Telefon: 041-787 35 35 Fax: 041-787 35 32 Email: info@tinline.ch
Systemanforderungen AutoCAD 2013 System-Voraussetzung Windows 32Bit Betriebssystem: Browser: Internet Explorer 7.0 oder höher. CPU Windows 7: Intel Pentium 4 or AMD Athlon dual-core processor, 3.0 GHz
MehrGATE General Architecture for Text Engineering. Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008)
GATE General Architecture for Text Engineering Alexander Hein & Erik Dießler (VL Text Analytics - 08.05.2008) Überblick GATE Die Idee Die Architektur Was noch - JAPE / DIFF / GUK ANNIE Einige Beispiele
MehrApple imac 5,1-20 Zoll (Late 2006)
Apple imac 5,1-20 Zoll (Late 2006) - Prozessor: Core 2 Duo 2x2166 MHz - Arbeitsspeicher : 2048 MB - Festplatte : 250 GB - Laufwerk: DVDRW - Grafik onboard: ATI Radeon Xpress 1600 128 MB - Grafik Zusatz:
Mehr