1
$\begingroup$

I was trying to create a custom OSL shader to use with the 'shader' node in the material node editor. However, I noticed that none of the scripts worked when I was using the default Eevee rendering engine selectedin the Render tab. Switching the render engine to Cycles make the script nodes compile correctly.

Are there any plans for supporting the shader node in Eevee?

$\endgroup$
1
  • 1
    $\begingroup$ I imagine it would be quite difficult to properly use everything that OSL shaders can do as it is designed for full ray tracing render engines like Cycles and Arnold. However, some things will work with it (for example, manipulating X, Y and Z coordinates to patterns). Let's see as Eevee is developed to further match Cycles. $\endgroup$ Sep 10 '19 at 20:45
2
$\begingroup$

To be clear, OSL evolved from Renderman and has always been about Monte Carlo ray tracing, much like Cycles. It makes little sense to implement it for Eevee, as Eevee is a rasterizing renderer meant to run in real time or very close to it; while Cycles is designed to take its time once and provide a very detailed and realistic-looking result for playback later. I want to emphasize that Sony designed OSL with specifically this use in mind, it was made for (and continues to be used for) Hollywood productions; you can use it with other rendering engines, sure, but they have to be ray tracers for a large portion of its functionality to even make any sense.

Eevee would be better suited to GLSL or HLSL, built more for games, than it would OSL, so no, it isn't possible to implement them (you would have to completely redesign them to work in this context) and it's unlikely to become so. I do think it is a possibility that some form of shading language will be implemented in the future, though.

$\endgroup$

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.