Watch
2
0
Fork
You've already forked raylib-cs
0
raylib-cs/Examples/resources/shaders/glsl330/fisheye.fs
Dennis Steffen 8daf812930
Raylib 6.0 bugs after tests (#338)
* Sync of all the shaders from upstream + LoadFontData did not match anymore with C and crashed on MacOS

* Updated JuliaSet demo. Did not work with the new shader version.

* Removed unused `pause` variable from JuliaSet example.

---------

Co-authored-by: Meatcorps <info@meatcorps.nl>
2026-05-24 14:43:17 +01:00

40 lines
No EOL
752 B
GLSL

#version 330
in vec2 fragTexCoord;
out vec4 fragColor;
uniform sampler2D texture0;
uniform vec4 colDiffuse;
// NOTE: Add your custom variables here
const float PI = 3.1415926535;
void main()
{
float aperture = 178.0;
float apertureHalf = 0.5*aperture*(PI/180.0);
float maxFactor = sin(apertureHalf);
vec2 uv = vec2(0);
vec2 xy = 2.0*fragTexCoord.xy - 1.0;
float d = length(xy);
if (d < (2.0 - maxFactor))
{
d = length(xy*maxFactor);
float z = sqrt(1.0 - d*d);
float r = atan(d, z)/PI;
float phi = atan(xy.y, xy.x);
uv.x = r*cos(phi) + 0.5;
uv.y = r*sin(phi) + 0.5;
}
else
{
uv = fragTexCoord.xy;
}
fragColor = texture(texture0, uv);
}