TY - GEN
T1 - Embedding real-time rendered frames from Vulkan and OpenGL into.NET C# UI
AU - Szabo, David
AU - Illes, Zoltan
N1 - Publisher Copyright:
© 2022 IEEE.
PY - 2022
Y1 - 2022
N2 - Real-Time graphics applications surrounds us in our everyday life and this area of softwares just keep growing with newer systems, devices, and technologies. Almost every device starting from large desktop PCs down to small, even embedded devices contains a graphics processor (GPU). These graphics units are programmable using Graphics APIs and usually we use these libraries from C or C++ thanks to their low-level capabilities and because of the need for high performance. In the meantime, the.NET supported C# language evolved greatly in the past years. C# is now a fast, powerful, and multi-platform technology, especially with the newly arriving.NET 5 and 6 frameworks.We want to merge these two worlds in our research: We're developing a multi-platform C# library which supports the implementation of custom low-level rendering algorithms. Using our library, the rendering algorithm can be implemented once in a shared codebase and the final application will choose the used Graphics API to execute this implementation based on the current platform and device capabilities. The rendered frames can be embedded into well-known.NET C# UI frameworks without the need of creating additional windows just for presenting the rendered images.In this paper, we are proposing methods and considerations for decoupling the platform specific UI, the Graphics API implementation, and the rendering algorithm from each other. We provide solutions for presenting frames rendered by Vulkan or OpenGL Graphics APIs and embedding them into various.NET UI frameworks without changing the core rendering C# algorithm.
AB - Real-Time graphics applications surrounds us in our everyday life and this area of softwares just keep growing with newer systems, devices, and technologies. Almost every device starting from large desktop PCs down to small, even embedded devices contains a graphics processor (GPU). These graphics units are programmable using Graphics APIs and usually we use these libraries from C or C++ thanks to their low-level capabilities and because of the need for high performance. In the meantime, the.NET supported C# language evolved greatly in the past years. C# is now a fast, powerful, and multi-platform technology, especially with the newly arriving.NET 5 and 6 frameworks.We want to merge these two worlds in our research: We're developing a multi-platform C# library which supports the implementation of custom low-level rendering algorithms. Using our library, the rendering algorithm can be implemented once in a shared codebase and the final application will choose the used Graphics API to execute this implementation based on the current platform and device capabilities. The rendered frames can be embedded into well-known.NET C# UI frameworks without the need of creating additional windows just for presenting the rendered images.In this paper, we are proposing methods and considerations for decoupling the platform specific UI, the Graphics API implementation, and the rendering algorithm from each other. We provide solutions for presenting frames rendered by Vulkan or OpenGL Graphics APIs and embedding them into various.NET UI frameworks without changing the core rendering C# algorithm.
KW - C#
KW - NET
KW - OpenGL
KW - Real-Time
KW - Vulkan
UR - http://www.scopus.com/inward/record.url?scp=85134270182&partnerID=8YFLogxK
U2 - 10.1109/ICAECT54875.2022.9808071
DO - 10.1109/ICAECT54875.2022.9808071
M3 - Conference contribution
AN - SCOPUS:85134270182
T3 - 2022 2nd International Conference on Advances in Electrical, Computing, Communication and Sustainable Technologies, ICAECT 2022
BT - 2022 2nd International Conference on Advances in Electrical, Computing, Communication and Sustainable Technologies, ICAECT 2022
PB - Institute of Electrical and Electronics Engineers Inc.
T2 - 2nd International Conference on Advances in Electrical, Computing, Communication and Sustainable Technologies, ICAECT 2022
Y2 - 21 April 2022 through 22 April 2022
ER -