31 lines
677 B
GLSL
31 lines
677 B
GLSL
#version 430 core
|
|
in vec4 gColor;
|
|
in vec3 gBoundingBox;
|
|
|
|
out vec4 fColor;
|
|
|
|
float x = gBoundingBox.x;
|
|
float y = gBoundingBox.y;
|
|
float z = gBoundingBox.z;
|
|
|
|
float w = 0.1;
|
|
|
|
float f (float a, float b)
|
|
{
|
|
float c = 1 / (1 - 2*b) ;
|
|
return c * (a - 0.5) + 0.5 ;
|
|
}
|
|
void main()
|
|
{
|
|
|
|
//float d = x - y - 1 + 2* sqrt(y);
|
|
float d = sqrt(x) + sqrt(y) - 1;
|
|
float e = sqrt(f(x,w)) + sqrt(f(y,w)) - 1;
|
|
if ( d < 0 || e > 0) { discard; }
|
|
fColor = gColor;
|
|
// if ( d < 0) { fColor = vec4 (0,1,0,1); }
|
|
// if ( e > 0) { fColor = vec4 (0,0,1,1); }
|
|
// if ( d < z*z*0.0 || d > z*z*0.1+ 0.5) { fColor = vec4 (0,1,0,1); }
|
|
// if ( d < -0.1 || d > 0.1) { fColor = vec4 (0,0,1,1); }
|
|
}
|