DDJ, September 1999 -- Graphics Programming


[September cover]

FEATURES

JAVA 2 GRAPHICS RENDERING

by Torpum Jannak

The optimized graphics-rendering pipeline Torpum presents here addresses performance concerns you may encounter when developing scientific visualization, action-based games, or other resource-demanding Java 2 applications.

GAMMA CORRECTION

by Angus Dorbie

Gamma correction is essential for good quality image generation. Angus examines the problems associated with gamma correction, focusing on why it is important to simulation in particular.

MMX TECHNOLOGY CODE OPTIMIZATION

by Max I. Fomitchev

Max examines MMX-code optimization techniques and shows how you can achieve maximum speed on the Intel Pentium II and AMD K6-2 processors.

WRITING HIGH-PERFORMANCE GRAPHICAL JAVA COMPONENTS

by Harold Shinsato

Harold presents tips and tricks for writing high-performance, computationally intensive, graphical Java components.

PORTING COMMUNICATIONS SOFTWARE TO WINDOWS CE

by Oliver Diener

According to Microsoft, porting Win32 apps to Windows CE is a piece of cake. The reality is much different, however. Oliver shares some hard-won secrets he discovered when porting the LUCA data communications framework from Windows 95/NT to CE.

EMBEDDED SYSTEMS

DEVELOPING CUSTOM NETWORK PROTOCOLS

by Curtis Schwaderer

Although custom protocols are common in the world of real-time embedded systems, creating them can be a problem. For Curtis, the solution is to create protocols that are interoperable with other protocols written for the same framework.

INTERNET PROGRAMMING

EVENT-BASED SERVERS IN TCL

by Stephen Uhler

Event-based programming is a powerful alternative to threads when building high-speed network servers. Stephen implements a web server in Tcl that is based on events and callbacks.

PROGRAMMER'S TOOLCHEST

WiT & HIERARCHICAL TREES

by Frank Höwing

WiT, a visual-programming package from Logical Vision, was originally designed for designing and developing image-processing algorithms and applications. Frank uses it to create HopTree, a Visual Basic app that recursively scans a file and creates a tree view of the hierarchical operators used.

COLUMNS

PROGRAMMING PARADIGMS

by Michael Swaine

Michael's column this month was a long time coming -- but was worth the wait.

C PROGRAMMING

by Al Stevens

After reporting on his trip to Amsterdam and examining Open Source with an open mind, Al introduces Storch, a software machine that plays back WAV files and includes an audio record function.

JAVA Q&A

by Andy Wilson

The Java Virtual Machine Profiler Interface lets you build tools that collect events about the state of the virtual machine. These events then let you gather information about how the VM and your Java application actually run.

ALGORITHM ALLEY

by Thomas E. Janzen

Thomas examines a trio of algorithms for generating simple -- yet precise -- line drawings from complicated -- yet imprecise -- 3D models.

DR. ECCO'S OMNIHEURIST CORNER

by Dennis E. Shasha

Ecco and Liane have their heads in the clouds once again, as they try to solve space station designer Jordan Tyler's latest cargo port problems.

PROGRAMMER'S BOOKSHELF

by Lou Grinzo and Laryn Fernandes

Lou examines Open Sources: Voices of the Open Source Revolution, edited by Chris DiBona, Sam Ockman, and Mark Stone, while Laryn takes a look at the third edition of David M. Geary's Graphic Java 2: Mastering the JFC.

FORUM

EDITORIAL

by Jonathan Erickson

LETTERS

by you

NEWS & VIEWS

by the DDJ staff

OF INTEREST

by Eugene Eric Kim

SWAINE'S FLAMES

by Michael Swaine