This question is mostly addressed to shader coders / tech artists. I would like to get into writing custom shaders for EEVEE, but I don't know where to begin. For starters, after quite a lot of research, it seems that this is quite poorly documented. After reading a lot of posts on a lot of forums, there seems to be a bit of confusion about what EEVEE is/ is not, what shading language it uses internally, and so on. Some claim it is GLSL based, others claim it is OSL based, some claim it is a real-time renderer, some claim it is not a true real-time renderer, and some others claim it is a hybrid, but it is not clear what that means. Hybrid how? I mean, how can it be a real-time renderer if it's a rasterizer, technically speaking?
The use case scenarion is the following: I am often working with scientific datasets which I would like to visualize as <2D entities (curves, lines, points) in a more artistic way. Unfortunatelly EEVEE doesn't support shading 1D and 0D entities, the workaround being converting them to a 3D object first(e.g. geo nodes, python), and shade them afterwards, which comes with a great performance penalty. Why extrude 10k curves if you could just to change their diffuse color, right? What I would like is to write a custom EEVEE shader able to render curves, lines and points out of the box, with all the features a 3D object would have ( diffuse color, basic reflexion, basic opacity and so on). I don't mind learning the whole thing from scratch, but learn what? OSL? GLSL? Vulkan?
I would greatly appreciate if you could point me in the right direction! I can do the heavy lifting myself, just help me find the weights!