First of all I am not sure if this is the correct place to ask my question. If it is not please be so kind to point me in a direction where my question is relevant.
A while ago I came across this cross platform graphics library called Veldrid.
Resulting in me getting the idea to write my own processing clone but then for C#. Only problem with this plan is that I have absolutely no knowledge about graphics programming. So I started researching the matter with little luck... since what i found was either too generic or way to academic.
What I really want to know is; is it even possible to write a 2d renderer with a gpu powered graphics library (eg opengl, metal, vulkan etc). And if so how do you write the renderer?
My initial way of going about it was the following: create a bunch of shaders to render things like rectangles, ellipses, triangles, lines etc. and linking them with a uniformbuffers to send shader properties on how to draw the ellipse colour for example.
But this seems to become very dumb when having to render lines, since in this case i would make a quad have a shader draw a line in the quad and have the leftover pixels transparent. Which seems very inefficient.
Any advice would be super helpful! But please keep it noob friendly since i am no where near an amateur on the subject :)
If any clarification or additional information is needed please let me know!