Using MCG to improve Slate ? With a pass-through map

Using MCG to improve Slate ? With a pass-through map

sebastian___
Advocate Advocate
804 Views
5 Replies
Message 1 of 6

Using MCG to improve Slate ? With a pass-through map

sebastian___
Advocate
Advocate
Is it possible to add custom things to the Slate Editor ? For example using MCG ?
I was under the impression that you can build maps with MCG.
So I'm guessing it would be very simple to build a pass-through map, a map which does nothing but lets whatever signal pass through. So we could finally have the much needed "anchor" which every node editor has, like Nuke, Fusion and so on.
0 Likes
Accepted solutions (1)
805 Views
5 Replies
Replies (5)
Message 3 of 6

sebastian___
Advocate
Advocate

That's great. I'm surprised no one did this, as anchors like in the picture attached are very useful to manage large flows. 

But unfortunately me and I'm guessing many other are on max 2018, hopefully there could be a solution without OSL too.  Can maxscript create maps ?

 I'm also using controllers like the Expression controller right in the Slate, like a map - just to pin notes and text, but it's not the most elegant solution. Maybe that can also be addressed with a "blank" map which can accommodate text.

 

 

sebastian____1-1632155096646.png

 

0 Likes
Message 4 of 6

Swordslayer
Advisor
Advisor

You can only extend existing maps with maxscript, for completely new maps you'd have to go the C++ route (technically you could also use .NET but it may or may not crash max). That said, if you're okay with using extended Output map with a replaced UI that only has a textfield, you can do it this way:

 

plugin textureMap passThrough name:"PassThrough"
classID:#(0x5b216469, 0x5c11bdd8)
extends:Output replaceUI:on
(
	parameters main rollout:params
	(
		input type:#textureMap 
		note type:#string ui:textField

		on input set map do this.delegate.map1 = map
	)
	rollout params "Parameters"
	(
		editText textField height:5
	)
)
0 Likes
Message 5 of 6

sebastian___
Advocate
Advocate

That's great. But I already did tests with the output map, and for third party renderers and Arnold it only works partially. 

I tested Octane, Vray and Redshift.

 

The same with the new "PassThrough" map. 

 

Arnold CPU - transmits the Checker map through Output map and PassThrough map. But the Arnold Flakes doesn't get transmitted further through Output or PassThrough. 

Arnold GPU - Flakes doesn't gets transmitted further through Output or PassThrough. 

 

Vray GPU works partially, but Vray GPU has this error message:

error: Unsupported texture "Map#3 (passThrough)"

 

I'm guessing the connections between maps and materials carries all kinds of different data. And maybe a passthrough map would have to include "protocols" for all these third party renderers and for all kinds of data ?

 

I tried to find a different map which would transmit more types of data and maybe work for all renderers, trying Composite and others but they don't work with GPU renderers and also don't work with displacement, normal, bump and so on.

 

This doesn't matter but the text field in the "PassThrough" map is cropped or blocked for some reason:

 

sebastian____0-1632170184359.png

 

0 Likes
Message 6 of 6

Swordslayer
Advisor
Advisor
Accepted solution

As I said, for anything more involved, you'd either have to write your own C++ map or upgrade max (and with a custom map, supporting 3rd party GPU renderers and 3rd party maps is especially tall order, it's not like all the renderer's own maps are supported by the GPU render anyway).

0 Likes