<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd"> <html xmlns="http://www.w3.org/1999/xhtml"> <head> <meta http-equiv="Content-Type" content="text/html; charset=utf-8" /> <link href="../../style.css" rel="stylesheet" type="text/css"/> <title>JOGL - Java Binding for the OpenGL API</title> <link href="../../SocialCoding/logo_symbol_finals/website_final_blue_favicon_symbol_16x16pel.ico" rel="shortcut icon"/> </head> <body> <div id="container"> <div id="header"> <div id="slogan"><img src="../../images/jogamp_symbols/website_final_sideslogan_jogl_404x20pel.png" alt="Java™ Binding for the OpenGL® API"/></div> <div id="logo"><a href="http://jogamp.org/"><img src="../../images/jogamp_symbols/website_final_blue_jogl_346x70pel.png" alt="JOGL Symbol"/></a></div> </div> <div id="menu"> <ul> <li><a href="../../">Home</a></li> <li><a href="../../deployment/jogamp-current/jogl-test-applets.html">Tests</a></li> <li><a href="../../jogl-demos/www/">Demos</a></li> <li><a href="../../deployment/jogamp-next/javadoc/jogl/javadoc/">JavaDoc</a></li> <li><a href="../../gluegen/www/">Gluegen</a></li> <li><a href="../../wiki/">Wiki</a></li> <li><a href="../../blog/">Blogs</a></li> <li><a href="http://forum.jogamp.org/" target="_blank">Forum</a></li> </ul> </div> <div id="main"> <div id="sidebar"> <h3>Useful Links</h3> <ul> <li><a href="../../deployment/jogamp-next/javadoc/jogl/javadoc/">JOGL JavaDoc</a></li> <li><a href="../../wiki/index.php/Jogl_Overview">Project Overview</a></li> <li><a href="../doc/HowToBuild.html">Building JOGL</a></li> <li><a href="../doc/deployment/JOGL-DEPLOYMENT.html">Deploying JOGL</a></li> <li><a href="../../wiki/index.php/Jogl_Tutorial">Tutorial</a></li> <li><a href="../doc/userguide/">Userguide</a></li> <li><a href="../../wiki/index.php/Jogl_FAQ">FAQ</a></li> <li><a href="http://www.opengl.org">OpenGL.org</a></li> <li><a href="http://www.opengl.org/registry/">OpenGL Registry</a></li> <li><a href="http://www.opengl.org/registry/doc/glspec41.core.20100725.withchanges.pdf">GL 4.1 Core Spec</a></li> <li><a href="http://www.opengl.org/registry/doc/glspec41.compatibility.20100725.withchanges.pdf">GL 4.1 Compat. Spec</a></li> <li><a href="http://www.opengl.org/registry/doc/GLSLangSpec.4.10.6.pdf">GLSL 4.10 spec</a></li> <li><a href="http://www.khronos.org/files/opengl41-quick-reference-card.pdf">GL 4.1 / GLSL 4.10 Cards</a></li> <li><a href="http://www.khronos.org/opengles/sdk/docs/reference_cards/OpenGL-ES-2_0-Reference-card.pdf">ES 2.0 / ESSL 1.0 Cards</a></li> </ul> <h3>Presentations</h3> <ul> <li><a href="../../doc/siggraph2010/jogamp-siggraph2010.pdf">Siggraph 2010</a></li> </ul> <h3>Archive</h3> <ul> <li><a href="BOF-3908-JOGL-slides.pdf"> JavaOne 2007 BOF Slides</a></li> <li><a href="bof0899.pdf">JavaOne 2006 BOF Slides</a></li> <li><a href="ts1361.pdf">JavaOne 2004 Slides</a></li> <li><a href="2125.pdf">JavaOne 2003 Slides</a></li> <li><a href="3167.pdf">JavaOne 2002 Slides</a></li> <li><a href="http://jausoft.com/gl4java/">GL4Java</a></li> </ul> </div> <div id="text"> <h3>Overview</h3> <p> The JOGL project hosts the development version of the Java™ Binding for the OpenGL® API, and is designed to provide hardware-supported 3D graphics to applications written in Java. </p> <p> JOGL provides full access to the APIs in the OpenGL 1.3 - 3.0, 3.1 - 3.3, ≥ 4.0, ES 1.x and ES 2.x specification as well as nearly all vendor extensions. <a href="../doc/Overview-OpenGL-Evolution-And-JOGL.html">OpenGL Evolution & JOGL</a> (<a href="../doc/bouml/html-svg/fig128069.svg">UML</a>) gives you a brief overview of OpenGL, it's profiles and how we map them to JOGL. </p> <p> JOGL integrates with the AWT and Swing widget sets, as well with custom windowing toolkits using the NativeWindow API. <a href="../doc/NEWT-Overview.html">JOGL also provides it's own native windowing toolkit, NEWT</a>. </p> <p> Quick Version Info: Current [ <a href="../../deployment/jogamp-current/jogl-applet-version.html">Applet</a>, <a href="../../deployment/jogamp-current/jogl-application-version.jnlp">Application</a> ], Next [ <a href="../../deployment/jogamp-next/jogl-applet-version.html">Applet</a>, <a href="../../deployment/jogamp-next/jogl-application-version.jnlp">Application</a> ]. </p> <p> Please see the <a href="../../deployment/jogamp-current/jogl-test-applets.html"><b>JOGL Tests</b></a> (<a href="../../deployment/jogamp-next/jogl-test-applets.html"><i>next version</i></a>) and <a href="../../jogl-demos/www"><b>JOGL demos</b></a> for illustrations of advanced OpenGL techniques now possible with the Java platform. </p> <h3>Featured Projects</h3> <p> The following are a few examples of projects and products using JOGL. To have your project featured here, please email the <a href="../../wiki/index.php/Maintainer_and_Contacts">project maintainers</a>. </p> <table border="0" cellpadding="0" cellspacing="1" width="100%"> <tbody> <tr> <td valign="top" width="100%"> <table border="0" cellpadding="5" cellspacing="1" width="100%"> <tbody> <tr> <td > <table border="0" cellspacing="15"> <tbody> <tr> <td width="50%"> <a href="http://worldwind.arc.nasa.gov/java/"><img src="worldwind.jpg" width="160" height="159" align="left" alt="World Wind"></img>NASA World Wind Java</a> provides next-generation 3-D virtual globe technology for applications written in the Java programming language. It supplies a suite of open-source components that developers include in their own applications, providing virtual globe functionality to any application that can benefit from it. World Wind Java's components perform as well as, or better than, any other known implementation and utilize the OpenGL API for 3-D graphics via JOGL. See WWJ Technical Lead Tom Gaskins' <a href="http://developers.sun.com/learning/javaoneonline/j1sessn.jsp?sessn=TS-3489&yr=2007&track=2">JavaOne 2007</a> presentation on World Wind Java and the DiSTI Corporation's <a href="http://www.disti.com/Products/demonstrations/java.html">F-16 flight simulator</a> built using World Wind Java. </td> <td > <a href="http://openendedgroup.com/field"><img src="field.png" width="160" height="159" align="left" alt="Field"></img>Field</a> is an open-source development environment for digital art and experimental code writing. Built around the needs of programmers that manipulate images, make animations and compose music, Field seeks to tie text-based programming with ad hoc visual metaphors. Field uses Python and other programming languages and wants to be integrated into your own personal code-base. And it comes with special support for the <a href="http://processing.org/">Processing</a> environment. Field uses JOGL for its UI and its built-in drawing system; it provides a JOGL-based scene-graph library for 3D visualization. </td> </tr> <tr> <td width="50%"> <a href="http://www.madlix.com"><img src="madlix.png" width="160" height="160" align="left" alt="Madlix"></img>MADLIX</a> lets users insert 3D-content in web pages, blogs, Google pages, community presentations and more. MADLIX is JOGL-powered and runs smoothly inside all Java-enabled browsers, with no need for custom plug-ins or application installation. The <a href="http://www.madlix.com">on-line gallery</a> features high-quality content ready for insertion. MADLIX is accompanied by the MADLIX exporter tool enabling 3D artists to directly export their 3D artwork from Autodesk Maya to the MADLIX gallery. The exporter features pre-view functionality as well as a standalone viewer, supporting the MADLIX file format and the open standard file format COLLADA. </td> <td > <a href="http://bytonic.de/html/jake2.html"> <img src="jake2.jpg" width="160" height="128" align="left" alt="Jake2"></img>Jake2</a> is a port of id Software's GPL'd Quake II engine from C to Java done by <a href="http://bytonic.de/">bytonic software</a>. You can run the game via <a href="http://bytonic.de/html/jake2_webstart.html">Java Web Start</a> with <b>no manual installation</b> on all of JOGL's supported platforms. </td> </tr> <tr> <td width="50%"> <a href="http://volumeviewer.kenai.com/"> <img src="http://volumeviewer.kenai.com/thumbnail.png" width="160" height="120" align="left" alt="Volume Viewer"></img>Volume Viewer</a> is an open source renderer for 3D volumetric data. It provides tools for coloring your model, cutting away pieces, and viewing it from any angle. It can cast shadows within the model for extra realism. You can even upload your own volumetric data and view it in real time. </td> <td > <a href="http://netbeans-opengl-pack.dev.java.net/"> <img src="NetBeansOpenGLPackLogo160.png" width="160" height="159" align="left" alt="NOGL Pack logo"></img> The NetBeans OpenGL Pack</a> provides an easy to use OpenGL development environment integrated into NetBeans. It supplies modules like an GLSL shader editor, hardware compiler/linker integration and tools for displaying hardware information. The pack ships ready to run JOGL (JSR 231) demo projects and all OpenGL samples of the OpenGL Programming Guide (also known as the Red Book). </td> </tr> <tr> <td width="50%"> <a href="http://www.insparia.com/"><img src="insparia.jpg" width="160" height="160" align="left" alt="insparia image"></img> Insparia</a> was created to help people easily visualize, construct and track information about a 3d environment online. Shape and texture importing as well as a robust renderer will be available in the final commercial version. Insparia uses JOGL to allow the user to construct and interact with their 3d environment in real-time. Please note that Insparia is in alpha testing. Feedback is appreciated. </td> <td > <a href="http://www.scilab.org/"><img src="scilab.png" width="160" height="159" align="left" alt="scilab image"></img> Scilab</a> is a free scientific software package for numerical computations providing a powerful open computing environment for engineering and scientific applications. It has sophisticated data structures, an interpreter and a high level programming language. It also integrates a 2-D and 3-D plotting module designed to visually represent and understand complex data. Fully integrated within the Scilab's Swing UI, the plotting module is based on JOGL, allowing it to take advantage of the OpenGL accelerated graphics. </td> </tr> <tr> <td width="50%"> <a href="http://www.brightideassoftware.com/Pebbles/PebblesHome.aspx"> <img src="pebbles.png" width="160" height="160" align="left" alt=""></img> OneStone® Pebbles</a> are a new series of calculus visualization tools developed by <a href="http://www.brightideassoftware.com/">Bright Ideas Software®</a>. Designed from the ground up with input from education professionals, these unique tools meld current educational theory with state of the art graphics technology in consistent, easy-to-use packages. Each 'Pebble' in the series is a stand-alone program designed to illustrate a specific topic in the calculus syllabus. While the topic of each Pebble is different, the experience of using each remains as constant as possible, and features several elements identified as contributing to the development of a deeper understanding of dynamic covariant relationships. The Pebbles use JOGL for their interactive 3D rendering. Try the <a href="http://www.brightideassoftware.com/Pebbles/CurveFamilies.aspx"> Curve Families</a> and <a href="http://www.brightideassoftware.com/Pebbles/SurfacesOfRevolution.aspx">Surfaces of Revolution</a> examples! </td> <td > <a href="http://www3.math.tu-berlin.de/jreality"><img src="viewerVR.png" width="160" height="160" align="left" alt="jreality"></img> jReality</a> is an open-source, full-featured 3D scene graph package designed for but not limited to mathematical visualization. It provides several backends, including a JOGL one; it is thread-safe; it has a flexible shading model based on an attribute-inheritance mechanism in the scene graph; device-independent user interaction; support for true 3D audio; many support classes for transformations and geometry; a plugin system for assembling custom viewers; <a href="http://www3.math.tu-berlin.de/jreality/phpbb/">an active forum</a> and a growing <a href="http://www3.math.tu-berlin.de/jreality/mediawiki/index.php/Developer_Tutorial">set of tutorial examples</a> to help developers interested in using jReality to solve their 3D problems. </td> </tr> <tr> <td width="50%"> <a href="https://zg3d.dev.java.net/"><img src="zg3d.png" width="160" height="160" align="left" alt=""></img> ZG3D</a> is an open source project that uses JOGL for visualizing 3D geometries with the emphasis of plotting scientific data in a web application. Geometry objects in an XML file or string can be dynamically loaded and removed. An HTML document may call ZG3D functions through JavaScript and may define JavaScript functions to receive messages from ZG3D, which makes it very easy and flexible to embed interactive 3D web visualization. The software is developed at the <a href="http://www-cger.nies.go.jp/index.html">Center for Global Environmental Research</a>, Japan, for the advanced data visualization of the <a href="http://db.cger.nies.go.jp/g3db/ggtu/trajectory.html">Global Greenhouse Gases Database</a>. </td> <td width="50%"> <a href="http://www.codededge.com"><img src="elflightengine-160x122.png" width="160" height="122" align="left" alt="elflight engine"></img> The Elflight Engine</a> is a games engine designed for the web. It supports hardware accelerated 3D games and applications in a web browser, with the ability to import assets from major 3D packages such as Maya and 3D Studio. The focus of the engine's architecture is minimal startup time, fast streaming, local caching and collaborative real-time editing. The Elflight Engine is multi-user and so lends itself to the development of virtual worlds and MMOs. </td> </tr> <tr> <td width="50%"> <a href="http://www.fusion-laboratory.de/"><img src="fusion-laboratory.jpg" width="160" height="160" align="left" alt="Fusion Laboratory"></img>The Fusion Framework</a> enables Swing components to be extended with 3D content via JOGL. In general the 3D content will show up in layers on top of the corresponding Swing component. Many utility functions are integrated to help the developer build components. For example, the 3D content may be calibrated to the corresponding component's bounds. In addition, the system provides a simple scenegraph, Swing-like mouse interaction, and low-level animation support, as well as GLSL shaders and .obj file loading. The demo page contains several Java Web Start applications which demonstrate the abilities of the framework; please fill out the web form to help evaluate the components' usefulness. </td> <td width="50%"> <a href="http://www.artofillusion.org/"><img src="artofillusion.jpg" width="160" height="117" align="left" alt="Art Of Illusion"></img> Art of Illusion</a> is a free, open source 3D modelling and rendering studio. Many of its capabilities rival those found in commercial programs. Some of the highlights include subdivision surface based modelling tools, skeleton based animation, and a graphical language for designing procedural textures and materials. It uses JOGL for real-time OpenGL rendering in its modeling views. </td> </tr> <tr> <td width="50%"> <a href="http://www.avengina.org/"><img src="avengina.jpg" alt="Avengina" align="left" height="99" width="160"></img>Avengina</a> is a realtime 3D graphics engine which is designed for the execution as a Java applet. Alternatively it can be launched as a Java Webstart application outside the browserwindow. The software provides the possibility to exhibit texts and images in virtual galleries. Regarding the control and behaviour of the avatar it's redolent of a game engine. The graphics rendering system bases on per-pixel lighting and supports normal mapping, specular lighting and stencil volume shadows. Avengina uses JOGL for realtime rendering. </td> <td width="50%"> <a href="http://chronotext.org/"><img src="chronotext.jpg" width="160" height="120" align="left" alt="chronotext"></img> chronotext</a> is a series of visual design experiments involving animated text and 3D objects and surfaces. Several examples can be run on-line via <a href="http://chronotext.org/scriptorium/behind/index.htm">Java Web Start</a>. See the <a href="http://www.chronotext.org/mapping/">latest experiments</a> of mapping text on to real 3D surfaces. </td> </tr> <tr> <td width="50%"> <a href="http://www.sculpteo.com"><img src="sculpteo_3_robot_72dpi_sm.jpg" width="160" height="120" align="left" alt="sculpteo"></img> Sculpteo</a> offers a 3D printing service, fast and available for everyone. Starting from a 3D design, Sculpteo makes a specific object : interior decoration, characters, robots, miniatures, models, mechanic objects... </td> <td width="50%"> <a href="http://www.fenggui.org/"><img src="fenggui.jpg" width="160" height="127" align="left" alt="FengGUI"></img> FengGUI</a> is a graphical user interface (GUI) application programming interface (API) based on OpenGL. FengGUI provides all typical GUI components like buttons, sliders, trees, text areas, frames, tabs, etc. which are required to build a complete GUI system. Since it is based on OpenGL, FengGUI fits well in multimedia and game environments. </td> </tr> <tr> <td width="50%"> <a href="http://www.simulation.com/products/glstudio/glstudio.html"><img src="glstudio.jpg" width="160" height="135" align="left" alt="GL Studio"></img> GL Studio</a> is an object oriented rapid application development tool that allows a user to graphically combine photographs, 3D models and behavior logic to create advanced 2D and 3D human machine interfaces. GL Studio generates Java or C++ source code which can then be integrated into the user’s application as a user interface. <a href="http://www.simulation.com/products/glstudio/java/java.html">Java code</a> generated with GL Studio can be deployed using javax.swing.JPanel, java.awt.Canvas and JavaBeans. GL Studio uses OpenGL for rendering and GL Studio for Java uses the JOGL API. </td> <td width="50%"> <a href="http://impact.sourceforge.net/"><img src="impact.jpg" width="160" height="129" align="left" alt="Impact"></img> Impact</a> is a complete finite element suite including preprocessor, solver and postprocessor which is useable for simulating dynamic events such as car crashes or stamping of metal sheets. The suite allows 3D modelling, solving and viewing of simulation results, all in OpenGL accelerated graphics through the use of JOGL. </td> </tr> <tr> <td width="50%"> <a href="http://code.google.com/p/jzy3d/"> <img src="http://martin.pernollet.free.fr/cv/projects/jzy3d/demo_ring_surface.jpg" width="160" height="120" align="left" alt="Jack Flowers"></img> Jzy3d</a> stands for Java Easy 3d, and allows a rapid display of 3d scientific data. User can define z=f(x,y) functions binded to (customizable) colormaps, as well as rendering predefined simple 3d shapes programmaticaly or from csv files. One can moreover add pre/post renderers for adding java2d layers to the 3d scene. Jzy3d provides a simple bridge to AWT, SWT, or Swing, and has already been integrated with success in Eclipse RCP and Swing professionnal applications by the company MASA Group. The API has been written with the goal to hide the burden of working with OpenGL, 3d polygon ordering and transparency management. </td> <td width="50%"> <a href="http://mbt.sdsc.edu/"><img src="mbt.jpg" width="160" height="122" align="left" alt="Molecular Biology Toolkit"></img></a>The <a href="http://mbt.sdsc.edu/">Molecular Biology Toolkit</a> is a Java-based protein visualization and analysis toolkit. The toolkit provides classes for efficiently loading, managing and manipulating protein structure and sequence data. The MBT also provides a rich set of graphical 3D and 2D visualization components which can be easily "plugged together" to produce applications having sophisticated graphical user interfaces. Some MBT-based visualization tools are <a href="http://www.pdb.org/">ProteinWorkshop</a> (<a href="http://spdc.sdsc.edu/iedb/protein_workshop/viewer7.php">webstart demo</a>), <a href="http://www.immuneepitope.org/">EpitopeViewer</a> (<a href="http://spdc.sdsc.edu/iedb/epitopeViewer/viewer_jogl333.php">webstart demo</a>), and <a href="http://sirius.sdsc.edu/">Sirius</a>. </td> </tr> <tr> <td width="50%"> <a href="http://processing.org/"><img src="processing.jpg" width="160" height="158" align="left" alt="processing"></img> Processing</a> is an open source programming language and environment for people who want to program images, animation, and sound. It is used by students, artists, designers, architects, researchers, and hobbyists for learning, prototyping, and production. Processing is developed by artists and designers as an alternative to proprietary software tools in the same domain. It uses JOGL for its hardware accelerated 3D rendering support. </td> <td width="50%"> <a href="http://www.specknet.org/dev/specksim"><img src="specksim.jpg" width="160" height="117" align="left" alt="SpeckSim"></img> SpeckSim</a> is a behaviour-level simulator for networks of small, resource-constrained devices with sensing, computation and communication capabilities. Intended as a testbed for distributed algorithms, the main design goal was ease of extension. To this end, almost all aspect of the simulator can be customised: Node behaviour, communication characteristics, placement and motion; visualisation rendering and interaction and statistic generation. </td> </tr> <tr> <td width="50%"> <a href="http://3d-alignment.eu"><img src="strap.jpg" width="160" height="118" align="left" alt="STRAP"></img></a> With <a href="http://3d-alignment.eu">STRAP</a> you can align your proteins by sequence and 3D-structure. STRAP simultaneously displays 3d-structures, amino acid sequence alignment and nucleotide sequences. It has powerful annotation features. </td> <td width="50%"> <a href="http://www.insightmachines.com/en/vehicleDynamicsEngine.shtml"> <img src="vehicle.jpg" width="160" height="160" align="left" alt=""></img>Vehicle Dynamics Engine Demo</a> is a Java Web Start demonstration of a 3D physics engine developed by <a href="http://www.insightmachines.com/">Insight Machines</a>. The engine is designed especially for car games. The demo uses JOGL and employs such techniques like shadow casting using the stencil buffer. </td> </tr> <tr> <td width="50%"> <a href="http://www.vlsolutions.com/"> <img src="vldocking.jpg" width="160" height="113" align="left" alt="VLDocking"></img>VLDocking</a> is a set of Java components that helps the Swing developer to build applications with Docking capabilities, and even raise existing applications to higher standards. It supports docking via drag and drop, enhanced toolbars, closable tabs, and more. It fully supports heavyweight components such as JOGL's GLCanvas in a docking environment. </td> <td width="50%"> <a href="http://www.nascar.com/trackpass/about/raceview/"><img src="raceview.jpg" width="160" height="92" align="left" alt=""></img> RaceView</a> from NASCAR / NEXTEL, part of the <a href="http://www.nascar.com/trackpass/">TrackPass</a> package, puts you in the race. Control the virtual camera angle, listen to the driver and team, and see crucial statistics and times, all in real time as the race goes on. RaceView uses JOGL for its 3D rendering. </td> </tr> <tr> <td width="50%"> <a href="http://www.eclipse.org/gef3d/"><img src="http://wiki.eclipse.org/images/thumb/b/be/Gef3d_sample_ecore3D.png/800px-Gef3d_sample_ecore3D.png" width="160" height="94" align="left" alt="GEF3d"></img> GEF3D</a> is an Eclipse GEF extension bringing 3D to diagram editing. That is with GEF3D you can create 3D diagrams, 2D diagrams and combine 3D with 2D diagrams. GEF3D extends GEF by providing 3D enabled draw and controller classes. Instead of drawing 2D figures, you can now draw 3D figures. Existing GEF-based 2D editors can be embedded into 3D editors with minimal effort. </td> <td width="50%"> <a href="http://gephi.org/"><img src="gephi.jpg" width="160" height="102" align="left" alt="Gephi"></img> Gephi</a> is a visualization and exploration platform for all kinds of networks and complex systems, dynamic and hierarchical graphs. </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </td> </tr> </tbody> </table> </div> </div> <div id="footer"> <div id="footer_left"> <span>JogAmp.org</span> by <a href="../../">http://jogamp.org</a> is licensed under a <br/> <a href="http://creativecommons.org/licenses/by/3.0/us/">Creative Commons Attribution 3.0 License</a>. </div> </div> </div> </body> </html>