From 20e803ac6bc655d4d7ffbf02e797b4ab1f3ba0ed Mon Sep 17 00:00:00 2001 From: Charlie Jolly Date: Mon, 27 Jan 2020 15:04:49 +0000 Subject: Shading: Add color output to White Noise node Hash input values to a color. Differential Revision: https://developer.blender.org/D6672 --- intern/cycles/kernel/shaders/node_white_noise_texture.osl | 12 +++++++++++- 1 file changed, 11 insertions(+), 1 deletion(-) (limited to 'intern/cycles/kernel/shaders') diff --git a/intern/cycles/kernel/shaders/node_white_noise_texture.osl b/intern/cycles/kernel/shaders/node_white_noise_texture.osl index f026fb4ab39..95f91d25e5e 100644 --- a/intern/cycles/kernel/shaders/node_white_noise_texture.osl +++ b/intern/cycles/kernel/shaders/node_white_noise_texture.osl @@ -15,23 +15,33 @@ */ #include "stdosl.h" +#include "vector2.h" +#include "vector4.h" +#include "node_hash.h" + +#define vector3 point shader node_white_noise_texture(string dimensions = "3D", point Vector = point(0.0, 0.0, 0.0), float W = 0.0, - output float Value = 0.0) + output float Value = 0.0, + output color Color = 0.0) { if (dimensions == "1D") { Value = noise("hash", W); + Color = hash_float_to_color(W); } else if (dimensions == "2D") { Value = noise("hash", Vector[0], Vector[1]); + Color = hash_vector2_to_color(vector2(Vector[0], Vector[1])); } else if (dimensions == "3D") { Value = noise("hash", Vector); + Color = hash_vector3_to_color(vector3(Vector[0], Vector[1], Vector[2])); } else if (dimensions == "4D") { Value = noise("hash", Vector, W); + Color = hash_vector4_to_color(vector4(Vector[0], Vector[1], Vector[2], W)); } else { warning("%s", "Unknown dimension!"); -- cgit v1.2.3