Color To Float and Float To Color Utility.

Sub forum for feature requests etc

Moderator: juanjgon

User avatar
fantome
Licensed Customer
Posts: 268
Joined: Wed Dec 16, 2015 3:38 pm

Thanks a lot for the extra info roeland !
User avatar
Terryvfx
Licensed Customer
Posts: 375
Joined: Tue Dec 30, 2014 12:43 am

Necro-posting here... I would also love to have an utility to output float from color.
User avatar
fantome
Licensed Customer
Posts: 268
Joined: Wed Dec 16, 2015 3:38 pm

Hi terry i don't know if it helps, but standalone has some OSL utility nodes that i have never test , but could answer your request.
utilities.JPG
this is jobigoud code from channel merger

Code: Select all

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]);
}

this is the one from channel spliter :

Code: Select all

// 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;
}
i would start standalone and investigate this and try to copy paste those OSL codes in houdini to check if they could do the job.

cheers
E
Post Reply

Return to “User Requests”