Logo by AGUS - Contribute your own Logo!

END OF AN ERA, FRACTALFORUMS.COM IS CONTINUED ON FRACTALFORUMS.ORG

it was a great time but no longer maintainable by c.Kleinhuis contact him for any data retrieval,
thanks and see you perhaps in 10 years again

this forum will stay online for reference
News: Support us via Flattr FLATTR Link
 
*
Welcome, Guest. Please login or register. March 28, 2024, 11:32:27 AM


Login with username, password and session length


The All New FractalForums is now in Public Beta Testing! Visit FractalForums.org and check it out!


Pages: 1 2 [3]   Go Down
  Print  
Share this topic on DiggShare this topic on FacebookShare this topic on GoogleShare this topic on RedditShare this topic on StumbleUponShare this topic on Twitter
Author Topic: "New" fractal type; Mandalay (in KIFS/ non KIFS versions)  (Read 9837 times)
0 Members and 1 Guest are viewing this topic.
knighty
Fractal Iambus
***
Posts: 819


« Reply #30 on: March 10, 2015, 12:37:11 PM »

Image of the "old" Kifs...
Very cool. Which script/parametrs plz.  Sponge Bob looney

Another script which is more in the spirit of the mandalex:
Code:
#info Pseudo-MandalayBox Distance Estimator.
#define providesInit
#include "DE-Raytracer.frag"
#include "MathUtils.frag"
#group Pseudo_MandalayBox

// Number of iterations.
uniform int Iterations;  slider[0,10,20]

// Scale parameter. A perfect Menger is 3.0
uniform float Scale; slider[-6.0,2,6.00]
uniform bool DoBoxFold; checkbox[false]
uniform vec3 RotVector; slider[(0,0,0),(1,0,0),(1,1,1)]

// Scale parameter. A perfect Menger is 3.0
uniform float RotAngle; slider[0.00,00,360]

uniform vec3 fo; slider[(0.,0,0),(0.5,0.5,0.5),(2.,2.,2.)]
uniform vec3 gh; slider[(0.,0,0),(0.1,0.1,0.1),(2.,2.,2.)]
uniform vec3 gw; slider[(0.,0,0),(0.,0.,0.),(2.,2.,2.)]
uniform bool Serial; checkbox[false]
//Mandelbox's radial fold
uniform float MinRad2;  slider[0,0.25,1.0]
// Julia
uniform bool Julia; checkbox[false]
uniform vec3 JuliaC; slider[(-4,-4,-4),(1,1,1),(4,4,4)]

mat3 rot;
float sr;
void init() {
rot = rotationMatrix3(normalize(RotVector), RotAngle);
sr = 30.;
}
//DarkBeam's "fold"... reinterpreted... it's more than a fold, much more! Just awesome!
float DBFold(vec3 p, float fo, float g, float w){
if(p.z>p.y) p.yz=p.zy;//Diagonal fold
//Tis is slightly different from the original fold in order to make it continuous in this context
float vx=p.x-2.*fo;
float vy=p.y-4.*fo;
  float v=max(abs(vx+fo)-fo,vy);
float v1=max(vx-g,p.y-w);
v1=max(v1,-abs(p.x));
v=min(v,v1);
return min(v,p.x);
}
//the coordinates are pushed/pulled in parallel
vec3 DBFoldParallel(vec3 p, vec3 fo, vec3 g, vec3 w){
vec3 p1=p;
p.x=DBFold(p1,fo.x,g.x,w.x);
p.y=DBFold(p1.yzx,fo.y,g.y,w.y);
p.z=DBFold(p1.zxy,fo.z,g.z,w.z);
return p;
}
//serial version
vec3 DBFoldSerial(vec3 p, vec3 fo, vec3 g,vec3 w){
p.x=DBFold(p,fo.x,g.x,w.x);
p.y=DBFold(p.yzx,fo.y,g.y,w.y);
p.z=DBFold(p.zxy,fo.z,g.z,w.z);
return p;
}
float DE(vec3 p)
{
vec4 JC=Julia? vec4(JuliaC,0.) : vec4(p,1.);
float r2=dot(p,p);
float dd = 1.;
for(int i = 0; i<Iterations && r2<10000.; i++){

if(DoBoxFold) p = p - clamp(p.xyz, -1.0, 1.0) * 2.0;  // mandelbox's box fold

//Apply pull transformation
vec3 signs=sign(p);//Save the original signs
p=abs(p);
if(Serial) p=DBFoldSerial(p,fo,gh,gw);
else p=DBFoldParallel(p,fo,gh,gw);
p*=signs;//resore signs: this way the mandelbrot set won't extend in negative directions

//Sphere fold
r2=dot(p,p);
float  t = clamp(1./r2, 1., 1./MinRad2);
p*=t; dd*=t;

//Scale and shift
p=p*Scale+JC.xyz; dd=dd*Scale+JC.w;
p=rot*p;

//For coloring and bailout
r2=dot(p,p);
orbitTrap = min(orbitTrap, abs(vec4(p.x,p.y,p.z,r2)));
}
dd=abs(dd);
#if 1
return (sqrt(r2)-sr)/dd;//bounding volume is a sphere
#else
p=abs(p); return (max(p.x,max(p.y,p.z))-sr)/dd;//bounding volume is a cube
#endif
}


#preset Default
FOV = 0.4
Eye = -3.93747,6.81834,-9.853
Target = -0.488534,1.38543,-2.19871
Up = 0.177166,0.852394,0.491972
EquiRectangular = false
FocalPlane = 1
Aperture = 0
Gamma = 1
ToneMapping = 1
Exposure = 1
Brightness = 1
Contrast = 1
Saturation = 1
GaussianWeight = 1
AntiAliasScale = 2
Detail = -3
DetailAO = -1.77779
FudgeFactor = 1
MaxRaySteps = 56
Dither = 0.5
NormalBackStep = 1
AO = 0,0,0,1
Specular = 0.01987
SpecularExp = 69.118
SpecularMax = 10
SpotLight = 1,1,1,1
SpotLightDir = -0.7936,-0.77936
CamLight = 1,1,1,0.6171
CamLightMin = 1
Glow = 1,1,1,0
GlowMax = 20
Fog = 0
HardShadow = 1
ShadowSoft = 20
Reflection = 0
DebugSun = false
BaseColor = 0.65098,0.65098,0.65098
OrbitStrength = 0.34014
X = 0.5,0.6,0.6,0.4625
Y = 1,0.6,0,0.4875
Z = 0.8,0.78,1,0.63126
R = 0.4,0.7,1,-0.2978
BackgroundColor = 0,0,0
GradientBackground = 0.3
CycleColors = false
Cycles = 0.1
EnableFloor = false
FloorNormal = 0,0,1
FloorHeight = 0
FloorColor = 1,1,1
Iterations = 10
Scale = 2
RotVector = 1,0,0
RotAngle = 0
fo = 1.17118,0.2943,1.6096
gh = 1.12994,0.69436,0
gw = 0.,0.,0.
Serial = false
MinRad2 = 0.07524
Julia = false
JuliaC = 1,1,1
DoBoxFold = false
#endpreset


#preset The_town
FOV = 0.56284
Eye = -3.45179,6.37631,2.98642
Target = -0.652397,-2.09871,-1.06227
Up = -0.999959,-0.00821777,-0.0039258
EquiRectangular = false
FocalPlane = 1
Aperture = 0
Gamma = 1
ToneMapping = 1
Exposure = 1
Brightness = 1
Contrast = 1
Saturation = 1
GaussianWeight = 1
AntiAliasScale = 2
Detail = -3
DetailAO = -1.10789
FudgeFactor = 1
MaxRaySteps = 244
Dither = 0.5
NormalBackStep = 1
AO = 0,0,0,0.89655
Specular = 0.08679
SpecularExp = 16
SpecularMax = 10
SpotLight = 1,1,1,1
SpotLightDir = -0.36066,-0.60656
CamLight = 1,1,1,0.69828
CamLightMin = 0.81301
Glow = 1,1,1,0.17808
GlowMax = 20
Fog = 0
HardShadow = 1
ShadowSoft = 20
Reflection = 0
DebugSun = false
BaseColor = 0.623529,0.623529,0.623529
OrbitStrength = 0.37743
X = 0.5,0.6,0.6,-0.22968
Y = 1,0.6,0,0.44876
Z = 0.8,0.78,1,0.15902
R = 0.4,0.7,1,0.08464
BackgroundColor = 0.596078,0.6,0.513725
GradientBackground = 0.3
CycleColors = false
Cycles = 7.03846
EnableFloor = false
FloorNormal = 0,0,0
FloorHeight = 0
FloorColor = 1,1,1
Iterations = 12
Scale = 3.10832
DoBoxFold = true
RotVector = 1,0,0
RotAngle = 173.102
fo = 0.12,0.42286,0.74286
gh = 0.4273,0.62314,0.5638
gw = 0.,0.,0.
Serial = true
MinRad2 = 0.13794
Julia = true
JuliaC = -1.80488,1.0488,-0.12196
#endpreset

#preset Julia_without_boxfold
FOV = 0.4
Eye = -4.90824,2.53261,-8.51092
Target = 0.0511652,-1.16735,-0.655056
Up = 0.17362,0.915496,0.362937
EquiRectangular = false
FocalPlane = 1
Aperture = 0
Gamma = 1
ToneMapping = 1
Exposure = 1
Brightness = 1
Contrast = 1
Saturation = 1
GaussianWeight = 1
AntiAliasScale = 2
Detail = -3
DetailAO = -0.5
FudgeFactor = 1
MaxRaySteps = 169
Dither = 0.5
NormalBackStep = 1
AO = 0,0,0,1
Specular = 0.01987
SpecularExp = 69.118
SpecularMax = 10
SpotLight = 1,1,1,1
SpotLightDir = -0.7936,-0.77936
CamLight = 1,1,1,1.07806
CamLightMin = 0.78445
Glow = 1,1,1,0
GlowMax = 20
Fog = 0
HardShadow = 1
ShadowSoft = 20
Reflection = 0
DebugSun = false
BaseColor = 0.882353,0.882353,0.882353
OrbitStrength = 0.38776
X = 0.5,0.6,0.6,0.4625
Y = 1,0.6,0,0.4875
Z = 0.8,0.78,1,0.63126
R = 0.4,0.7,1,-0.08464
BackgroundColor = 0,0,0
GradientBackground = 0.3
CycleColors = false
Cycles = 0.1
EnableFloor = false
FloorNormal = 0,0,1
FloorHeight = 0
FloorColor = 1,1,1
Iterations = 10
Scale = 2
DoBoxFold = false
RotVector = 1,0,0
RotAngle = 0
fo = 0.93714,0.40572,1.49714
gh = 1.11864,0.92656,0.77966
gw = 0.,0.,0.
Serial = false
MinRad2 = 0.05298
Julia = true
JuliaC = 0.23172,1,1
#endpreset


#preset Mandelbox
FOV = 0.4
Eye = -5.48673,5.57229,-8.29521
Target = -0.691605,-0.0782387,-1.58117
Up = 0.243612,0.817671,0.521601
EquiRectangular = false
FocalPlane = 1
Aperture = 0
Gamma = 1
ToneMapping = 1
Exposure = 1
Brightness = 1
Contrast = 1
Saturation = 1
GaussianWeight = 1
AntiAliasScale = 2
Detail = -3
DetailAO = -0.5
FudgeFactor = 1
MaxRaySteps = 56
Dither = 0.5
NormalBackStep = 1
AO = 0,0,0,1
Specular = 0.01987
SpecularExp = 69.118
SpecularMax = 10
SpotLight = 1,1,1,1
SpotLightDir = -0.7936,-0.77936
CamLight = 1,1,1,0.6171
CamLightMin = 1
Glow = 1,1,1,0
GlowMax = 20
Fog = 0
HardShadow = 1
ShadowSoft = 20
Reflection = 0
DebugSun = false
BaseColor = 0.65098,0.65098,0.65098
OrbitStrength = 0.14966
X = 0.5,0.6,0.6,0.4625
Y = 1,0.6,0,0.4875
Z = 0.8,0.78,1,0.63126
R = 0.4,0.7,1,-0.2978
BackgroundColor = 0,0,0
GradientBackground = 0.3
CycleColors = false
Cycles = 0.1
EnableFloor = false
FloorNormal = 0,0,1
FloorHeight = 0
FloorColor = 1,1,1
Iterations = 10
Scale = 2
RotVector = 1,0,0
RotAngle = 0
fo = 0,0,0
gh = 0,0,0
gw = 0.,0.,0.
Serial = false
MinRad2 = 0.07524
Julia = false
JuliaC = 0.23172,1,1
DoBoxFold = true
#endpreset


#preset Extrusions
FOV = 0.4
Eye = -7.09247,3.6575,-7.85706
Target = -0.960155,-0.410378,-1.08601
Up = 0.407833,0.818881,0.403865
EquiRectangular = false
FocalPlane = 1
Aperture = 0
Gamma = 1
ToneMapping = 1
Exposure = 1
Brightness = 1
Contrast = 1
Saturation = 1
GaussianWeight = 1
AntiAliasScale = 2
Detail = -3
DetailAO = -0.88886
FudgeFactor = 1
MaxRaySteps = 56
Dither = 0.5
NormalBackStep = 1
AO = 0,0,0,1
Specular = 0.01987
SpecularExp = 34.926
SpecularMax = 10
SpotLight = 1,1,1,1
SpotLightDir = -0.7936,-0.77936
CamLight = 1,1,1,0.6171
CamLightMin = 1
Glow = 1,1,1,0
GlowMax = 20
Fog = 0
HardShadow = 1
ShadowSoft = 20
Reflection = 0
DebugSun = false
BaseColor = 0.65098,0.65098,0.65098
OrbitStrength = 0.14966
X = 0.5,0.6,0.6,0.4625
Y = 1,0.6,0,0.4875
Z = 0.8,0.78,1,0.63126
R = 0.4,0.7,1,-0.2978
BackgroundColor = 0,0,0
GradientBackground = 0.3
CycleColors = false
Cycles = 0.1
EnableFloor = false
FloorNormal = 0,0,1
FloorHeight = 0
FloorColor = 1,1,1
Iterations = 10
Scale = 2
DoBoxFold = false
RotVector = 1,0,0
RotAngle = 0
fo = 0.6967,0,0
gh = 1.11864,0.92656,0.77966
gw = 0.,0.,0.
Serial = false
MinRad2 = 0.07524
Julia = true
JuliaC = 0.23172,1,1
#endpreset


#preset Spaceship
FOV = 0.56284
Eye = -3.61238,0.483741,1.84241
Target = 1.45174,1.93239,-6.42262
Up = -0.915273,-0.286927,-0.282753
EquiRectangular = false
FocalPlane = 1
Aperture = 0
Gamma = 1
ToneMapping = 1
Exposure = 1
Brightness = 1
Contrast = 1
Saturation = 1
GaussianWeight = 1
AntiAliasScale = 2
Detail = -3
DetailAO = -1.10789
FudgeFactor = 1
MaxRaySteps = 244
Dither = 0.5
NormalBackStep = 1
AO = 0,0,0,0.89655
Specular = 0.08679
SpecularExp = 16
SpecularMax = 10
SpotLight = 1,1,1,1
SpotLightDir = -0.36066,-0.60656
CamLight = 1,1,1,0.69828
CamLightMin = 0.81301
Glow = 1,1,1,0.17808
GlowMax = 20
Fog = 0
HardShadow = 1
ShadowSoft = 20
Reflection = 0
DebugSun = false
BaseColor = 0.623529,0.623529,0.623529
OrbitStrength = 0.37743
X = 0.5,0.6,0.6,-0.22968
Y = 1,0.6,0,0.44876
Z = 0.8,0.78,1,0.15902
R = 0.4,0.7,1,0.08464
BackgroundColor = 0.596078,0.6,0.513725
GradientBackground = 0.3
CycleColors = false
Cycles = 7.03846
EnableFloor = false
FloorNormal = 0,0,0
FloorHeight = 0
FloorColor = 1,1,1
Iterations = 12
DoBoxFold = true
RotVector = 1,0,0
RotAngle = 0
fo = 0.0961,1.28528,0.74286
gh = 0.4273,0.62314,0.5638
gw = 0.,0.,0.
Serial = true
MinRad2 = 0.11258
Julia = true
Scale = -4.92996
JuliaC = -1.6592,1.8392,1.09328
#endpreset
« Last Edit: March 12, 2015, 08:17:10 PM by knighty, Reason: edited neme of script » Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #31 on: March 10, 2015, 05:58:50 PM »

Oh no! Another one...  shocked What should I pick! wink

Oh, yust because you are you;

Mandelbulb3Dv18{
g....kG....9/...w....2....Um98BMoQ4sz8QQEZ5zs60EVpLo4hHTgzfoT4lpOeHkz0jL8UWFP5xj
................................H35kanZMn.2........Y./..................y.2...wD
...Uz6....E1..../Mk//.....Eo1...Y3....E3.....oGdX.x3CUnD/.......mueU/dkpXm1.BnAn
y.EnAngD12../2...................G/k......................U0.....y1...sD...../..
.z1...kDo2l5CTV1swfZmJ3wFNDxv2Oi1IPhoCaDNa7LnK9hXtHlYDEhpGvMyYGTOkw3CUnD7chL7/87
Eq9BFwVnLs.CzsinQBPhoCajU.....22/.............sD.6....sD..G.....................
.............oAnAt1...sD....zw1.........................................a....k1.
.....Ksulz1.......kz.wD...kG..6.0/...M2...EB....m....c3....F....6/...I1.....SF52
...U.46M5pbcatXN./..zTAe906.o6nzzjw3..EbG7eFT5wD6odIWOor/z1............28.kGX81.
.Ub96aAIVz9.Rbdhssszz.........../EU0.wzzz1...........s/...................E.2c..
zzzz.............0...................2./8.kzzzD............8....................
/EU0.wzzz1....................................8cU0.E./2Ezz/cU08../2E.tzDU08c..2E
./IzT/8cU0.E./2EQs5cU08../2E./bTU08c..2E./2ly/8cU0.E./2EMw5cU08../2E.lqTU08c..2E
./2kz/8cU0.E./2E...cU08czz/cU08cyz1cU08cxz3cU08c................................
E....6E.F2......zzzzz1......ZF5Ol.nAm.kPrJaQ..........................k/.MU/4...
...................yz0..................Uz1.....................................
...wz.........zj........kz1.....................................................
.....................2.....3....7....oIMiFKMg3KShgIG4B3.........................
.Q..4MU/.....................Uzj...................sz...........................
..............zD........kz9........wz...........................................
................................}
{Titel: wires modded}

The settings are completely different but it's still full of wires wink

Scale = -1.5; MinR = 0; Fold = 0.5; ZFold = 1; (Z can be folded indipendently wink use just zf=nz-zfold ) g = 1, no rotation
Use a Julia seed of...
(0;-5.125;0) wink
Logged

No sweat, guardian of wisdom!
knighty
Fractal Iambus
***
Posts: 819


« Reply #32 on: March 11, 2015, 12:04:35 PM »

 thank you post swing DB!
I've updated the previous fragmentarium shader.
Logged
DarkBeam
Global Moderator
Fractal Senior
******
Posts: 2512


Fragments of the fractal -like the tip of it


« Reply #33 on: March 11, 2015, 12:36:49 PM »

 A Beer Cup mate!

Also here is the seedup version of my KIFS version, removing some instructions it works faster. They were OK before the octa-fold but it makes them unneeded wink

Code:
float DE(vec3 pos) {
vec4 p = vec4(pos,1), p0 = p;  // p.w is the distance estimate
       if(Julia) p0.xyz = JuliaC;

for (int i=0; i<Iterations; i++) {
p.xyz*=rot;
             vec3 n = abs(p);
             // Kifs Octahedral fold:
     if(n.y>n.x) n.xy=n.yx;if(n.z>n.y) n.yz=n.zy;if(n.y>n.x) n.xy=n.yx;
             // ABoxKali-like abs folding:
             float fx = -2.*fo+n.x;
             // float fy = -2.*fo+n.y;float fz = -2.*fo+n.z; // unneeded!
             // Edges:
             float xf = (fo-abs(-fo+n.x));
             float yf = (fo-abs(-fo+n.y));
             //float zf = (ztower-abs(-fo+n.z)); // used if ztower > 0
             float zf = ztower+n.z; // used if ztower < 0
             float gy = g+n.y;
             // float gx = g+n.x; float gz = g+n.z; // unneeded!

               if (fx > 0 && fx > n.y ) { // && fx > n.z dropped (speedup) as z<y
                 if (fx > gy ) { // && fx > gz dropped (speedup) as z<y
                  // top:
                  xf += g;
                  yf = (fo-abs(g-fo+n.y));
                  // zf ... unchanged
                 } else {
                  // edges:
                  xf = -n.y;
                  yf = (fo-abs(-3.*fo+n.x));
                  // zf ... unchanged
                 }
       }
             p.x = xf; p.y =yf; p.z = zf;
float r2 = dot(p.xyz, p.xyz);
if (i<ColorIterations) orbitTrap = min(orbitTrap, abs(vec4(p.xyz,r2)));
p *= clamp(max(MinRad2/r2, MinRad2), 0.0, 1.0);  // dp3,div,max.sat,mul
p = p*scale + p0;
             if ( r2>1000.0) break;

}
return ((length(p.xyz) - absScalem1) / p.w - AbsScaleRaisedTo1mIters);
}
Logged

No sweat, guardian of wisdom!
Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #34 on: September 14, 2015, 06:37:50 PM »

Mandalay Distance Estimator
Logged

Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #35 on: November 28, 2015, 07:40:54 AM »

playing  with last changes in AO model

Logged

3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #36 on: November 28, 2015, 08:07:00 PM »

 shocked wow! that looks fantastic! can you post the DE frag file? is it DE-Kn2.frag with "return DE(p)*FudgeFactor" and Syntopia's wang_hash_fp function as RNG seed?
« Last Edit: November 29, 2015, 08:08:29 AM by 3dickulus » Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #37 on: November 29, 2015, 11:57:26 AM »

shocked wow! that looks fantastic! can you post the DE frag file? is it DE-Kn2.frag with "return DE(p)*FudgeFactor" and Syntopia's wang_hash_fp function as RNG seed?
Yes. And AO "fix" too  wink
I use my own version of DE raytracer based on knighty's mods. I called DE-Kn8 just i like this number and its short title  grin
Some parameters could be over the sliders limit! So i recomended to use "classic" build of Frag.

* frag-27.11.2015-02.bmp Files.rar (19.47 KB - downloaded 159 times.)
Logged

3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #38 on: November 29, 2015, 08:57:31 PM »

ty CJR
 Repeating Zooming Self-Silimilar Thumb Up, by Craig
Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
DaveH
Explorer
****
Posts: 57


« Reply #39 on: February 01, 2016, 03:38:54 AM »

I really, really like these Mandalay images, so I did my own Shadertoy version here:-
https://www.shadertoy.com/view/MdV3Wz

I think the formula code has been copied from different sources. I'm not certain though.

Dave H.




Logged
Pages: 1 2 [3]   Go Down
  Print  
 
Jump to:  

Related Topics
Subject Started by Replies Views Last post
Special "offset" and "rotate" options from Fractallab possible in M3d-formula? Mandelbulb 3d « 1 2 » SaMMy 18 27307 Last post April 05, 2011, 12:20:52 PM
by DarkBeam
KIFS and the "fold and cut problem" IFS - Iterated Function Systems knighty 5 5865 Last post May 22, 2011, 02:40:25 PM
by knighty
I had a vague idea that "fractal" was related to "pretty pictures" Meet & Greet Repomancer 5 7655 Last post October 10, 2012, 02:04:23 AM
by David Makin
proclamation: "twitch" hybrid type (new) Theories & Research cKleinhuis 6 467 Last post September 02, 2015, 11:49:49 PM
by cKleinhuis
"cannot combine with previous 'type-name' declaration specifier" Bug Reporting vitke 2 2133 Last post January 30, 2016, 05:16:01 PM
by vitke

Powered by MySQL Powered by PHP Powered by SMF 1.1.21 | SMF © 2015, Simple Machines

Valid XHTML 1.0! Valid CSS! Dilber MC Theme by HarzeM
Page created in 1.404 seconds with 25 queries. (Pretty URLs adds 0.046s, 2q)