Kim, TaejoonHu, RuizhenCharalambous, Panayiotis2024-04-302024-04-302024978-3-03868-237-01017-4656https://doi.org/10.2312/egs.20241027https://diglib.eg.org/handle/10.2312/egs20241027This paper presents a method for embedding a rendering engine into different development environments with minimal API bindings. The method separates the engine interfaces into two levels: System APIs and User APIs. System APIs are the lowlevel functions that enable communication between the engine and the user environment, while User APIs are the high-level functions that provide rendering and beyond rendering functionalities to the user. By minimizing the number of System APIs, the method simplifies the adaptation of the engine to various languages and platforms. Its applicability and flexibility are demonstrated by the successful embedding the engine in multiple environments, including C/C++, C#, Python, Javascript, and Matlab. It also demonstrates its versatility in diverse forms such as CLI renderers, Web GUI framework-based renderers, remote renderers, physical simulations, and more, while also enabling the easy adoption of other rendering algorithms to the engine.Attribution 4.0 International LicenseCCS Concepts: Computing methodologies → RenderingComputing methodologies → RenderingA Highly Adaptable and Flexible Rendering Engine by Minimum API Bindings10.2312/egs.202410274 pages