OpenGL News Archives
The aim of this OpenGL API-based game is to push all the stones to the level’s exit points as fast as You can. The level is won if you take all the stones to the exit points.
Xj3D is an open source API for developing an X3D and/or VRML 97 compliant browser. It is also the sample implementation and test bed for X3D. The M9 release adds a native OpenGL API renderer that is twice as fast as the Java3D version, and consumes significantly less memory. It also supports the full X3D Immersive profile, has a more user-friendly interface, converts from VRML 97 to X3D encodings, and supports Java Webstart so you can embed Xj3D onto a webpage for auto-installation.
The OpenGL SuperBible 3rd edition has a new co-author, and is TWICE the size of the 2nd edition! It includes coverage of all the latest OpenGL API features including the OpenGL Shading Language. The first set of chapters are a good way to introduce yourself to 3D graphics programming with OpenGL and provide the conceptual foundation on which the more advanced capabilities are based. The second part provides specific information about using OpenGL on Windows, MacOS X, and Linux/UNIX. Finally, the third part contains the newest features not just of OpenGL, but of 3D graphics hardware in general today. The OpenGL Shading Language, in particular, is the principal feature of OpenGL 2.0, and it represents the biggest advance in computer graphics in many years.
Jahshaka is a cross-platform, open source, real-time editing and effects system using the OpenML and OpenGL APIs. The new v1.9a8 adds support for real time image processing using both GPU and GPGPU algorithims, export of animation files., and a new Unicore technology which share one OpenGL API world space between all modules enabling Jahshaka to run on any workstation with only 16+mb of texture memory.
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.