Date post: | 26-Jun-2015 |
Category: |
Documents |
Upload: | johannes-diemke |
View: | 189 times |
Download: | 2 times |
C A R LV O N
O S S I E T Z K Y
Hinweise zu Ubungsblatt 5
Johannes Diemke
Ubung im Modul OpenGL mit JavaWintersemester 2010/2011
Hinweise zu Ubungsblatt 5
Nebel
Einfacher atmospharischer Effekt
In der Fixed Function Pipeline implementiert
I Kurz vor Ende der Rendering PipelineI Anpassen der Fragmente bevor sie ausgegeben werden
Anwendungsgebiete
I Mehr RealismusI Geben Hinweise uber die Platzierung und Ausdehnung von ObjektenI 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 Abhangigkeit von
I Nebelfarbe cfI Nebelfaktor f ∈ [0, 1] (fallt mit zunehmender Entfernung)I Oberflachenfarbe cs
cp = f cs + (1− f )cf
Diverse Funktionen zum Ermitteln von f
I Linear Fog: f =zend−zp
zend−zstart
I Exponential Fog: f = e−df zp
I Squared Exponential Fog: f = e−(df zp)2
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 ObjektePartielle Lichtdurchlassigkeit
I Zeichnen mittels Alpha-BlendingI Fur α 6= 0.5 i.A. keine kommutative Operation
LosungenZwei Renderpasses
I Erst alle lichtundurchlassigen ObjekteI Daraufhin alle lichtdurchlassigen Objekte mittels
glDepthMask(GL FALSE)
I Lichtdurchlassige Dreiecke/Objekte sortieren
Alternativen
I Depth Peeling (order-independent transparency)I . . .
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
Nachster Foliensatz!
Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 8/10
Literatur
� Dave ShreinerOpenGL Programming Guidehttp://www.opengl-redbook.com/
� Richard S. Wright, Benjamin Lipchak und Nicholas HaemelOpenGL SuperBibelhttp://www.starstonesoftware.com/OpenGL/
� Randi J. RostOpenGL Shading Languagehttp://www.3dshaders.com/
� Tomas Akenine-Moller, Eric Haines und Naty HoffmanReal-Time Renderinghttp://www.realtimerendering.com/
Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 9/10
Literatur
� Edward AngelInteractive Computer Graphicshttp://www.cs.unm.edu/˜angel/
� Gerald Farin und Dianne HansfordPractical Linear Algebrahttp://www.farinhansford.com/books/pla/
� Fletcher Dunn und Ian Parberry3D Math Primer for Graphics and Game Developmentwww.gamemath.com/
Johannes Diemke OpenGL mit Java WiSe 2010 / 2011 10/10