#version 150
out vec4 pixel_color;
void main() {
float r = abs(noise1(1.0));
float g = abs(noise1(2.0));
float b = abs(noise1(3.0));
pixel_color = vec4(r, g, b, 1.0);
}
Why GLSL noise only produces a black color?
I have a noob problem with GLSL where I can't seem to figure out why the pixel shader below only renders a black rectangle. I was expecting that it would draw a random-colored one instead. I figured the black color could result from the fact that the noise functions may return a negative value but even using abs() on them doesn't help.
I'm pretty sure that implementing noise is optional for the driver/card manufacturers, and most of them simply don't implement it :(
According to a German wiki, ATI does implement the noise function in software (slow) and NVidia implements it since OpenGL 2.0 drivers but the function always returns 0.0.
Maybe this simple random number generator helps you.
Maybe this simple random number generator helps you.
This topic is closed to new replies.
Advertisement
Popular Topics
Advertisement