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
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
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
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