Skip to content

Commit ad477ee

Browse files
committed
Review updates
- Update precedence logic so that non-functional implementations have higher priority. - Revert std lib sample changes. - Add in functional_nodedef.mtlx test file - Tests for implementation search of child nodegraph - Tests for precedence by adding a non-functional implementation graph afterwards.
1 parent ece55fc commit ad477ee

5 files changed

Lines changed: 339 additions & 216 deletions

File tree

libraries/stdlib/stdlib_defs.mtlx

Lines changed: 0 additions & 207 deletions
Original file line numberDiff line numberDiff line change
@@ -2252,263 +2252,56 @@
22522252
<input name="in1" type="float" value="0.0" />
22532253
<input name="in2" type="float" value="1.0" />
22542254
<output name="out" type="float" defaultinput="in1" />
2255-
2256-
<nodegraph name="NG_safepower_float">
2257-
<sign name="sign_in1" type="float">
2258-
<input name="in" type="float" interfacename="in1" />
2259-
</sign>
2260-
<absval name="abs_in1" type="float">
2261-
<input name="in" type="float" interfacename="in1" />
2262-
</absval>
2263-
<power name="power" type="float">
2264-
<input name="in1" type="float" nodename="abs_in1" />
2265-
<input name="in2" type="float" interfacename="in2" />
2266-
</power>
2267-
<multiply name="safepower" type="float">
2268-
<input name="in1" type="float" nodename="sign_in1" />
2269-
<input name="in2" type="float" nodename="power" />
2270-
</multiply>
2271-
<output name="out" type="float" nodename="safepower" />
2272-
</nodegraph>
2273-
22742255
</nodedef>
22752256
<nodedef name="ND_safepower_color3" node="safepower" nodegroup="math">
22762257
<input name="in1" type="color3" value="0.0, 0.0, 0.0" />
22772258
<input name="in2" type="color3" value="1.0, 1.0, 1.0" />
22782259
<output name="out" type="color3" defaultinput="in1" />
2279-
2280-
<nodegraph name="NG_safepower_color3">
2281-
<sign name="sign_in1" type="color3">
2282-
<input name="in" type="color3" interfacename="in1" />
2283-
</sign>
2284-
<absval name="abs_in1" type="color3">
2285-
<input name="in" type="color3" interfacename="in1" />
2286-
</absval>
2287-
<power name="power" type="color3">
2288-
<input name="in1" type="color3" nodename="abs_in1" />
2289-
<input name="in2" type="color3" interfacename="in2" />
2290-
</power>
2291-
<multiply name="safepower" type="color3">
2292-
<input name="in1" type="color3" nodename="sign_in1" />
2293-
<input name="in2" type="color3" nodename="power" />
2294-
</multiply>
2295-
<output name="out" type="color3" nodename="safepower" />
2296-
</nodegraph>
2297-
22982260
</nodedef>
22992261
<nodedef name="ND_safepower_color4" node="safepower" nodegroup="math">
23002262
<input name="in1" type="color4" value="0.0, 0.0, 0.0, 0.0" />
23012263
<input name="in2" type="color4" value="1.0, 1.0, 1.0, 1.0" />
23022264
<output name="out" type="color4" defaultinput="in1" />
2303-
2304-
<nodegraph name="NG_safepower_color4" >
2305-
<sign name="sign_in1" type="color4">
2306-
<input name="in" type="color4" interfacename="in1" />
2307-
</sign>
2308-
<absval name="abs_in1" type="color4">
2309-
<input name="in" type="color4" interfacename="in1" />
2310-
</absval>
2311-
<power name="power" type="color4">
2312-
<input name="in1" type="color4" nodename="abs_in1" />
2313-
<input name="in2" type="color4" interfacename="in2" />
2314-
</power>
2315-
<multiply name="safepower" type="color4">
2316-
<input name="in1" type="color4" nodename="sign_in1" />
2317-
<input name="in2" type="color4" nodename="power" />
2318-
</multiply>
2319-
<output name="out" type="color4" nodename="safepower" />
2320-
</nodegraph>
2321-
23222265
</nodedef>
23232266
<nodedef name="ND_safepower_vector2" node="safepower" nodegroup="math">
23242267
<input name="in1" type="vector2" value="0.0, 0.0" />
23252268
<input name="in2" type="vector2" value="1.0, 1.0" />
23262269
<output name="out" type="vector2" defaultinput="in1" />
2327-
2328-
<nodegraph name="NG_safepower_vector2" >
2329-
<sign name="sign_in1" type="vector2">
2330-
<input name="in" type="vector2" interfacename="in1" />
2331-
</sign>
2332-
<absval name="abs_in1" type="vector2">
2333-
<input name="in" type="vector2" interfacename="in1" />
2334-
</absval>
2335-
<power name="power" type="vector2">
2336-
<input name="in1" type="vector2" nodename="abs_in1" />
2337-
<input name="in2" type="vector2" interfacename="in2" />
2338-
</power>
2339-
<multiply name="safepower" type="vector2">
2340-
<input name="in1" type="vector2" nodename="sign_in1" />
2341-
<input name="in2" type="vector2" nodename="power" />
2342-
</multiply>
2343-
<output name="out" type="vector2" nodename="safepower" />
2344-
</nodegraph>
2345-
23462270
</nodedef>
23472271
<nodedef name="ND_safepower_vector3" node="safepower" nodegroup="math">
23482272
<input name="in1" type="vector3" value="0.0, 0.0, 0.0" />
23492273
<input name="in2" type="vector3" value="1.0, 1.0, 1.0" />
23502274
<output name="out" type="vector3" defaultinput="in1" />
2351-
2352-
<nodegraph name="NG_safepower_vector3" >
2353-
<sign name="sign_in1" type="vector3">
2354-
<input name="in" type="vector3" interfacename="in1" />
2355-
</sign>
2356-
<absval name="abs_in1" type="vector3">
2357-
<input name="in" type="vector3" interfacename="in1" />
2358-
</absval>
2359-
<power name="power" type="vector3">
2360-
<input name="in1" type="vector3" nodename="abs_in1" />
2361-
<input name="in2" type="vector3" interfacename="in2" />
2362-
</power>
2363-
<multiply name="safepower" type="vector3">
2364-
<input name="in1" type="vector3" nodename="sign_in1" />
2365-
<input name="in2" type="vector3" nodename="power" />
2366-
</multiply>
2367-
<output name="out" type="vector3" nodename="safepower" />
2368-
</nodegraph>
2369-
23702275
</nodedef>
23712276
<nodedef name="ND_safepower_vector4" node="safepower" nodegroup="math">
23722277
<input name="in1" type="vector4" value="0.0, 0.0, 0.0, 0.0" />
23732278
<input name="in2" type="vector4" value="1.0, 1.0, 1.0, 1.0" />
23742279
<output name="out" type="vector4" defaultinput="in1" />
2375-
2376-
<nodegraph name="NG_safepower_vector4" >
2377-
<sign name="sign_in1" type="vector4">
2378-
<input name="in" type="vector4" interfacename="in1" />
2379-
</sign>
2380-
<absval name="abs_in1" type="vector4">
2381-
<input name="in" type="vector4" interfacename="in1" />
2382-
</absval>
2383-
<power name="power" type="vector4">
2384-
<input name="in1" type="vector4" nodename="abs_in1" />
2385-
<input name="in2" type="vector4" interfacename="in2" />
2386-
</power>
2387-
<multiply name="safepower" type="vector4">
2388-
<input name="in1" type="vector4" nodename="sign_in1" />
2389-
<input name="in2" type="vector4" nodename="power" />
2390-
</multiply>
2391-
<output name="out" type="vector4" nodename="safepower" />
2392-
</nodegraph>
2393-
23942280
</nodedef>
23952281
<nodedef name="ND_safepower_color3FA" node="safepower" nodegroup="math">
23962282
<input name="in1" type="color3" value="0.0, 0.0, 0.0" />
23972283
<input name="in2" type="float" value="1.0" />
23982284
<output name="out" type="color3" defaultinput="in1" />
2399-
2400-
<nodegraph name="NG_safepower_color3FA" >
2401-
<sign name="sign_in1" type="color3">
2402-
<input name="in" type="color3" interfacename="in1" />
2403-
</sign>
2404-
<absval name="abs_in1" type="color3">
2405-
<input name="in" type="color3" interfacename="in1" />
2406-
</absval>
2407-
<power name="power" type="color3">
2408-
<input name="in1" type="color3" nodename="abs_in1" />
2409-
<input name="in2" type="float" interfacename="in2" />
2410-
</power>
2411-
<multiply name="safepower" type="color3">
2412-
<input name="in1" type="color3" nodename="sign_in1" />
2413-
<input name="in2" type="color3" nodename="power" />
2414-
</multiply>
2415-
<output name="out" type="color3" nodename="safepower" />
2416-
</nodegraph>
24172285
</nodedef>
24182286
<nodedef name="ND_safepower_color4FA" node="safepower" nodegroup="math">
24192287
<input name="in1" type="color4" value="0.0, 0.0, 0.0, 0.0" />
24202288
<input name="in2" type="float" value="1.0" />
24212289
<output name="out" type="color4" defaultinput="in1" />
2422-
2423-
<nodegraph name="NG_safepower_color4FA" >
2424-
<sign name="sign_in1" type="color4">
2425-
<input name="in" type="color4" interfacename="in1" />
2426-
</sign>
2427-
<absval name="abs_in1" type="color4">
2428-
<input name="in" type="color4" interfacename="in1" />
2429-
</absval>
2430-
<power name="power" type="color4">
2431-
<input name="in1" type="color4" nodename="abs_in1" />
2432-
<input name="in2" type="float" interfacename="in2" />
2433-
</power>
2434-
<multiply name="safepower" type="color4">
2435-
<input name="in1" type="color4" nodename="sign_in1" />
2436-
<input name="in2" type="color4" nodename="power" />
2437-
</multiply>
2438-
<output name="out" type="color4" nodename="safepower" />
2439-
</nodegraph>
2440-
24412290
</nodedef>
24422291
<nodedef name="ND_safepower_vector2FA" node="safepower" nodegroup="math">
24432292
<input name="in1" type="vector2" value="0.0, 0.0" />
24442293
<input name="in2" type="float" value="1.0" />
24452294
<output name="out" type="vector2" defaultinput="in1" />
2446-
2447-
<nodegraph name="NG_safepower_vector2FA">
2448-
<sign name="sign_in1" type="vector2">
2449-
<input name="in" type="vector2" interfacename="in1" />
2450-
</sign>
2451-
<absval name="abs_in1" type="vector2">
2452-
<input name="in" type="vector2" interfacename="in1" />
2453-
</absval>
2454-
<power name="power" type="vector2">
2455-
<input name="in1" type="vector2" nodename="abs_in1" />
2456-
<input name="in2" type="float" interfacename="in2" />
2457-
</power>
2458-
<multiply name="safepower" type="vector2">
2459-
<input name="in1" type="vector2" nodename="sign_in1" />
2460-
<input name="in2" type="vector2" nodename="power" />
2461-
</multiply>
2462-
<output name="out" type="vector2" nodename="safepower" />
2463-
</nodegraph>
2464-
24652295
</nodedef>
24662296
<nodedef name="ND_safepower_vector3FA" node="safepower" nodegroup="math">
24672297
<input name="in1" type="vector3" value="0.0, 0.0, 0.0" />
24682298
<input name="in2" type="float" value="1.0" />
24692299
<output name="out" type="vector3" defaultinput="in1" />
2470-
2471-
<nodegraph name="NG_safepower_vector3FA" >
2472-
<sign name="sign_in1" type="vector3">
2473-
<input name="in" type="vector3" interfacename="in1" />
2474-
</sign>
2475-
<absval name="abs_in1" type="vector3">
2476-
<input name="in" type="vector3" interfacename="in1" />
2477-
</absval>
2478-
<power name="power" type="vector3">
2479-
<input name="in1" type="vector3" nodename="abs_in1" />
2480-
<input name="in2" type="float" interfacename="in2" />
2481-
</power>
2482-
<multiply name="safepower" type="vector3">
2483-
<input name="in1" type="vector3" nodename="sign_in1" />
2484-
<input name="in2" type="vector3" nodename="power" />
2485-
</multiply>
2486-
<output name="out" type="vector3" nodename="safepower" />
2487-
</nodegraph>
2488-
24892300
</nodedef>
24902301
<nodedef name="ND_safepower_vector4FA" node="safepower" nodegroup="math">
24912302
<input name="in1" type="vector4" value="0.0, 0.0, 0.0, 0.0" />
24922303
<input name="in2" type="float" value="1.0" />
24932304
<output name="out" type="vector4" defaultinput="in1" />
2494-
2495-
<nodegraph name="NG_safepower_vector4FA">
2496-
<sign name="sign_in1" type="vector4">
2497-
<input name="in" type="vector4" interfacename="in1" />
2498-
</sign>
2499-
<absval name="abs_in1" type="vector4">
2500-
<input name="in" type="vector4" interfacename="in1" />
2501-
</absval>
2502-
<power name="power" type="vector4">
2503-
<input name="in1" type="vector4" nodename="abs_in1" />
2504-
<input name="in2" type="float" interfacename="in2" />
2505-
</power>
2506-
<multiply name="safepower" type="vector4">
2507-
<input name="in1" type="vector4" nodename="sign_in1" />
2508-
<input name="in2" type="vector4" nodename="power" />
2509-
</multiply>
2510-
<output name="out" type="vector4" nodename="safepower" />
2511-
</nodegraph>
25122305
</nodedef>
25132306

25142307
<!--

0 commit comments

Comments
 (0)