The technology is simple. I was inspired by deltaengine and blader.
In the process, we saw blader and xnatouch Open Source Solutions and finally completed such a graphics core.
No matter whether it is deltaengine or xnatouch, they are all in the infinite pass, and I have gone further than them.
The architecture design is divided into two parts:
One is clgc, which reads drawings and files. Clgc encapsulates basic math library, texture operations, font operations, spritebatch, TTF parsing, JPG parsing, and PNG Parsing. Isolates the differences in file access methods on different platforms.
The underlying implementation is mainly based on OGL and ogles in xNa and opentk. For silverlight5, its xNa is also quite different from the xNa of WP7, and it is also a different implementation in silverlight5.
Clgc does not provide 3 DAPI for the time being. It is only because of limited maintenance effort, and the current project does not reflect this need.
One is clgf, which is responsible for setting up a client framework based on clgc and isolating different platform frameworks.CodeThe difference between them encapsulates loops, events, and States. The client code written is completely consistent across different platforms.
Thanks to mono and opentk for extending DOTNET to such a wide range. In the meantime, I have to say that there is indeed an idea of fighting for one breath. I want to let people who attack me from C ++ to C # Have a look.
It turned out that I had taken the right path, and now this possibility is even better than I expected when I decided to turn back last year.
I will continue to develop clgc and clgf. If I earn the first barrel of gold in the future, I will make it available in due time.Source codeIt's not time.