Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- #version 130
- in vec3 vs_out_col;
- in vec3 vs_out_pos;
- out vec4 fs_out_col;
- vec2 cplx_mul(vec2 a, vec2 b)
- {
- return vec2(a.x*b.x - a.y*b.y, a.y*b.x + a.x*b.y);
- }
- vec2 cplx_div(vec2 a, vec2 b)
- {
- float c_sq = b.x*b.x;
- float d_sq = b.y*b.y;
- return vec2((a.x*b.x + a.y*b.y) / (c_sq + d_sq),(a.y*b.x - a.x*b.y) / (c_sq + d_sq));
- }
- vec2 f(vec2 a)
- {
- vec2 sq = vec2(a.x*a.x - a.y*a.y, a.y*a.x + a.x*a.y);
- vec2 cub = vec2(a.x*sq.x - a.y*sq.y, a.y*sq.x + a.x*sq.y);
- return cub + sq;
- }
- vec2 df(vec2 a)
- {
- vec2 sq = vec2(a.x*a.x - a.y*a.y, a.y*a.x + a.x*a.y);
- return 3*sq + a;
- }
- void main()
- {
- float x = vs_out_pos.x;
- float y = vs_out_pos.y;
- vec2 z0 = vs_out_pos.xy;
- vec2 z = z0;
- for (int i = 0; i < 30; ++i)
- z = z - cplx_div(f(z),df(z));
- if ( length(z) <= 3 )
- fs_out_col = vec4(vs_out_col, 1);
- else
- discard;
- }
- // 1. feladat: rajzoljuk ki fehérrel a téglalapot!
- // 2. feladat: uniform változók - az alkalmazás állítsa be, hogy milyen színnel töltsünk ki!
- // 3. feladat: rajzoljuk ki az origó középpontú, 1 sugarú kört! Mit kell tenni, ha nem a
- // körlapot, hanem csak a körvonalat akarjuk? Eml.: discard eldobja a fragmentet
- // 4. feladat: komplex számok....
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement