{"title":"Vulkan在c#中用于多平台实时图形","authors":"Dávid Szabó, Z. Illés","doi":"10.1109/ICETA51985.2020.9379169","DOIUrl":null,"url":null,"abstract":"Nowadays almost every computer device contains a graphics processor. Large desktop PCs have dedicated graphics cards, laptops and even mobiles have integrated graphics units inside the CPU. To use and program these graphics units we need special libraries, the Graphics APIs. Usually these APIs are made in C or C++ to ensure low-level capabilities and 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 language. [1] The main goal of our research is the merging of these two worlds: We're examining the possibilities of the real-time graphical programming in .NET C# using the modern Vulkan graphics API. This paper presents methods of creating multi-platform real-time graphical libraries using Vulkan in .NET C#. We provide solutions for rendering onto common .NET UI frameworks with Vulkan and techniques for dealing with the low-level memory management required by the API. Furthermore, we determine the functional and performance differences between multiple runtimes and compilers.","PeriodicalId":149716,"journal":{"name":"2020 18th International Conference on Emerging eLearning Technologies and Applications (ICETA)","volume":null,"pages":null},"PeriodicalIF":0.0000,"publicationDate":"2020-11-12","publicationTypes":"Journal Article","fieldsOfStudy":null,"isOpenAccess":false,"openAccessPdf":"","citationCount":"1","resultStr":"{\"title\":\"Vulkan in C# for Multi-Platform Real- Time Graphics\",\"authors\":\"Dávid Szabó, Z. Illés\",\"doi\":\"10.1109/ICETA51985.2020.9379169\",\"DOIUrl\":null,\"url\":null,\"abstract\":\"Nowadays almost every computer device contains a graphics processor. Large desktop PCs have dedicated graphics cards, laptops and even mobiles have integrated graphics units inside the CPU. To use and program these graphics units we need special libraries, the Graphics APIs. Usually these APIs are made in C or C++ to ensure low-level capabilities and 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 language. [1] The main goal of our research is the merging of these two worlds: We're examining the possibilities of the real-time graphical programming in .NET C# using the modern Vulkan graphics API. This paper presents methods of creating multi-platform real-time graphical libraries using Vulkan in .NET C#. We provide solutions for rendering onto common .NET UI frameworks with Vulkan and techniques for dealing with the low-level memory management required by the API. Furthermore, we determine the functional and performance differences between multiple runtimes and compilers.\",\"PeriodicalId\":149716,\"journal\":{\"name\":\"2020 18th International Conference on Emerging eLearning Technologies and Applications (ICETA)\",\"volume\":null,\"pages\":null},\"PeriodicalIF\":0.0000,\"publicationDate\":\"2020-11-12\",\"publicationTypes\":\"Journal Article\",\"fieldsOfStudy\":null,\"isOpenAccess\":false,\"openAccessPdf\":\"\",\"citationCount\":\"1\",\"resultStr\":null,\"platform\":\"Semanticscholar\",\"paperid\":null,\"PeriodicalName\":\"2020 18th International Conference on Emerging eLearning Technologies and Applications (ICETA)\",\"FirstCategoryId\":\"1085\",\"ListUrlMain\":\"https://doi.org/10.1109/ICETA51985.2020.9379169\",\"RegionNum\":0,\"RegionCategory\":null,\"ArticlePicture\":[],\"TitleCN\":null,\"AbstractTextCN\":null,\"PMCID\":null,\"EPubDate\":\"\",\"PubModel\":\"\",\"JCR\":\"\",\"JCRName\":\"\",\"Score\":null,\"Total\":0}","platform":"Semanticscholar","paperid":null,"PeriodicalName":"2020 18th International Conference on Emerging eLearning Technologies and Applications (ICETA)","FirstCategoryId":"1085","ListUrlMain":"https://doi.org/10.1109/ICETA51985.2020.9379169","RegionNum":0,"RegionCategory":null,"ArticlePicture":[],"TitleCN":null,"AbstractTextCN":null,"PMCID":null,"EPubDate":"","PubModel":"","JCR":"","JCRName":"","Score":null,"Total":0}
Vulkan in C# for Multi-Platform Real- Time Graphics
Nowadays almost every computer device contains a graphics processor. Large desktop PCs have dedicated graphics cards, laptops and even mobiles have integrated graphics units inside the CPU. To use and program these graphics units we need special libraries, the Graphics APIs. Usually these APIs are made in C or C++ to ensure low-level capabilities and 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 language. [1] The main goal of our research is the merging of these two worlds: We're examining the possibilities of the real-time graphical programming in .NET C# using the modern Vulkan graphics API. This paper presents methods of creating multi-platform real-time graphical libraries using Vulkan in .NET C#. We provide solutions for rendering onto common .NET UI frameworks with Vulkan and techniques for dealing with the low-level memory management required by the API. Furthermore, we determine the functional and performance differences between multiple runtimes and compilers.