1999 25.08 2001

Vol.25 n°8 (#315) august 2000

(ddj_2000_08.jpg)

p.8 EDITORIAL

[author : Jonathan Erickson] #Edito

TABLE OF CONTENTS

FEATURES

p.21 INSIDE XBOX GRAPHICS

[author : Michael Abrash]

Microsoft's upcoming Xbox game console has some pretty impressive graphics capabilities. Michael ought to know — he's been developing the graphics internals for the past few months.

p.32 TRIANGLE INTERSECTION TESTS

[author : Eric Haines and Tomas Möller]

Our authors provide an alternative to the classic methods of testing whether a point is inside a triangle. This new technique is based on barycentric coordinates.

p.40 OPTIMIZING 3DNOW! REAL-TIME GRAPHICS

[author : Max I. Fomitchev]

One approach to pumping up real-time 3D graphics performance is AMD's 3DNow! technology, which adds floating-point SIMD extensions to the original x86 instruction set. Max examines 3DNow! technology, then provides guidelines for optimizing its performance even more.

p.48 AUGURAL IMAGE ZOOMING

[author : Wm. Douglas Withers]

Augural image zooming is a new method for zooming images with a minimum of computation, while keeping smooth regions smooth and sharp edges sharp.

p.60 AUTOMATED BUILDS

[author : Aspi Havewala]

Automated builds refer to a series of commands that can be executed to compile and link source code into its final deliverable format. Aspi discusses some advantages of automated builds, and suggests some features your builds can incorporate.

p.70 EXAMINING VMWARE

[author : Jason Nieh and Ozgur Can Leonard]

VMware is a virtual machine platform that provides an abstraction of x86 PC hardware so that multiple operating systems can run unmodified at the same time on a standard PC. Among other things, this means you can run Windows applications with Linux.

p.80 A LINUX IEEE 1394 CONFIGURATION ROM DECODER

[author : William F. Alexander]

William's DumpRom program is designed to read and decode the configuration ROM of 1394 peripherals. He presents the Linux implementation of DumpRom using an OHCI 1394 controller.

EMBEDDED SYSTEMS

p.86 RELIABILITY & EMBEDDED NETWORKS

[author : H. Thomas Richter]

Reliability requirements for embedded networks are more critical than with nonembedded networks. Thomas presents a new method for ensuring reliable communication between hosts in small networked environments.

INTERNET PROGRAMMING

p.98 DB FORMS: PHP, MYSQL, AND PHPLIB

[author : Darryl Ross and Con Zymaris]

Darryl and Con use the PHP server-side scripting engine, MySQL database engine, and PHPLIB class framework to build DB Forms, a reusable database framework for writing web applications.

PROGRAMMER'S TOOLCHEST

p.106 EXAMINING THE 3D GAME STUDIO TOOLKIT

[author : Clayton E. Crooks II]

3D Game Studio from Conitec is a Win32-based authoring system for creating interactive 3D applications. Clayton uses it to build a typical three-room world that includes actor movements.

COLUMNS

p.113 PROGRAMMING PARADIGMS

[author : Michael Swaine]

C.J. Date's new book What Not How: The Business Rules Approach to Application Development gets Michael thinking about Prolog, declarative programming, business rules, and the state of software development in general.

p.119 C PROGRAMMING

[author : Al Stevens]

You'd think that after 12 years, Al would figure out that complaining isn't worth the effort. But you have to hand it to him — he doesn't give up.

p.123 JAVA Q&A

[author : Alexandre Sieira Vilar]

Object pooling can be used very effectively to reduce the number of garbage collection executions in a Java application. And that reduction can deliver benefits in terms of reduced processor usage and the absence of unpredictable delays.

p.131 ALGORITHM ALLEY

[author : Laurence Marrie]

Alternating skip lists are an option anywhere balanced search trees are appropriate. Laurence presents a subset of std::set functionality using ASLs, and gives a basic space/time comparison against a typical red-black tree implementation.

p.141 DR. ECCO'S OMNIHEURIST CORNER

[author : Dennis E. Shasha]

Nefarious criminals might be able to foil robotic prison guards, but out-thinking Ecco and Liane is another task altogether.

p.145 PROGRAMMER'S BOOKSHELF

[author : Gregory V. Wilson]

Python, C++, and a lot more are on Greg's mind this month, as he examines The Quick Python Book, by Daryl Harms and Kenneth McDonald; Python Annotated Archives, by Martin C. Brown; Python Essential Reference, by David M. Beazley; Python Programming on Win32, by Mark Hammond and Andy Robinson; Efficient C++: Performance Programming Techniques by Dov Bulka and David Mayhew; Exceptional C++, by Herb Sutter; Core Jini, by W. Keith Edwards; Designing Web Usability, by Jakob Nielsen; Understanding Search Engines, by Michael W. Berry and Murray Browne; Toward Zero-Defect Programming, by Allan M. Stavely; and Game Architecture and Design, by Andrew Rollings and Dave Morris.

FORUM

p.10 LETTERS

[author : you]

p.18 NEWS & VIEWS

[author : Nicholas Baran]

p.150 OF INTEREST

[author : Shannon Cochran]

p.152 SWAINE'S FLAMES

[author : Michael Swaine]