Welcome to Fractal Forums

Fractal Software => Fragmentarium Gallery => Topic started by: Sabine on October 14, 2016, 08:54:57 PM




Title: HoldOn
Post by: Sabine on October 14, 2016, 08:54:57 PM
HoldOn

(http://nocache-nocookies.digitalgott.com/gallery/19/10093_14_10_16_8_54_56.png)

http://www.fractalforums.com/index.php?action=gallery;sa=view;id=19708

Fragmentarium/Tweak of pkleinian_menger_max by Crist-JRoger

Unless the site strips EXIF info from uploads, it should be possible to drag this image into Fragmentarium 1.0.27 and up, provided you have opened
Crist-JRogers 02-pkleinian-megner_max.frag


// Output generated from file: D:/fractal/Fragmentarium/Examples/Crist-JRoger HybridPK/02-pkleinian-megner_max.frag
// Created: vr 2. sep 13:24:38 2016
#info Pseudo Kleinian hybrid with Megner

#define providesInit
//#define USE_IQ_CLOUDS
#define KN_VOLUMETRIC
#define USE_EIFFIE_SHADOW
#define MULTI_SAMPLE_AO
#include "MathUtils.frag"
//#include "DE-Kn2cr10.frag"
#include "DE-Kn2cr11.frag"

#group The Baird Delta
uniform int Iterations;  slider[0,10,100]
uniform int mColorIterations;  slider[0,2,100]
uniform float Scale; slider[0.00,3,4.00]
uniform vec3 RotVector; slider[(0,0,0),(1,0,0),(1,1,1)]
uniform float RotAngle; slider[0.00,60,360]
uniform vec3 mOffset; slider[(-2,-2,-2),(1,0,0),(2,2,2)]

mat3 rot;

void init() {
   rot = rotationMatrix3(normalize(RotVector), RotAngle);
}

uniform float YOff; slider[0,0.333333,1]

float DE1(vec3 z)
{
   float r;
   int n = 0;
   while (n < Iterations && dot(z,z)<10000.0) {
      // Fold
      z.xy = sin(z.xy);
      if(z.y>z.x) z.xy=z.yx;
      z.y=YOff-abs(z.y-YOff);
      z.x+=1./3.;if(z.z>z.x) z.xz=z.zx; z.x-=1./3.;
      z.x-=1./3.;if(z.z>z.x) z.xz=z.zx; z.x+=1./3.;
      //z = rot *z;
      z=Scale* (z-mOffset)+mOffset;
      z = rot *z;
      r = dot(z, z);
      if (n<mColorIterations) orbitTrap = min(orbitTrap, abs(vec4(z,r)));
      n++;
   }
   //return abs(length(z)-length(mOffset)) * pow(Scale, float(-n));
   return abs(z.x-mOffset.x) * pow(Scale, float(-n));
}



#group PseudoKleinian

#define USE_INF_NORM

uniform int MI; slider[0,5,100]
uniform float Size; slider[0,1,2]
uniform vec3 CSize; slider[(0,0,0),(1,1,1),(2,2,2)]
uniform vec3 C; slider[(-2,-2,-2),(0,0,0),(2,2,2)]
uniform float DEoffset; slider[0,0,0.01]
uniform vec3 Offset; slider[(-2,-2,-2),(0,0,0),(2,2,2)]
uniform int MnIterations;  slider[0,2,20]
uniform int ColorIterations;  slider[0,2,20]
uniform float MnScale; slider[0.00,3.0,4.00]
uniform vec3 MnOffset; slider[(0,0,0),(1,1,1),(2,2,2)]

float Menger(vec3 z)
{
   float r;
   int n = 0;
   z = abs(z);
   if (z.x<z.y){ z.xy = z.yx;}
   if (z.x<z.z){ z.xz = z.zx;}
   if (z.y<z.z){ z.yz = z.zy;}
   if (z.z<1./3.){ z.z -=2.*( z.z-1./3.);}
   
while (n < MnIterations && dot(z,z)<100.0) {
      
      z=MnScale* (z-MnOffset)+MnOffset;
      z = abs(z);
      if (z.x<z.y){ z.xy = z.yx;}
      if (z.x< z.z){ z.xz = z.zx;}
      if (z.y<z.z){ z.yz = z.zy;}
      if (z.z<1./3.*MnOffset.z){ z.z -=2.*( z.z-1./3.*MnOffset.z);}
      r = dot(z-MnOffset, z-MnOffset);
      orbitTrap = min(orbitTrap, abs(vec4(z,r)));
      n++;
   }
   
   //return (length(z)-sqrt(3.) ) * pow(Scale, float(-n));
   return float(z.x-MnOffset) * pow(MnScale, float(-n));
}

float Thing2(vec3 p){
#ifdef USE_INF_NORM  
   vec3 p1=abs(p);
   float r2=max(p1.x,max(p1.y,p1.z));
#else
   float r2=dot(p,p);
#endif
   float DEfactor=1.;
   for(int i=0;i<MI && r2<60.;i++){
      p=2.*clamp(p, -CSize, CSize)-p;
     
      r2=dot(p,p);
      orbitTrap = min(orbitTrap, abs(vec4(p,r2)));
      float k=max(Size/r2,1.);
      p*=k;DEfactor*=k;
     
      p+=C;
#ifdef USE_INF_NORM  
      p1=abs(p);
      r2=max(p1.x,max(p1.y,p1.z));
#else
       r2=dot(p,p);
#endif
      if (i < ColorIterations) orbitTrap = min(orbitTrap, abs(vec4(p,r2)));
   }

   return abs(0.5*Menger(p-Offset)/DEfactor-DEoffset);
}


float DE(vec3 pos){
   return  max(DE1(pos),Thing2(pos) );
   //return  Thing2(pos)+DE1(pos) ;
}





#preset default
FOV = 0.0966851
Eye = 2.509701,1.723341,-3.142156
Target = -4.337785,-2.370456,-7.839994
Up = -0.4074464,-0.2765451,0.8348742
Gamma = 0.8
ToneMapping = 5
Exposure = 1
Brightness = 1
Contrast = 1.8
Saturation = 1
GaussianWeight = 2
AntiAliasScale = 2
Detail = -2.35137
FudgeFactor = 0.1019383
Dither = 0.3
NormalBackStep = 0
CamLight = 0.945098,0.92549,0.815686,0.3692529
BaseColor = 0.9176471,0.9176471,0.9176471
OrbitStrength = 0.3131241
X = 0.372549,0.4431373,0.4705882,0.826087
Y = 1,0.6,0,0.5792426
Z = 0.8,0.78,1,-0.2748948
R = 0.4,0.7,1,-0.6842105
BackgroundColor = 0.7607843,0.854902,0.9019608
GradientBackground = 2.523705
CycleColors = true
Cycles = 26.06702
EnableFloor = true
FloorNormal = 0,0,1
FloorHeight = -3.99929
FloorColor = 0.9686275,0.7647059,0.5568627
UpLock = false
FocalPlane = 1.548704
Aperture = 0.0393338
InFocusAWidth = 0.057929
DofCorrect = true
ApertureNbrSides = 8
ApertureRot = 0
ApStarShaped = false
Bloom = true
BloomIntensity = 0.7
BloomPow = 3
BloomTaps = 35
BloomStrong = 1.96102
RefineSteps = 9
MaxRaySteps = 2000
MaxDistance = 50
DetailAO = -0.0147679
coneApertureAO = 0.1607787
maxIterAO = 11
FudgeAO = 1
AO_ambient = 1.138396
AO_camlight = 0.87234
AO_pointlight = 0.70166
AoCorrect = 0.7385483
Specular = 0.23552
SpecularExp = 106.06
AmbiantLight = 0.533333,0.486275,0.580392,0.68086
Reflection = 0.180392,0.203922,0.211765
ReflectionsNumber = 2
SpotGlow = true
SpotLight = 1,0.678431,0.411765,1.046931
LightPos = -0.0948852,0.158012,-4.28815
LightSize = 0
LightFallOff = 0.13868
LightGlowRad = 0.2066999
LightGlowExp = 0.6618705
HardShadow = 1
ShadowSoft = 3.1998
ShadowBlur = 0.05719
perf = false
SSS = false
sss1 = 0.67797
sss2 = 0
HF_Fallof = 5
HF_Const = 0.0478536
HF_Intensity = 0.2560455
HF_Dir = 0.02912,0.53398,1
HF_Offset = -8.481
HF_Color = 0.345098,0.615686,0.619608,1.971983
HF_Scatter = 0
HF_Anisotropy = 0.054902,0.364706,0.45098
HF_FogIter = 1
HF_CastShadow = true
EnCloudsDir = false NotLocked
Clouds_Dir = 0,0,1 NotLocked
CloudScale = 1.68885 NotLocked
CloudFlatness = 0 NotLocked
CloudTops = 3 NotLocked
CloudBase = -8.7342 NotLocked
CloudDensity = 0.65789 NotLocked
CloudRoughness = 1.42372 NotLocked
CloudContrast = 0 NotLocked
CloudColor = 0.403922,0.47451,0.545098 NotLocked
CloudColor2 = 0.07,0.17,0.24 NotLocked
SunLightColor = 0.486275,0.513725,0.686275 NotLocked
Cloudvar1 = 0.99 NotLocked
Cloudvar2 = 1 NotLocked
CloudIter = 5 NotLocked
CloudBgMix = 1 NotLocked
Iterations = 20
mColorIterations = 6
Scale = 2
RotVector = 0.1267606,0.0887324,0.0971831
RotAngle = 84.13598
mOffset = 1.270175,-2,0.08
YOff = 0.0200553
MI = 18
Size = 0.2968641
CSize = 0.6386555,0.5070028,1.973389
C = -1.362439,-0.8995149,0.037422
DEoffset = 0
Offset = -1.627907,-1.912615,-1.960536
MnIterations = 0
ColorIterations = 1
MnScale = 0.1724382
MnOffset = 0.3278921,0.5521647,0.7224982
#endpreset



Title: Re: HoldOn
Post by: 3dickulus on October 15, 2016, 02:06:50 AM
I tested earlier with a thumbnail, the EXIF data does get stripped :(
you could use Render->Screen Shot then zip the png and attach the zip?


Title: Re: HoldOn
Post by: Sabine on October 15, 2016, 11:37:18 AM
Yep, came to the same conclusion, 3dickulus :(
Attaching a zip is an option, but works probably slower than just pasting the settings ;)
But here at home the option is a blast, keeps my frag folder nice and clean! :)