Order Independent Transparency (OIT) in computer graphics programming terminology denotes any technique that can correctly render overlapping semi-transparent objects without having to sort them before they are being rendered. Rendering semi-transparent objects has always been a problem because the blending operation is order dependent: when a semi-transparent fragment is rendered, the underlying color (i.e. the background) is crucial for the final color to be correct.
OIT is a new option that can simply be enabled in Creo Parametric 2.0. With OIT, Creo Parametric 2.0 allows for pixel accurate rendering of overlapping semi-transparent objects without having to sort them before they are being rendered, providing up to 10 times performance of blended rendering in PRO/Engineer Wildfire 5.0 compared to when rendering transparency in Creo Parametric 2.0. This translates into less time waiting for your model to render and increased productivity over the long run.
This technique is easy to implement and add to an existing rendering pipeline: everything can be rendered as usual, semi-transparent or not. The technique here is fully implemented on the AMD FirePro professional graphics board, which totally frees the CPU from multiple render passes or face sorting. OIT only works with FirePro cards.
OIT assembles a pixel-accurate representation of the model and its surrounding geometry while maintaining user interactivity and visual quality. This creates a more practical transparent 3D viewpoint to continuously work within, helping improve the sense of design intuition and aid in better decision-making throughout the product development stages. It is also very accurate since the actual sorting that happens on the GPU is done per fragment.
The technique has a very low impact on the existing rendering pipeline and is therefore very easy to integrate in an existing rendering engine. As far as performance goes, the results speak for themselves: it achieves up to 10x faster frame rate compared to face sorting and regular blending.
How It Works
The technique is based on the usage of an A-buffer, a simple list of fragments per pixel, in its simplest form as a linked list of fragments per pixel. First, all primitives are rasterized to the A-Buffer, writing some color value and some depth value (Red-Green-Blue-Alpha-Depth), one index buffer (RAT) is used to keep the number of fragments in this pixel. Finally, a full screen shader pass will sort that A-Buffer according to the depth value and do the blending for each fragment according to their sorted indices.
Viewport performance with OIT enabled has been measured to increase up to ten times versus OIT disabled with transparency visual quality dramatically improved with pixel-accurate transparency rendering, solving visual artifact problems and z-ordering issues seen without OIT enabled. AMD developed the OIT implementation for PTC and the Creo Parametric 2.0 community, showing the company’s commitment to the market as an innovator – not just a product company.
How GPC-Based Accelerator Technology and Multi-Threading Support Can Improve TurboCAD and DoubleCAD Performance
In the past year, the developers of TurboCAD have been taking advantage of hardware enhancements and overall processing power increases on the PC in order to significantly improve the performance of our CAD applications.
GPU-Based Accelerator Technology
We started by taking advantage of new, GPU-based accelerator technology that is found on newer graphics boards from manufacturers such as AMD/ATI and Nvidia. In order to do this, we integrated a relatively new graphics middleware, Redsdk, dedicated to display visualization and rendering available from the company, Redway3D.
With Redsdk now integrated into TurboCAD and DoubleCAD, we have seen overall speed enhancement over previous versions of these products of up to 60X in both 2D and 3D models. These speed gains in wireframe, hidden line, and shaded, draft rendering modes, let the user concentrate on their design without the disruption caused by slow zooms, refreshes and regenerations. The performance enhancement is particularly evident when working with larger sized models.
More recently, we’ve added multi-threading support to both editing of solid models and to draft and photorealistic rendering to our TurboCAD Pro product. Multi-threading takes advantage of multi core processors, so the turnaround time on calculations is much faster.
While TurboCAD has long supported multi-core processing, the ability to do multi-threaded processing across multiple CPU cores means that mathematically intensive processes such as photorealistic rendering and Boolean operations now take significantly less time. This improves the quality of CAD projects by quickly being able to view many different design iterations/schemes in less amount of time.
Performance is always an issue for CAD users. Your hardware’s ability to render complex designs on a display requires iterating through the pixels and calculating values for each of them. Large blocks of memory also are required to load images, perform filter operations and other high-end features. Additionally, when using these complex shapes, patterns, and images in a 3D application, it’s more difficult to achieve fast and reliable rendering. As hardware technology continues to improve, the CAD user can benefit in terms of speed, performance and advanced features.
Author: Bob Mayer, Chief Operating Officer, IMSI/Design