1
$\begingroup$

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!

$\endgroup$
6
  • $\begingroup$ Best asked at blenderartists,org I would have thought. Any answers to your question are likely to be opinion-based and your question is not specifically about problems using Blender so is likely to be closed as off-topic. $\endgroup$
    – John Eason
    Feb 12 at 11:14
  • $\begingroup$ Thanks. Not to be pedantic, but poor documentation is specifically about problems using Blender. No worries, I can ask the question there, but blenderartists is less techy than stackexchange, that's why. $\endgroup$
    – radoo
    Feb 12 at 11:38
  • 1
    $\begingroup$ Actually, if you have questions about coding for Blender, the official Developer Forum sounds to be THE place for that, that's where you will find most of the people who actually write code for Blender (may it be addons devs or Blender devs from within or outside the BF). They are in the best position to talk about how Eevee works under the hood. $\endgroup$
    – L0Lock
    Feb 12 at 19:35
  • 2
    $\begingroup$ Though this site discourages opinion based questions/answers, here's one anyway - Unless you are planning on compiling your own version of blender to incorporate a newly written shader (a very complex task), don't bother with GLSL or Vulkan - you will find the best success using OSL shaders - there are even some available online that you can download (though I don't know how well they would specifically suit your purpose). $\endgroup$ Feb 13 at 6:21
  • 2
    $\begingroup$ @radoo But poor coding documentation is like missing program features not a problem Blender users like us are going to solve here... this site is about helping with the use of the program's existing features, not creating new ones. $\endgroup$ Feb 13 at 13:19

0

Browse other questions tagged .