OpenGL News Archives
Nvidia presentations from their 6800 Leagues Under the Sea developer event are available as slides in PDF format, along with a brief description. Topics include: what deferred shading is and how to implement it; all about high dynamic range rendering, including high-quality filtering and post-processing; how to use new Shader Model 3.0 features effectively; new OpenGL extensions that take advantage of Shader Model 3.0 features, as well as floating point filtering and blending; overview of the NVPerfHUD real-time performance tuning tool, and more.
GLIntercept is an OpenGL API function call interceptor that saves and tracks all OpenGL function calls, display list commands, and textures. It is useful for optimizing OpenGL API-based applications and games. The new v0.3 add logging of ARB/NV/GLSL vertex and fragment programs/shaders, function timers and stencil frame buffer pre and post render calls.
SketchUp is a deceptively simple, OpenGL API accelerated, tool for creating, viewing, and modifying 3D ideas quickly and easily on Windows and Mac OS X. The new SketchUp 4 adds Boolean modeling, texture stretching along any continuous surface, push or pull a surface along a path, make 2D models of people and landscaping elements appear to be 3D and always face the direction of viewer regardless of the orientation of the model, and scripting support using the Ruby lisp-like language.
Now that OpenGL ES has become established in the cell phone market, other industry sectors are showing interest including game consoles, which typically use proprietary APIs. A spokeswoman said Sony Computer Entertainment is investigating the use of OpenGL ES on its platforms. To date, Sony has used proprietary APIs that changed with each product generation, forcing developers to rewrite game code. The company’s next console will be its first to use the Cell processor will span multiple product generations so it will benefit from a common API.
ORSA is an interactive tool for scientific grade Celestial Mechanics computations. Asteroids, comets, artificial satellites, Solar, and extra-Solar planetary systems can be accurately reproduced, simulated, and analyzed. In the latest release, the OpenGL API support has been extensively rewritten, adding texture support, blending for orbits rendering, and user control on the clipping planes in perspective and orthographic projections. ORSA is written in C++, released under the GPL, and is available for Linux, Mac OS X and Windows.
Aquarius is an OpenGL API-based screensaver that uses a fast library with a small memory footprint, to support loading, streaming, transport control and rendering of different media types onto dynamic geometric schemes. Media types include Web pages, Windows Media, QuickTime, Flash, MPEG and many still image formats.
Bump mapping is a lighting technique that perturbs the normal vector of a surface on a per-pixel basis, using a texture map as input to model the perturbations. By using the perturbed normal for the lighting calculations, the apparent detail of the surface is greatly enhanced, without having to add extra geometric detail to the mesh. This article on bumpmapping discusses the original technique as developed by Jim Blinn, as well as several realtime implementations. The article also provides links to additional background information, useful tools, and implementations of the various techniques using the OpenGL API. The goal of this article is to introduce novice bump mappers to the most important realtime techniques, to explain the buzzwords that surround realtime bump mapping, and maybe also to dispell a myth or two.
Addison-Wesley has provided OpenGL.org with a sample chapter from The OpenGL Programming Guide 4th Edition (Redbook) for download (1.2MB PDF). This is the must-have book for every OpenGL programmer. The sample Chapter 9 covers texturing mapping. After reading this chapter you should be able to:
- Specify texture images in compressed and uncompressed formats
- Control how a texture image is filtered as it’s applied to a fragment
- Create and manage texture images in texture objects and, if available, control a high-performance working set of those texture objects
- Specify how the color values in the image combine with those of the fragment to which it’s being applied
- Supply texture coordinates to indicate how the texture image should be aligned with the objects in your scene
- Generate texture coordinates automatically to produce effects such as contour maps and environment maps
- Perform complex texture operations in a single pass with multitexturing (sequential texture units)
- Use texture combiner functions to mathematically operate on texture, fragment, and constant color values
- After texturing, process fragments with secondary colors
- Perform transformations on texture coordinates using the texture matrix
- Render shadowed objects, using depth textures
Crystal Space is an Open Source 3D Engine that uses the OpenGL API on Linux, Windows, and MacOS/X. v0.98r002 has much better support for advanced OpenGL features (shaders, vertex and fragment programs, stencil shadows, etc). In general Crystal Space has become faster and more mature. One important thing in this release is that the new renderer architecture is much more usable. It is still not enabled as default because some important parts are still missing but if you only need OpenGL and don’t depend on volumetric fog then it is strongly recommend to use the new renderer architecture. Other features include support for cal3d models (skeletal animation), a new terrain engine that supports splatting (combining multiple textures dynamically) and scattering, and updated and enhanced documentation.
Khronos has announced that it has created two new API initiatives as compliments to OpenGL ES and OpenML. The OpenVG API that will provide a low-level hardware acceleration interface for vector graphics libraries such as Flash and SVG on handheld devices. The OpenMAX API will standardize access to media processing primitives, used extensively in graphics libraries and video codecs such as OpenGL ES and MPEG-4, to rapidly and effectively make use of the full acceleration potential of new silicon.
This article provides an introduction to writing pixel shaders with the Cg shader programming language and using them in OpenGL with the ARB_fragment_program extension. It contains sample C and Cg code and is accompanied by a simple diffuse lighting demo with full source code.
The GP2 workshop, to be held the Saturday and Sunday before SIGGRAPH 2004 at the SIGGRAPH headquarter hotel, will explore current issues in general-purpose computing using graphics hardware. These issues include:
- Do GPUs have the potential of being a useful co-processor for a wide variety of applications? What are their algorithmic and architectural niches and can these be broadened?
- What are the major issues in terms of programmability, language and compiler support and software environments for GPUs?
- What are some of the future technology trends that can lead to more widespread use of GPUs?
J-Ball builds on the classic game Jezzball. It uses an OpenGL API -based engine for rendering. Ths site features screenshots and more free OpenGL programs.
Sun has announced that the source code for the core Java 3D API, vecmath, the Java 3D core
utilities, and the Java 3D program examples have been released under the Java Research and BSD licenses. Java3D supports OpenGL API-hardware acceleration.
Maya Unlimited, the 3D animation and visual fx tool will come to Mac OS X by late summer 2004, including all tools that are available to artists with Maya Unlimited 6. Maya Unlimited requires an OpenGL API hardware accelerator.