SlideShare una empresa de Scribd logo
1 de 10
Descargar para leer sin conexión
CARL
      VON
OSSIETZKY
                        ¨
            Hinweise zu Ubungsblatt 5

            Johannes Diemke

            ¨
            Ubung im Modul OpenGL mit Java
            Wintersemester 2010/2011
¨
Hinweise zu Ubungsblatt 5


Nebel
   Einfacher atmosph¨rischer Effekt
                     a
   In der Fixed Function Pipeline implementiert
         Kurz vor Ende der Rendering Pipeline
         Anpassen der Fragmente bevor sie ausgegeben werden
   Anwendungsgebiete
         Mehr Realismus
         Geben Hinweise uber die Platzierung und Ausdehnung von Objekten
                           ¨
         Hilfreich bei Culling durch die Far Plane




   Johannes Diemke             OpenGL mit Java          WiSe 2010 / 2011   2/10
¨
Hinweise zu Ubungsblatt 5


Nebel (Forts.)




    Johannes Diemke   OpenGL mit Java   WiSe 2010 / 2011   3/10
¨
Hinweise zu Ubungsblatt 5


Nebel (Forts.)
   Die Fragmentfarbe cp ergibt sich in Abh¨ngigkeit von
                                          a
          Nebelfarbe cf
          Nebelfaktor f ∈ [0, 1] (f¨llt mit zunehmender Entfernung)
                                   a
          Ober߬chenfarbe cs
                a

                 cp = f cs + (1 − f )cf

   Diverse Funktionen zum Ermitteln von f
                              z
                             end  −z
                                   p
          Linear Fog: f = zend −zstart
          Exponential Fog: f = e −df zp
                                                   2
          Squared Exponential Fog: f = e −(df zp )




    Johannes Diemke                    OpenGL mit Java      WiSe 2010 / 2011   4/10
¨
Hinweise zu Ubungsblatt 5


Nebel (Forts.)




    Johannes Diemke   OpenGL mit Java   WiSe 2010 / 2011   5/10
¨
Hinweise zu Ubungsblatt 5


Nebel in OpenGL

float[] fogColor = new float[] {0.2f, 0.2f, 0.2f, 1.0f};

gl.glClearColor(fogColor[0], fogColor[1], fogColor[2], fogColor[3]);

gl.glEnable(GL2.GL_FOG);

gl.glFogfv(GL2.GL_FOG_COLOR, fogColor, 0);
gl.glFogf(GL2.GL_FOG_START, 5.0f);
gl.glFogf(GL2.GL_FOG_END, 30.0f);
gl.glFogi(GL2.GL_FOG_MODE, GL2.GL_LINEAR);




     Johannes Diemke             OpenGL mit Java            WiSe 2010 / 2011   6/10
¨
Hinweise zu Ubungsblatt 5


Transluzente Objekte
   Partielle Lichtdurchl¨ssigkeit
                        a
         Zeichnen mittels Alpha-Blending
         F¨r α = 0.5 i.A. keine kommutative Operation
          u
L¨sungen
 o
   Zwei Renderpasses
         Erst alle lichtundurchl¨ssigen Objekte
                                a
         Daraufhin alle lichtdurchl¨ssigen Objekte mittels
                                    a
         glDepthMask(GL FALSE)
         Lichtdurchl¨ssige Dreiecke/Objekte sortieren
                      a
   Alternativen
         Depth Peeling (order-independent transparency)
         ...



   Johannes Diemke               OpenGL mit Java             WiSe 2010 / 2011   7/10
¨
Hinweise zu Ubungsblatt 5


OpenGL Display-Listen
   http://www.songho.ca/opengl/gl_displaylist.html

OpenGL Vertex-Arrays
   http://www.songho.ca/opengl/gl_vertexarray.html

Torus-Knoten
   N¨chster Foliensatz!
    a




   Johannes Diemke        OpenGL mit Java   WiSe 2010 / 2011   8/10
Literatur


 Dave Shreiner
 OpenGL Programming Guide
 http://www.opengl-redbook.com/
 Richard S. Wright, Benjamin Lipchak und Nicholas Haemel
 OpenGL SuperBibel
 http://www.starstonesoftware.com/OpenGL/
 Randi J. Rost
 OpenGL Shading Language
 http://www.3dshaders.com/
 Tomas Akenine-M¨ller, Eric Haines und Naty Hoffman
                o
 Real-Time Rendering
 http://www.realtimerendering.com/

   Johannes Diemke           OpenGL mit Java      WiSe 2010 / 2011   9/10
Literatur


 Edward Angel
 Interactive Computer Graphics
 http://www.cs.unm.edu/˜angel/
 Gerald Farin und Dianne Hansford
 Practical Linear Algebra
 http://www.farinhansford.com/books/pla/
 Fletcher Dunn und Ian Parberry
 3D Math Primer for Graphics and Game Development
 www.gamemath.com/




   Johannes Diemke          OpenGL mit Java   WiSe 2010 / 2011   10/10

Más contenido relacionado

Más de Johannes Diemke

2010-JOGL-10-Wavefront-OBJ
2010-JOGL-10-Wavefront-OBJ2010-JOGL-10-Wavefront-OBJ
2010-JOGL-10-Wavefront-OBJJohannes Diemke
 
2010-JOGL-09-Texture-Mapping
2010-JOGL-09-Texture-Mapping2010-JOGL-09-Texture-Mapping
2010-JOGL-09-Texture-MappingJohannes Diemke
 
2010-JOGL-05-Transformationen
2010-JOGL-05-Transformationen2010-JOGL-05-Transformationen
2010-JOGL-05-TransformationenJohannes Diemke
 
2010-JOGL-02-Einfuehrung
2010-JOGL-02-Einfuehrung2010-JOGL-02-Einfuehrung
2010-JOGL-02-EinfuehrungJohannes Diemke
 
2010-JOGL-01-Organisation
2010-JOGL-01-Organisation2010-JOGL-01-Organisation
2010-JOGL-01-OrganisationJohannes Diemke
 
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)Einführung in minimale Spannbäume und deren Berechnung (Vortrag)
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)Johannes Diemke
 
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)Johannes Diemke
 
Software Produktlinien: Einführung und Überblick (Vortrag)
Software Produktlinien: Einführung und Überblick (Vortrag)Software Produktlinien: Einführung und Überblick (Vortrag)
Software Produktlinien: Einführung und Überblick (Vortrag)Johannes Diemke
 
Theory Exploration (Ausarbeitung)
Theory Exploration (Ausarbeitung)Theory Exploration (Ausarbeitung)
Theory Exploration (Ausarbeitung)Johannes Diemke
 
Theory Exploration (Vortrag)
Theory Exploration (Vortrag)Theory Exploration (Vortrag)
Theory Exploration (Vortrag)Johannes Diemke
 
Domainvergabe durch die DENIC (Vortrag)
Domainvergabe durch die DENIC (Vortrag)Domainvergabe durch die DENIC (Vortrag)
Domainvergabe durch die DENIC (Vortrag)Johannes Diemke
 
Team Oldenburger Robo-Fußball – Abschlussbericht der Projektgruppe 2010
Team Oldenburger Robo-Fußball – Abschlussbericht  der Projektgruppe  2010Team Oldenburger Robo-Fußball – Abschlussbericht  der Projektgruppe  2010
Team Oldenburger Robo-Fußball – Abschlussbericht der Projektgruppe 2010Johannes Diemke
 
Vorstellung des Roboterfußball-Teams TORF (Ausarbeitung)
Vorstellung des Roboterfußball-Teams TORF (Ausarbeitung)Vorstellung des Roboterfußball-Teams TORF (Ausarbeitung)
Vorstellung des Roboterfußball-Teams TORF (Ausarbeitung)Johannes Diemke
 
Agile Vorgehensmodelle in der Softwareentwicklung: Scrum
Agile Vorgehensmodelle in der Softwareentwicklung: ScrumAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
Agile Vorgehensmodelle in der Softwareentwicklung: ScrumJohannes Diemke
 
Vorstellung des Roboterfußball-Teams TORF (Vortrag)
Vorstellung des Roboterfußball-Teams TORF (Vortrag)Vorstellung des Roboterfußball-Teams TORF (Vortrag)
Vorstellung des Roboterfußball-Teams TORF (Vortrag)Johannes Diemke
 

Más de Johannes Diemke (16)

2010-JOGL-10-Wavefront-OBJ
2010-JOGL-10-Wavefront-OBJ2010-JOGL-10-Wavefront-OBJ
2010-JOGL-10-Wavefront-OBJ
 
2010-JOGL-09-Texture-Mapping
2010-JOGL-09-Texture-Mapping2010-JOGL-09-Texture-Mapping
2010-JOGL-09-Texture-Mapping
 
2010-JOGL-05-Transformationen
2010-JOGL-05-Transformationen2010-JOGL-05-Transformationen
2010-JOGL-05-Transformationen
 
2010-JOGL-02-Einfuehrung
2010-JOGL-02-Einfuehrung2010-JOGL-02-Einfuehrung
2010-JOGL-02-Einfuehrung
 
2010-JOGL-01-Organisation
2010-JOGL-01-Organisation2010-JOGL-01-Organisation
2010-JOGL-01-Organisation
 
Boost C++ Libraries
Boost C++ LibrariesBoost C++ Libraries
Boost C++ Libraries
 
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)Einführung in minimale Spannbäume und deren Berechnung (Vortrag)
Einführung in minimale Spannbäume und deren Berechnung (Vortrag)
 
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)
Einführung in minimale Spannbäume und deren Berechnung (Ausarbeitung)
 
Software Produktlinien: Einführung und Überblick (Vortrag)
Software Produktlinien: Einführung und Überblick (Vortrag)Software Produktlinien: Einführung und Überblick (Vortrag)
Software Produktlinien: Einführung und Überblick (Vortrag)
 
Theory Exploration (Ausarbeitung)
Theory Exploration (Ausarbeitung)Theory Exploration (Ausarbeitung)
Theory Exploration (Ausarbeitung)
 
Theory Exploration (Vortrag)
Theory Exploration (Vortrag)Theory Exploration (Vortrag)
Theory Exploration (Vortrag)
 
Domainvergabe durch die DENIC (Vortrag)
Domainvergabe durch die DENIC (Vortrag)Domainvergabe durch die DENIC (Vortrag)
Domainvergabe durch die DENIC (Vortrag)
 
Team Oldenburger Robo-Fußball – Abschlussbericht der Projektgruppe 2010
Team Oldenburger Robo-Fußball – Abschlussbericht  der Projektgruppe  2010Team Oldenburger Robo-Fußball – Abschlussbericht  der Projektgruppe  2010
Team Oldenburger Robo-Fußball – Abschlussbericht der Projektgruppe 2010
 
Vorstellung des Roboterfußball-Teams TORF (Ausarbeitung)
Vorstellung des Roboterfußball-Teams TORF (Ausarbeitung)Vorstellung des Roboterfußball-Teams TORF (Ausarbeitung)
Vorstellung des Roboterfußball-Teams TORF (Ausarbeitung)
 
Agile Vorgehensmodelle in der Softwareentwicklung: Scrum
Agile Vorgehensmodelle in der Softwareentwicklung: ScrumAgile Vorgehensmodelle in der Softwareentwicklung: Scrum
Agile Vorgehensmodelle in der Softwareentwicklung: Scrum
 
Vorstellung des Roboterfußball-Teams TORF (Vortrag)
Vorstellung des Roboterfußball-Teams TORF (Vortrag)Vorstellung des Roboterfußball-Teams TORF (Vortrag)
Vorstellung des Roboterfußball-Teams TORF (Vortrag)
 

2010-JOGL-07-Hinweise-Uebungsblatt05

  • 1. CARL VON OSSIETZKY ¨ Hinweise zu Ubungsblatt 5 Johannes Diemke ¨ Ubung im Modul OpenGL mit Java Wintersemester 2010/2011
  • 2. ¨ Hinweise zu Ubungsblatt 5 Nebel Einfacher atmosph¨rischer Effekt a In der Fixed Function Pipeline implementiert Kurz vor Ende der Rendering Pipeline Anpassen der Fragmente bevor sie ausgegeben werden Anwendungsgebiete Mehr Realismus Geben Hinweise uber die Platzierung und Ausdehnung von Objekten ¨ Hilfreich bei Culling durch die Far Plane Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 2/10
  • 3. ¨ Hinweise zu Ubungsblatt 5 Nebel (Forts.) Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 3/10
  • 4. ¨ Hinweise zu Ubungsblatt 5 Nebel (Forts.) Die Fragmentfarbe cp ergibt sich in Abh¨ngigkeit von a Nebelfarbe cf Nebelfaktor f ∈ [0, 1] (f¨llt mit zunehmender Entfernung) a Oberfl¨chenfarbe cs a cp = f cs + (1 − f )cf Diverse Funktionen zum Ermitteln von f z end −z p Linear Fog: f = zend −zstart Exponential Fog: f = e −df zp 2 Squared Exponential Fog: f = e −(df zp ) Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 4/10
  • 5. ¨ Hinweise zu Ubungsblatt 5 Nebel (Forts.) Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 5/10
  • 6. ¨ Hinweise zu Ubungsblatt 5 Nebel in OpenGL float[] fogColor = new float[] {0.2f, 0.2f, 0.2f, 1.0f}; gl.glClearColor(fogColor[0], fogColor[1], fogColor[2], fogColor[3]); gl.glEnable(GL2.GL_FOG); gl.glFogfv(GL2.GL_FOG_COLOR, fogColor, 0); gl.glFogf(GL2.GL_FOG_START, 5.0f); gl.glFogf(GL2.GL_FOG_END, 30.0f); gl.glFogi(GL2.GL_FOG_MODE, GL2.GL_LINEAR); Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 6/10
  • 7. ¨ Hinweise zu Ubungsblatt 5 Transluzente Objekte Partielle Lichtdurchl¨ssigkeit a Zeichnen mittels Alpha-Blending F¨r α = 0.5 i.A. keine kommutative Operation u L¨sungen o Zwei Renderpasses Erst alle lichtundurchl¨ssigen Objekte a Daraufhin alle lichtdurchl¨ssigen Objekte mittels a glDepthMask(GL FALSE) Lichtdurchl¨ssige Dreiecke/Objekte sortieren a Alternativen Depth Peeling (order-independent transparency) ... Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 7/10
  • 8. ¨ Hinweise zu Ubungsblatt 5 OpenGL Display-Listen http://www.songho.ca/opengl/gl_displaylist.html OpenGL Vertex-Arrays http://www.songho.ca/opengl/gl_vertexarray.html Torus-Knoten N¨chster Foliensatz! a Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 8/10
  • 9. Literatur Dave Shreiner OpenGL Programming Guide http://www.opengl-redbook.com/ Richard S. Wright, Benjamin Lipchak und Nicholas Haemel OpenGL SuperBibel http://www.starstonesoftware.com/OpenGL/ Randi J. Rost OpenGL Shading Language http://www.3dshaders.com/ Tomas Akenine-M¨ller, Eric Haines und Naty Hoffman o Real-Time Rendering http://www.realtimerendering.com/ Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 9/10
  • 10. Literatur Edward Angel Interactive Computer Graphics http://www.cs.unm.edu/˜angel/ Gerald Farin und Dianne Hansford Practical Linear Algebra http://www.farinhansford.com/books/pla/ Fletcher Dunn und Ian Parberry 3D Math Primer for Graphics and Game Development www.gamemath.com/ Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 10/10