
The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!
|
|
|
||||||
Rubies garden | ||||||
Previous Image | Next Image | ||||||
Description: Fragmentarium- From Knighty & jos Leys super new Kleinians frag. Here I upped the its a bit and tried DE-Kn11 ( not properly implemented) .. I see now there is a newer update by Axion so I will check that out.. Finding so many pretty things in there,,thanks so much for putting these frags out there guys ..All the best for 2017 ![]() Code: // Created: Tue Dec 27 22:42:29 2016
#info Kleinian groups #info Original idea and code by Jos Leys (Dec 2016) #info Some cosmetic modifications by Naït Merzouk Abdelaziz (A.k.a. Knighty) #info liscence: Ask Jos Leys ;-) //#include "IBL-Raytracer.frag" #include "DE-Kn2cr11.frag" #group Kleinian_test uniform int Box_Iterations; slider[1,50,200] //Trace of the transformation a uniform float KleinR; slider[1.8,2.0,2.0] uniform float KleinI; slider[-0.2,0.0,0.2] //To really give a kleinian group they must be of the form cos(PI/n) if <1 and any value if >=1 uniform float box_size_z; slider[0.0,0.5,1.0] uniform float box_size_x; slider[0.0,0.5,1.0] //WIP: Help get better DE? uniform int Final_Iterations; slider[0,5,50] //Want do show the balls uniform bool ShowBalls; checkbox[true] //4 generators or 3? apply y translation uniform bool FourGen; checkbox[false] //The DE is wilde. It needs some clamping uniform float Clamp_y; slider[0.01,1.0,10.0] uniform float Clamp_DF; slider[0.0,1.0,10.0] #group SphInv //Want do do an inversion uniform bool DoInversion; checkbox[false] //Inversion center uniform vec3 InvCenter; slider[(-1,-1,-1),(0,0,0),(1,1,1)] //Inversion radius squared uniform float InvRadius; slider[0.01,1,2] //Recenter uniform vec3 ReCenter; slider[(-5,-5,-5),(0,0,0),(5,5,5)] uniform float DeltaAngle; slider[0.0,0.0,6.283185307179586476925286766559] float dot2(vec3 z){ return dot(z,z);} vec3 wrap(vec3 x, vec3 a, vec3 s){ x -= s; return (x-a*floor(x/a)) + s; } vec2 wrap(vec2 x, vec2 a, vec2 s){ x -= s; return (x-a*floor(x/a)) + s; } void TransA(inout vec3 z, inout float DF, float a, float b){ float iR = 1. / dot2(z); z *= -iR; z.x = -b - z.x; z.y = a + z.y; DF *= iR;//max(1.,iR); } void TransAInv(inout vec3 z, inout float DF, float a, float b){ float iR = 1. / dot2(z + vec3(b,-a,0.)); z.x += b; z.y = a - z.y; z *= iR; DF *= iR;//max(1.,iR); } float JosKleinian(vec3 z) { vec3 lz=z+vec3(1.), llz=z+vec3(-1.); float DE=1e10; float DF = 1.0; float a = KleinR, b = KleinI; float f = sign(b) ; for (int i = 0; i < Box_Iterations ; i++) { //if(z.y<0. || z.y>a) break; z.x=z.x+b/a*z.y; if (FourGen) z = wrap(z, vec3(2. * box_size_x, a, 2. * box_size_z), vec3(- box_size_x, 0., - box_size_z)); else z.xz = wrap(z.xz, vec2(2. * box_size_x, 2. * box_size_z), vec2(- box_size_x, - box_size_z)); z.x=z.x-b/a*z.y; //If above the separation line, rotate by 180° about (-b/2, a/2) if (z.y >= a * (0.5 + f * 0.25 * sign(z.x + b * 0.5)* (1. - exp( - 3.2 * abs(z.x + b * 0.5))))) z = vec3(-b, a, 0.) - z;// //z.xy = vec2(-b, a) - z.xy;// orbitTrap = min(orbitTrap, abs(vec4(z,dot(z,z))));//For colouring //Apply transformation a TransA(z, DF, a, b); //If the iterated points enters a 2-cycle , bail out. if(dot2(z-llz) < 1e-12) { #if 0 orbitTrap =vec4(1./float(i),0.,0.,0.); #endif break; } //Store prévious iterates llz=lz; lz=z; } //WIP: Push the iterated point left or right depending on the sign of KleinI for (int i=0;i<Final_Iterations;i++){ float y = ShowBalls ? min(z.y, a-z.y) : z.y; DE=min(DE,min(y,Clamp_y)/max(DF,Clamp_DF)); TransA(z, DF, a, b); } float y = ShowBalls ? min(z.y, a-z.y) : z.y; DE=min(DE,min(y,Clamp_y)/max(DF,Clamp_DF)); return DE; } float DE(vec3 p) { if(DoInversion){ p=p-InvCenter-ReCenter; float r=length(p); float r2=r*r; p=(InvRadius * InvRadius/r2)*p+InvCenter; float an=atan(p.y,p.x)+DeltaAngle; float ra=sqrt(p.y*p.y+p.x*p.x); p.x=cos(an)*ra; p.y=sin(an)*ra; float de=JosKleinian(p); de=r2*de/(InvRadius * InvRadius+r*de); return de; } else return JosKleinian(p); } #preset RubiesGarden FOV = 1.120924 Eye = -2.527125,3.97412,-3.779549 Target = 35.74057,-6.525935,8.185241 Up = -0.0416062,-0.2448129,-0.0817712 Gamma = 0.952876 ToneMapping = 4 Exposure = 0.8436846 Brightness = 0.9943978 Contrast = 0.9888579 Saturation = 0.9838936 GaussianWeight = 0.9032258 AntiAliasScale = 0.2916074 Detail = -3.710435 FudgeFactor = 0.9964714 Dither = 1 NormalBackStep = 1 CamLight = 0.8352941,0.5058824,0.1803922,1.939266 BaseColor = 0.3882353,0.04705882,0.06666667 OrbitStrength = 0.4509116 X = 0,1,0.164706,0.9255172 Y = 1,0.533333,0,-0.0289655 Z = 0.603922,0.164706,0.776471,-0.5186207 R = 1,0.8235294,0.2862745,0.8274672 BackgroundColor = 0,0,0 GradientBackground = 0.3010753 CycleColors = true Cycles = 7.447354 EnableFloor = true NotLocked FloorNormal = -0.487072,-0.6883298,-0.5555556 FloorHeight = -0.4082345 FloorColor = 0.227451,0.3803922,0.5647059 UpLock = false FocalPlane = 16.15737 Aperture = 0 InFocusAWidth = 0.7743772 DofCorrect = true ApertureNbrSides = 7 ApertureRot = 0 ApStarShaped = false Bloom = true BloomIntensity = 0.6353945 BloomPow = 3.307584 BloomTaps = 2 BloomStrong = 1.013456 RefineSteps = 16 MaxRaySteps = 1356 MaxDistance = 120 DetailAO = -0.1403873 coneApertureAO = 0.5 maxIterAO = 20 FudgeAO = 1 AO_ambient = 1.981856 AO_camlight = 1.988827 AO_pointlight = 1.976174 AoCorrect = 0 Specular = 0.0220538 SpecularExp = 100 AmbiantLight = 0.627451,0.9333333,1,1.981402 Reflection = 0.2980392,0.254902,0.1333333 ReflectionsNumber = 1 SpotGlow = true SpotLight = 1,0.8431373,0.4392157,10 LightPos = -2.969188,3.669468,-2.240896 LightSize = 0.2172702 LightFallOff = 0.0323261 LightGlowRad = 1.043878 LightGlowExp = 0.7991513 HardShadow = 0.6238532 ShadowSoft = 2 ShadowBlur = 0.0611814 perf = false SSS = true sss1 = 1 sss2 = 0.9622512 HF_Fallof = 1.479274 HF_Const = 0.0096886 HF_Intensity = 0.7804196 HF_Dir = 0.3763736,-0.0576923,-0.9134615 HF_Offset = -0.7402235 HF_Color = 0.9882353,0.945098,0.7254902,2.150424 HF_Scatter = 0 HF_Anisotropy = 0,0,0 HF_FogIter = 1 HF_CastShadow = false EnCloudsDir = true NotLocked Clouds_Dir = 0,0,1 NotLocked CloudScale = 1 CloudFlatness = 0 NotLocked CloudTops = 1 CloudBase = -1 CloudDensity = 1 CloudRoughness = 1 CloudContrast = 1 CloudColor = 0.65,0.68,0.7 CloudColor2 = 0.07,0.17,0.24 NotLocked SunLightColor = 0.7,0.5,0.3 Cloudvar1 = 0.99 NotLocked Cloudvar2 = 1 NotLocked CloudIter = 5 NotLocked CloudBgMix = 1 NotLocked KleinR = 1.914832 KleinI = 0.0331053 box_size_z = 0.6254343 box_size_x = 0.988178 ShowBalls = true FourGen = true Clamp_y = 0.0445675 Clamp_DF = 0.2086231 DoInversion = true InvCenter = -0.0076442,0.9263377,0.1285615 InvRadius = 1.31232 ReCenter = -1.158114,-0.665742,-0.0554785 DeltaAngle = 3.678281 reciprocalX3b = false reciprocalX3bVar1 = false reciprocalY3b = false reciprocalY3bVar1 = false reciprocalZ3b = false reciprocalZ3bVar1 = false Limiter1 = 0.67 Limiter2 = 0.67 mul1 = 1 mul2 = 1 Box_Iterations = 134 Final_Iterations = 25 #endpreset Stats: Total Favorities: 0 View Who Favorited Filesize: 237.38kB Height: 1080 Width: 1920 Discussion Topic: View Topic Keywords: Fragmentarium.. Knighty. kleinian timemit spirals ruby octopus Posted by: Tim Emit ![]() Rating: ![]() ![]() ![]() ![]() ![]() Image Linking Codes
|
||||||
0 Members and 1 Guest are viewing this picture. | ||||||
Related Images | ||||||
|
|
Comments (2) ![]() |
|
Tim Emit | January 03, 2017, 06:45:23 PM Thanks to you ![]() |
knighty | January 03, 2017, 11:52:50 AM![]() |
Powered by SMF Gallery Pro