Moderator: juanjgon
shader ChannelMuxer(
color redChannel = color(0.7, 0.7, 0.7) [[ string label = "Red channel"]],
color greenChannel = color(0.7, 0.7, 0.7) [[ string label = "Green channel"]],
color blueChannel = color(0.7, 0.7, 0.7) [[ string label = "Blue channel"]],
output color out = 0,
)
{
// Typically the input colors will be grayscale but just in case we take the corresponding channel from the source.
// This enables a richer mixing strategy without loosing flexibility.
out = color(redChannel[0], greenChannel[1], blueChannel[2]);
}
// RGB Channel Split as Grayscale
// Author: Thomas Cheng - Ambocc Studios
// www.ambocc.com - [email protected]
//
// Description: Connect a RGB texture and select the color channel to output as a grayscale image.
#define CHANNEL_R 1
#define CHANNEL_G 2
#define CHANNEL_B 3
shader ChannelExtractor(
color rgbTexture = 0 [[ string label = "texture"]],
int channel = 1 [[string widget = "mapper", string label = "Channel", string options = "R:1|G:2|B:3"]],
output color out = 0,
)
{
if (channel == CHANNEL_R)
out = rgbTexture[0];
else if (channel == CHANNEL_G)
out = rgbTexture[1];
else if (channel == CHANNEL_B)
out = rgbTexture[2];
else
out = 0;
}
Users browsing this forum: No registered users and 3 guests