The integration of Weighted Blended Order Independent Transparency (WBOIT) into the Tensor engine, an OpenGL-based proprietary engine, was a journey of exploration and learning. The primary challenge was deciphering the intricacies of the algorithm. However, with diligent study and perseverance, this obstacle was soon overcome.
After evaluating various methods such as depth peeling, A-buffer approximations, and stochastic transparency, the choice was made to implement Weighted Blended OIT. This method stands out due to its ability to render non-refractive, monochrome transmission through surfaces that themselves have color, without requiring sorting or new hardware features. It computes the coverage of the background by transparent surfaces exactly, but only approximates the light scattered towards the camera by the transparent surfaces themselves.
The implementation of Weighted Blended OIT resulted in fast transparency rendering without the need for sorting. However, it's worth noting that while this method is efficient, it is not physically based. This means that while it can produce visually pleasing results, it may not accurately represent certain physical phenomena.
Looking ahead, there are several potential improvements and features to consider. Given that the current implementation supports reflections, the logical next step would be to incorporate refractions. This would further enhance the realism and visual complexity of the rendered scenes.
In conclusion, the integration of Weighted Blended OIT into the Tensor engine was a worthwhile endeavor. Despite the challenges encountered. The journey, though not without its difficulties, was a valuable learning experience and has paved the way for future enhancements.
Here are some images that demonstrate the results of my OIT implementation.
Click on an image to view it in bigger size.