More Procedural Textures for Blender?

Unfortunately you will never see a real blur node in Blender but there is way to fake blur like this video show here ;

Isn’t Blender using OSL? In Max all the OSL node code is exposed in the material editor and is fully editable. You can also load/save custom OSL nodes and users share them. Is this possible in Blender?

No cycles supports OSL shaders when rendering in the cpu but the cycles shaders are not OSL.

Right. Thanks. I was wondering what the ‘Use OSL’ checkbox was for in the render properties panel. That clears it up. Pity OSL isn’t supported in the nodes, I’m sure we’d see a ton of user-created content if it were.

Well, it is supported in the nodes. Simply add a “script node”, write your code into a text editor window and chose it from the drop down menu in the script node.
Problem is, that it isn’t supported by gpu which I think is why many don’t use it that much.
But there is content if you look for it.

In the Text edit there is a “templates” menu where you can load, well, templates. You can use one of them if you want to test it.

1 Like

OSL is part of Cycles since the beginning… at least the main part of OSL!
We still lack from:

  • Metadata for Shader parameters (dropdowns, checkboxes, mappers, filenamers, etc)
  • Messaging system between nodes (it’s wonderfull to have, but few know what it can do)
  • Shaded traced rays (call shaders from geometry hitted by trace())
  • PointClouds! (which is a pitty!! Really, a huge sadness!!!)
  • and, not Cycles fault, it must run in CPU’s only (perhaps the main reason nobody tried to implement the above ones).

Fortunatly, some new developments have been done in order to compile OSL code for GPU… but for most of what it does, you can do it with nodes; and you could use @LazyDodo 's OSLPy which does a good job turning OSL code to GPU compatible nodes (even for Eevee).


While this is not the best work around for OSL Gpu issue, every subscene can have their own render engine as in cpu vs gpu+osl. You can combine render layers back in the compositor as needed.

Thanks for that. I’m very new to rendering in Blender and usually use Arnold in Max, so bear with me. I’ve imported some Max OSL files and they work as expected. The only issue is that with the ‘use OSL’ checkbox on the whole system slows down as the CPU maxs out as it keeps ‘updating lights’ in the render view and takes quite a while to do so. Better support for OSL - and especially EEVEE support - would be great. Here are the Max .OSLs running in Cycles:

1 Like