 abs function returns the absolute value of x,.e. I'm just throwing this in here in case someone working on lwjgl3 happens to see. The source code of the pixel shader is available in the 01-vertical-separator/sl file. See here for more information. The input parameters can only be 3-component floating vectors. X float sep.0 - y1*y2; FragColor fragcolor * sep; This smoothstep-based separator has smooth egdes. When x is between a and b, smoothstep performs an Hermite interpolation: To code our improved vertical separator, we will use the result of two smoothstep functions: float y1 smoothstep(a, b, x float y2 smoothstep(b, c, x float sep.0 - y1*y2; float y1 smoothstep(a. The cross product is equivalent to the product of the length of the vectors times the sinus of the(smaller) angle between x and. X mouse_x0.1) sep.0; FragColor fragcolor * sep;. Float smoothstep(float edge0, float edge1, float x) vec2 smoothstep(vec2 edge0, vec2 edge1, vec2 x) vec3 smoothstep(vec3 edge0, vec3 edge1, vec3 x) vec4 smoothstep(vec4 edge0, vec4 edge1, vec4 x) The smoothstep function returns.0 if x is smaller then edge0 and.0 if x is larger. Float ceil(float x) vec2 ceil(vec2 x) vec3 ceil(vec3 x) vec4 ceil(vec4 x) The ceiling function returns the smallest number that is larger or equal. Quot; from: pdid on January 14, 2017, 01:16:54. This demo requires an OpenGL.2 support. Vec3 cross(vec3 x, vec3 y) The cross function returns the cross product of the two input parameters,.e. float y1 smoothstep(mouse_x-0.1, mouse_x,. X when x is positive or zero and -x for negative. It is the inverse function of tangent. Uniform float mouse_x; in vec4 uv; / texture coordinates out vec4 FragColor; void main vec4 fragcolor texture(. Also, you should be glad that there's plenty of information in the crash log. The function has two input parameters of the type floating scalar or float vector and one input parameter of the type floating scalar: I, the incident vector, N, the normal vector of the refracting surface, and eta, the ratio of indices of refraction.