Overview
                The JOGL-Demos project contains Java programming language
                    demonstrations utilizing OpenGL through the JOGL API. Demonstrations exhibit
                    advanced functionality such as vertex and fragment programs, shadow maps and
                    hardware-accelerated offscreen rendering via pbuffers. Some of the demos were ported from
                    C or C++, in which case a link to the original sources is provided.
                
                The demos below require Java Web Start,
                    which
                    is included in J2SE >= 1.5;
                    click the images to launch the demos. Where there are no hardware or
                    operating
                    system requirements listed, the demos run on any vendor's graphics card
                    and on any of Solaris/x86, Linux/x86, Windows/x86, and Macintosh OS X 10.5.
                
                Applets using JOGL can be deployed without signing your own code and without
                manual installation of any software on the end user's machine:
                
                
                Quick Version Info: Current [ Applet, 
                                              Application ], 
                                    Next [ Applet, 
                                           Application ].
                
                The source code for these demonstrations is available
                    via GIT.
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Gears 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                
                                                                     
                                                                
                                                             | 
                                                            Classic OpenGL demo. Original source code
                                                                by Brian Paul; converted to Java by Ron Cemer and Sven Goethel.
                                                             | 
                                                             
                                                             | 
                                                            None | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Grand Canyon Demo 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                
                                                                     
                                                                
                                                             | 
                                                             A flight simulator written in the Java programming language using the
                                                                New I/O APIs and OpenGL to visualize a large terrain data set in real time. Related
                                                                    article, including source code, on the Swing Connection.
                                                             | 
                                                             
                                                             | 
                                                             None | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Hardware Shadow
                                                        Mapping 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                
                                                                     
                                                                
                                                             | 
                                                             Shadowing demo using projective
                                                                texture technique of hardware shadow maps.
                                                                
                                                                    Original source code by NVidia.
                                                             | 
                                                             
                                                             | 
                                                             Pbuffer support, ARB_shadow, ARB_depth_texture | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 High Dynamic Range Rendering
                                                 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                
                                                                     
                                                                
                                                             | 
                                                             High Dynamic Range rendering demo utilizing 16-bit-per-channel
                                                                floating-point pbuffers through NVidia, ATI or Apple extensions. Uses NVidia HILO or
                                                                Apple or ATI floating point cubemaps. Intermediate results are rendered to
                                                                floating-point pbuffers and tonemapped to 24-bit RGB before display. Original
                                                                    source code supplied in NVidia's SDK. This demo
                                                                is known to work on Windows with suitable NVidia or ATI hardware, and on X11
                                                                platforms with suitable NVidia hardware (no floating-point pbuffer support is
                                                                available on X11 from ATI as of this writing). The demo should run properly on Mac
                                                                OS X soon pending some driver-level bug fixes.
                                                             | 
                                                             
                                                             | 
                                                             One of GL_NV_float_buffer, GL_ATI_texture_float, or
                                                                GL_APPLE_float_pixels; ARB_multitexture; ARB_vertex_program; ARB_fragment_program
                                                             | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Infinite Shadow Volumes 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                
                                                                     
                                                                
                                                             | 
                                                             Shadowing demo using geometric
                                                                technique of infinite shadow volumes. Original
                                                                    source code by NVidia.
                                                             | 
                                                             
                                                             | 
                                                             None | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Particle Engine 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                     
                                                                 | 
                                                            Particle engine demo controlling a set of animated particles with a
                                                                Swing UI. Contributed by Ben Chappell.
                                                             | 
                                                             
                                                             | 
                                                            None | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 TextRenderer Test 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                     
                                                                 | 
                                                            A simple test of JOGL's new TextRenderer utility class, with text
                                                                overlaid on the Gears demo.
                                                             | 
                                                             
                                                             | 
                                                            None | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Flying Text 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                     
                                                                 | 
                                                            A more advanced demo of the TextRenderer, showing animated and colored
                                                                text with drop shadows.
                                                             | 
                                                             
                                                             | 
                                                            None | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Custom Text 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                     
                                                                 | 
                                                            A more advanced demo of the TextRenderer, showing the use of a custom
                                                                RenderDelegate to achieve fancy Java 2D-based font effects.
                                                             | 
                                                             
                                                             | 
                                                            None | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Text Flow 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                     
                                                                 | 
                                                            Shows how to use the TextRenderer to draw dynamically flowing text in
                                                                OpenGL.
                                                             | 
                                                             
                                                             | 
                                                            None | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Text Cube 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                     
                                                                 | 
                                                            Shows how to use the TextRenderer to draw 2D text in 3D.
                                                             | 
                                                             
                                                             | 
                                                            None | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Vertex Program
                                                        Warp 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                     
                                                                 | 
                                                            Geometrical deformations performed on the
                                                                graphics card using vertex programs. Original
                                                                    source code supplied in NVidia's SDK.
                                                             | 
                                                             
                                                             | 
                                                            ARB_vertex_program | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Vertex Program
                                                        Refract 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                     
                                                                 | 
                                                            Real-time reflection and refraction with
                                                                chromatic aberration using vertex and fragment programs. Original
                                                                    source code by NVidia.
                                                             | 
                                                             
                                                             | 
                                                            ARB_vertex_program and either ARB_fragment_program or
                                                                NV_register_combiners
                                                             | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Water (Procedural Texture
                                                        Physics) 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                     
                                                                 | 
                                                            Runs a physics-based water simulation entirely
                                                                on the graphics card using vertex programs, fragment programs and pbuffers.
                                                                Original source code supplied in NVidia's SDK. 
                                                             | 
                                                             
                                                             | 
                                                            Pbuffer support, ARB_vertex_program, ARB_fragment_program | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             | 
                        
                    
                
                
                
                    
                        
                            
                                
                                    
                                        
                                            | 
                                                 Vertex Buffer Object 
                                             | 
                                         
                                        
                                            
                                                
                                                    
                                                        
                                                             
                                                             | 
                                                            Description
                                                             | 
                                                             
                                                             | 
                                                            Requirements
                                                             | 
                                                         
                                                        
                                                            
                                                                
                                                                     
                                                                
                                                             | 
                                                            Demonstrates high-throughput dynamic geometry
                                                                using ARB_vertex_buffer_object extension. Original source code supplied in NVidia's SDK; ported both
                                                                to Java/JOGL and ARB_vertex_buffer_object extension.
                                                             | 
                                                             
                                                             | 
                                                            ARB_vertex_buffer_object | 
                                                         
                                                    
                                                 
                                             | 
                                         
                                    
                                 
                             |