The essence of simulating and designing optical systems using geometric optics lies in tracing light rays by simulating their real-world propagation behavior, namely, the Ray-Tracing algorithm. Depending on the application scenario, various implementation principles may apply. From an application perspective, ray tracing is mainly used in two fields: image rendering in computer graphics and simulation and design of optical systems. Within the context of optical system simulation and design, depending on the specific optical parameters to be analyzed, the algorithm can be categorized into sequential ray tracing and non-sequential ray tracing, balancing the need for rapid computation with the retrieval of raw data required for analysis metrics. Additionally, based on the comparison of optical extension at light sources and receivers in the optical system, as well as the degree of randomness due to extensive scattering in the system, the algorithm strategies can be further divided into forward ray tracing, reverse ray tracing, and hybrid ray tracing.
Among these algorithm branches, non-sequential forward ray tracing is relatively more aligned with actual physical processes and is more versatile, yet it is also more resource-intensive in terms of time and memory. Fortunately, thanks to the continuous improvement in computational power and advancements in software design philosophy, along with the development of fast intersection algorithms, Rayzen's non-sequential forward ray tracing algorithm achieves parity with leading benchmark software in computational accuracy and convergence, demonstrating comparable technical capability. In terms of computational speed, it can handle billions of ray intersections within 10 minutes on a single thread while maintaining parallel efficiency above 60% in multi-threading. In future development, we aim to create adaptive acceleration structures tailored to different types of optical systems, further enhancing simulation efficiency while maintaining computational accuracy and convergence.