OpenGL and JOGL
Java Sources:
JOGLbase.java
View.java
Fullscreen.java
InputDevice.java
UserEventMediator.java
Light.java
DrawingBasics.java
StipplePattern.java
Blend.java
GLUdemo.java
GLUTdemo.java
SolarSystem.java
Imaging.java
Font.java
Texturing.java
Based on NeHe
classes ported to Java as JOGL-NeHe
(in package nehe;):
nehe/BitmapLoader.java
nehe/ResourceRetriever.java
nehe/TextureReader.java
(Handmade all-in-one texturing class:TexturingAllInOne.java)
Texture3D.java
Bezier.java
Particle.java
ParticleSystem.java
VertexArray.java
ModelLoaderOBJ.java
using JautOGL.zip the
OBJ importer from JautOGL Project
OpenGL Libraries and Header Files (for C,C++,..):
GLee (GL Easy Extension library),
a free cross-platform
(Windows, Linux, OS-X and FreeBSD)
extension loading library for OpenGL.
CsGL
The Tao Framework
provides .NET and Mono bindings to various native libraries,
including OpenGL, SDL, Cg, DevIL, ODE, OpenAL, Lua, and more:
MESA 3D
-
OpenGL Introduction
-
What is openGL?
-
History
-
GLUT and GLU and GLX and WGL
-
OpenGL Features: What can OpenGL do?
-
A Very Simple OpenGL Program
-
OpenGL Command Syntax
-
OpenGL State Machine
-
OpenGL Rendering Pipeline
-
Rendering Pipeline Details
-
JOGL Introduction
-
What is JOGL?
-
JOGL Installation
-
JOGL Components and GLEventListener
-
JOGL Program Template
Exercise: Hello JOGL
-
GLUT
-
GLUT: The OpenGL Utility Toolkit
-
GLUT Example Program
-
Qt
-
OpenGL Applications with Qt
-
Qt Referat
von Tretter und Rachimow WS2006
-
Points and Lines
-
Points
-
Specifying Vertices
-
Homogeneous Coordinates
-
Points Size, Get-Functions
-
Lines
-
Geometric Lines Primitves
Exercise: Points and Lines
-
Wide Lines
-
Stippled Lines
Exercise: Wide and Stippled Lines
-
Antialiasing
-
Fog
-
Fog Equations
Exercise: Antialiasing and Fog
-
Polygons
-
Valid Polygons
-
Nonplanar Polygons
-
Tessellation and Triangulation
-
Polygon Primitves
-
Removing Polygon Edges
Exercise: Polygon
-
Rectangles
-
Polygon Fill
-
Normal Vectors
-
Reversing and Culling
Exercise: Polygon Fill
-
Stippled Polygons
-
Stippled Polygons example program
Exercise: Stiplled Polygons
-
Interaction und Animation
-
Animation
-
Animator Class
-
Animator Example Program
-
Interaction
-
User Input Event Listeners
Exercise: Animator
-
Color and Transparency
-
Bitplanes
-
Colormode
-
Dithering
-
Color in RGBA Mode: glColor
Exercise: Colored Circles
-
Shading Model
Exercise: Gradient Fill
-
Blending
-
Blending Source and Destination
-
Blending Function
-
Blending Equation
-
Blending Examples
Exercise: Blending
-
Depthbuffer (Z-buffer), Depthtest and Culling
-
Depthbuffer (Z-Buffer) Algorithm
-
Depthbuffer Range and Precision
-
Depthbuffer Example Program
-
3D Blending with the Depth Buffer
-
Polygon Offset
Exercise: Depth Test
-
Model - View - Projection
-
Transformations: The Camera Analogy
-
Stages of Vertex Transformation
-
Viewing and Modeling Transformations
-
The Order of Transformations
-
The Order of Transformation Matrices
-
Translate
-
Rotate
-
Scale
-
General-Purpose Transformations
-
Viewing Transformations
-
Viewing with gluLookAt()
-
Projection Transformations
-
Perspective Projection
-
Orthographic Projection
-
Additional Clipping Planes
-
Matrix Stacks
-
Transformations Program Example
Exercise: Transformations
-
Viewport Transformation
-
Attribute Groups:
glPushAttrib()
-
Display Lists
-
Display Lists
-
Creating and Executing a Display List
-
Display Lists Example Program
-
Executing Multiple Display Lists
-
Hierarchical Display Lists
Exercise: Display Lists
-
GLU and GLUT
-
GLU Introduction
-
GLU: Coordinate Transformation
-
gluPickMatrix - define a picking region
-
GLU Polygon Tessellation
-
Winding Numbers
-
Tessellation Callback Example
-
GLU Quadric Objects
-
Manage Quadrics Objects
-
GLU Functions to Manage Quadric Objects
-
Quadrics Primitives
-
Quadrics Primitives Example Program
-
GLU: Error Handling
Exercise: GLU
-
Drawing 3D Objects with GLUT
-
GLUT Drawing Example Program
Exercise: GLUT
-
Light
-
Real-World and OpenGL Lighting
-
Types of Light
-
Light and Material Colors
-
Algorithms for Lighting
-
Light Functions
-
Material Functions
-
Lighting Example Program
-
The Position of a Light Source
-
Attenuation of Light
-
Spotlights
-
Light Model
Exercise: Light
-
Images
-
Images
-
Reading, Writing, and Copying Pixel Data
-
Image Storage Modes
-
Magnifying or Reducing an Image
-
Imaging Example Program
Exercise: Image
-
Convolution Filter
-
Bitmaps and Fonts
-
Introduction: Bitmaps and Images
-
Bitmaps and Fonts
-
Positioning
-
Drawing the Bitmap
-
Choosing a Color for the Bitmap
-
Fonts and Display Lists
-
Fonts with GLUT
Exercise: Font
-
Texture
-
Texture Intro
-
Steps in Texture Mapping
-
Texture Functions: glTexEnv
-
Texture Format: Reading an Image File
-
Texture Objects
-
Loading a Texture into OpenGL: glTexImage
-
Mipmapping: Multiple Levels of Detail
-
Texture Parameter and Filtering
-
Assigning Texture Coordinates
-
Repeating and Clamping Textures
-
Texture Parameter
-
Background Texture
Exercise: Texture
-
Replacing All or Part of a Texture Image
-
Secondary Specular Highlights
-
Anisotropic Fitering
-
Resident Textures
-
Texture Proxy
-
The Texture Matrix Stack
-
3D Textures
-
Texture Compression
-
Multitexture
-
Animated Textures
-
Procedural Textures
-
Texture-Coordinates, Lightmaps and Environment Mapping
-
Automatic Texture-Coordinate Generation
(local backup)
-
LightMaps
(local backup)
-
Environment Mapping
(local backup)
-
Environment Mapping:
extern tutorial
(local copy local copy)
-
Cube Maps
Import 3D Models from (obj, 3ds, tga, etc.) Files
(OBJ Spec,
waveobj Spec)
OBJ
OBJ specs_vertices
OBJ Specs Polygons
OBJ Specs Textures
OBJ
OBJ
md2(Quake II) and 3ds(3D Studio Max) format
http://javaisdoomed.sourceforge.net/
3ds
http://miageprojet.unice.fr/twiki/bin/view/Projets/TutorialVisualisationSansTex
Referat Christian Lührs WS2006
Java Sourcen
Curves, Splines and Surfaces
-
Curves and Evaluators
Exercise: Curves
-
Bernstein Polynomial and Bezier Curves
-
Bezier Curves: glMap1, glEvalCoord1f
-
Bezier Curve Example Program
-
Evenly Spaced Coordinates:
glMapGrid1f, gl.glEvalMesh1
Exercise: Bezier Curve
-
Bezier Surfaces Evaluators
-
Bezier Surface: glMap2, glEvalCoord2f
-
2D Evenly Spaced Coordinate Grid: glMapGrid2f, gl.glEvalMesh2
-
Bezier Surface Example Program
Exercise: Bezier Surface
-
The GLU NURBS Interface
-
NURBS Example Program
Particle Effects
Referat Reimer und Freytag WS2006
-
Particle Effects and Particle Engines
-
Particle Source Code
-
Particle System Source Code
Exercise: Particle System
Vertex Arrays
-
Why Vertex Arrays
-
Using Vertex Arrays: 3 Steps
-
Step 1: Enable Vertex Arrays
-
Step 2: Specifying Data for the Arrays
-
Step 3: Dereferencing and Rendering
-
Interleaved Arrays
-
Vertex Arrays Example Program
-
Vertex Buffer Objects (VBOs)
Shadows
-
Intro -- Overview
Exercise: Shadows
OpenGL Shading Language (GLSL) and
NVidea's Cg (C for graphics)
Referat Richard Schubert WS2006
-
Referat
-
Cg Code
-
GLSL Code
-
Hair and Dynamic Fur
by Prof. Dr. Rüdiger Westermann
(local backup)
Terrain Generation
Referat Günther und Dietze WS2006
-
Java Sourcen
JOGL Applets
-
JOGL Applets and Applet Security
-
Signed Applets
-
Applet Launcher
-
Applet Launcher Test
-
Applet WebStart/JNLP
-
Applet Webstart Test
MISC Useful Things
-
Center Mouse Cursor Programm
by Stefan Rudnitzki
-
Change to fullsreen and adjust DisplayMode
-
Define Custom Cursor (or make cursor disappear)
-
A Simple Makefile for Java
Advanced Topics
(Fast) Metaballs
paulsprojects metaballs
polygonise
3D Rendering- and Game-Engines based on JOGL
Student projects:
rakete_ani.rar --
Workshop "Partikel-Effekte" weiter entwickelt:
- Verschieden Partikeleffekte ausgearbeitet: Funken der Lunte, Qualm der
Rakete und die Raketenexplosion
- alle Objekte (Laterne, Tonnen, Rakete, Pflanzen) in der Szene sind in
TextPad programmiert, keine Importe
- Entwicklung einer Soundsteuerklasse fuer die akustische Untermalung
- Erstellung und Verwendung von eigenen Sounds
- Verwendung mehrerer Lichtquellen (Spotlight, Pointlight), teilweise dynamisch
- Erstellung von verschiedenen Kameraperspektiven und Kamerafahrten
- Verwendung von einigen Klassen aus der CGA2-Vorlesung, basiert auf dem JOGL-Frame