Skip to main content

Juggling JOGL

Posted by daniel on March 19, 2004 at 3:29 AM PST

Chris Adamson continues his series on the Java APIs for OpenGL.

In the featured article Juggling JOGL, Chris "introduces the concepts in JOGL, the Java bindings to OpenGL, that are applicable to 2D gaming. We start with the handling of coordinate spaces and how they're scaled from the OpenGL world to the screen. Then we integrated JOGL's built-in Animator class to provide motion to our objects. Finally, we introduce three critical affine transformations that allow us to draw individual objects at arbitrary locations, sizes, and rotations."

The Java wrapper around the C calls is pretty thin and the resulting code feels a bit stiff. Chris sets up a display frame and fills it with animated balls. Because round balls have enough symmetry to mask some of the potential complexity, Chris also repeats the demonstration using arrowheads in place of circles. This, together with his first article, is a great way to get started with JOGL.


In
Also in Java Today
, read about BlackMamba, a semi-automatic email previewer and spam filter that Ashwin Jayaprakash developed and has written about in his Swing case study. He takes you through the development of this application and his separation of responsibilities into layers. Decisions such as packaging turn out to be important as are decisions about where to use patterns such as Dependency Inversion and Inversion of Control. If you can wait until J2SE 1.5, threading is going to become easier, but for now Ashwin advises: you need to take the time to learn about multithreading.

Jim Waldo isn't concerned that Jini is taking so long to catch on. In Jini Network Technology Fulfilling its Promise he says that Jini is being adopted and cautions that "here are still those who try to produce middleware that masks the difference between local and remote calls. And then there are those who try to avoid the problem by claiming that they are not subject to the errors that we talked about. I'm constantly amazed by people who say that they don't have to worry about the difference between local and remote computing because they use 'reliable message systems.'"


In today's Weblogs , Bob Lee has a nice trick that he uses to bring code examples into Apple's Keynote presentation tool. He uses iText to convert his source code to PDFs and drags the resulting file into Keynote which treats it as a vector image.

Attention webloggers There continues to be some sort of glitch in the system that is being addressed. For now to create a new
entry you should login and then go to the weblog home page.


In today's Projects and Communities ,
the JDDAC community links to the Embedlets is developing an open source community around a technology "to bring the very diverse Embedded Systems world and the Computer Science/Enterprise world together."

Visit the JavaPedia page on Java Web Sites and take a moment to add your favorites to the list. Maybe someone can add java.net.


In today's java.net News Headlines
:

Registered users can submit news items for the href="http://today.java.net/today/news/">java.net News Page using
our news submission
form
. All submissions go through an editorial review by news director
Steve Mallet before being posted to the site. You can also subscribe to
thejava.net
News RSS feed
.


Current and upcoming
Java Events
:

Registered users can submit event listings for the href="http://www.java.net/events">java.net Events Page using our href="http://today.java.net/cs/user/create/e"> events submission
form. All submissions go through an editorial review before being
posted to the site.


Archives and Subscriptions: This blog is delivered weekdays as the
Java
Today RSS feed
. All java.net members can subscribe to the email
updates for the site at the href="https://java-net.dev.java.net/servlets/ProjectMailingListList">
java-net Mailing Lists page. You must be logged in to subscribe
to
the javanet_Daily and javanet_Weekly lists. Also, once this page
is no longer featured as the front page of
java.net
it will be archived along with other past issues in the href="http://today.java.net/today/archive/">java.net Archive.