Welcome to mirror list, hosted at ThFree Co, Russian Federation.

git.blender.org/blender.git - Unnamed repository; edit this file 'description' to name the repository.
summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorCharlie Jolly <mistajolly@gmail.com>2020-01-27 18:04:49 +0300
committerCharlie Jolly <mistajolly@gmail.com>2020-01-27 18:47:51 +0300
commit20e803ac6bc655d4d7ffbf02e797b4ab1f3ba0ed (patch)
tree0fac7771e538287634151dba4285ef25b7043a67 /intern/cycles/kernel/shaders
parent84c537e68528177ef982479f5884af07cec322b9 (diff)
Shading: Add color output to White Noise node
Hash input values to a color. Differential Revision: https://developer.blender.org/D6672
Diffstat (limited to 'intern/cycles/kernel/shaders')
-rw-r--r--intern/cycles/kernel/shaders/node_white_noise_texture.osl12
1 files changed, 11 insertions, 1 deletions
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!");