generated from karl/cpp-template
21 lines
568 B
GLSL
21 lines
568 B
GLSL
#version 430
|
|
|
|
in vec3 varPosition;
|
|
|
|
out float noise;
|
|
|
|
void main(void) {
|
|
// Base: Distance to a helix
|
|
vec3 helix_pos = vec3(sin(varPosition.y * 5.0) * 0.2 + 0.5, varPosition.y, cos(varPosition.y * 5.0) * 0.2 + 0.5);
|
|
float dist = distance(helix_pos, varPosition);
|
|
|
|
noise = 0.6 - dist;
|
|
|
|
// Create some blobby shapes on the helix
|
|
float f1 = sin((varPosition.x + varPosition.z) * 7.0);
|
|
float f2 = cos((varPosition.y + varPosition.x) * 3.0);
|
|
float f3 = cos((varPosition.z + varPosition.y) * 8.0);
|
|
|
|
noise += abs(f1 + f2 + f3) * 0.1;
|
|
}
|