Optix report error " optix backend does not support ambient occlusion and bevel"

Hi. I am getting the specified error in the title. Is there any way I can find the specific material that is causing this report?
Thank you.

Remove the ambient occlusion or the bevel shader from your materials. You can list all the nodes using the Python api.

I am not sure I know how to use the python API. I search node by node and could not find the bevel node or ambient occlusion. If there was a filtering option?

Open the text editor and put these lines in there then press the “play” icon on the text editor menu bar to run the script or just look for run script. You need to have the system console to be open to see the result

import bpy


D=bpy.data


for m in D.materials:
    if hasattr(m.node_tree, "nodes"):
        for n in m.node_tree.nodes:
            if "occlusion" in n.name.lower() or "bevel" in n.name.lower() :
                print(m, n.name)
1 Like

I run the script , but I can not see any outcome.

image

1 Like

Thank you. I am sorry I do not get anything of scripting. I thought my console was the thing open in the screenshot. Thank you ! It worked

Hello there

I’m trying this in Blender 2.91.2 and getting zero results, has something changed?


(I’m pressing the play button several times in the vid)
Cheers
Mark

you need to open the system console, not the python console.

see post 6 above

Thanks! Schoolboy error!..

Of general interest: I found this thread as I started seeing the Optix error after installing 2.91.2, I was using ‘Smudgr Pro’ which uses the bevel / AO shader.
All works fine in 2.93 Alpha, no Optix error and Smudgr works fine using Optix…

The ao and bevel nodes are supported in optix in 2.93. Nvidia coded in an update to cycles.

I have tried running the code (also added print(“start”) and print(“end”)), but it did not find anything, even though it says optix backend does not support…

Do you have any idea why this is happening?

This happened to me as well; first thing is I made a tiny addition to the code to throw out an “else” so that you know the thing actually runs:

import bpy


D=bpy.data


for m in D.materials:
    if hasattr(m.node_tree, "nodes"):
        for n in m.node_tree.nodes:
            if "occlusion" in n.name.lower() or "bevel" in n.name.lower() :
                print(m, n.name)
            else:
                print("no ambient occlusion or bevel nodes found")

And I still had nothing listed. However, I had some node GROUPS that had hidden AO nodes; I had to find the offending material and remove the AO nodes, and it worked.

I’m sure that the script above could be modded to find the AO nodes inside the node groups, but I am a python super-noob.

Also, the mention of Bevel nodes doesn’t mean that blender found bevel-type nodes; the error message is generic it seems. All my offenders were AO nodes.

The problem is, that I couldn’t find neither AO or Bevel nodes by hand as well, so I have no idea what can cause this.
For now I moved to 2.92 which supports AO and Bevel…