Показать сообщение отдельно
Старый 18.06.2013, 00:39   #481
den
Дэвелопер
 
Аватар для den
 
Регистрация: 13.02.2010
Сообщений: 1,645
Написано 620 полезных сообщений
(для 2,419 пользователей)
Ответ: Картинки на суд

На GLSL.
В динамике можно бесконечное приближение сделать. Но это в теории будет бесконечно, на практике точность у чисел с плавающей точкой кончится, и будут тупо пиксели.
Но т.к. это фрактал, при приближении определенного кусочка с определенного момента будет повторятся та же картина, поэтому можно зациклить просто. Хотя на счет этого не уверен.


туплю, имелось в виду другое)
Вот онлайн GLSL песочница
а вот код, думаю понятно что изменять надо (зум, цвет, координаты).
единственное, 400 в цикле for - это глубина прорисовки
#ifdef GL_ES
precision highp float;
#endif

uniform float time;
uniform vec2 mouse;
uniform vec2 resolution;

int fmandel(void)
{
  
float zoom 1024.0;
  
vec2 c /*vec2(-0.5, 0.0)*/-mouse.xy gl_FragCoord.xy*(1.0/zoom) - resolution.xy/2.0/zoom;
  
vec2 z=c;

  for(
int n=0n<400n++)
  {
    
vec2(z.x*z.z.y*z.y2.0*z.x*z.y) + c;
    if((
z.x*z.z.y*z.y) > 4.0) return n;
  }
  return 
0;
}

void main()
{
  
int n fmandel(); 
  
vec3 color vec3(0.005);
  
gl_FragColor vec4(0.1+float(n)*color1.0);

(Offline)
 
Ответить с цитированием
Эти 4 пользователя(ей) сказали Спасибо den за это полезное сообщение:
ABTOMAT (18.06.2013), Gector (24.06.2013), Mhyhr (25.06.2013), Wegox (28.08.2013)