Logo by teamfresh - 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: Follow us on Twitter
 
*
Welcome, Guest. Please login or register. March 28, 2024, 06:24:30 PM


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 4 ... 9   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: Fragmentarium - an IDE for exploring 3D fractals and other systems on the GPU.  (Read 51022 times)
0 Members and 1 Guest are viewing this topic.
David Makin
Global Moderator
Fractal Senior
******
Posts: 2286



Makin' Magic Fractals
WWW
« Reply #15 on: March 23, 2011, 02:46:10 AM »

Since the DE estimate is only an estimate it should get scaled by a user-selected value to convert it into an actual step distance anyway.

In my case I tested all the methods I use for DE on rendering standard quaternionic z^2+c with the standard analytical method as the baseline and have preset internal adjustments for 2 things in particular with respect to DE and rendering - 1st to make all the methods as close as possible in terms of a given adjusted DE threshold distance (i.e. solid threshold) producing the same visual result plus another adjustment to convert from DE to actual step distance - this second scale factor being made smaller and smaller the more inaccurate the DE method used is.
The internal adjustements I guess should be done so that whatever DE method is actually used then the user-parameters for DE "solid" threshold (closeness) and "accuracy" (step-scale adjustment to DE value) should have the same defaults from the user's point of view.
Of course my UF formula also allows the user the option to have these values adjusted during render based on the distance from viewpoint.
Eventually I hope to spend more time on this so I can improve the adjustments to allow for the DE never quite being truly linear with respect to the true (minimum) distance no matter which DE method is used.
Ideally DE scale and step-scale values for the Mandelbox and KIFS should be calculated separately again for each type of DE used - of course once you start using combined formulas things get a little more tricky wink
Logged

The meaning and purpose of life is to give life purpose and meaning.

http://www.fractalgallery.co.uk/
"Makin' Magic Music" on Jango
visual.bermarte
Fractal Fertilizer
*****
Posts: 355



« Reply #16 on: May 08, 2011, 02:00:31 PM »





Logged
visual.bermarte
Fractal Fertilizer
*****
Posts: 355



« Reply #17 on: May 10, 2011, 07:33:04 PM »

thanx 2 DarkBeam  smiley


« Last Edit: May 10, 2011, 10:52:22 PM by visual » Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #18 on: May 11, 2011, 05:21:38 PM »

Nice renders, Visual. There has not been a lot progress on Fragmentarium lately, but I've been trying to make it easier to explore hybrids and reuse formulas, and have played around with numerical distance estimation (Buddhi's 4-point method).

Here is a few pictures:







Btw, if you have feature requests, or bug reports, just post them here.
Logged
ker2x
Fractal Molossus
**
Posts: 795


WWW
« Reply #19 on: May 11, 2011, 06:04:51 PM »

Impressive  shocked
It works very well on my Ubuntu 10.04 LTS 64 bits Laptop (with a GTX460M)

Thank you very much for making it opensource (and using github).
Logged

often times... there are other approaches which are kinda crappy until you put them in the context of parallel machines
(en) http://www.blog-gpgpu.com/ , (fr) http://www.keru.org/ ,
Sysadmin & DBA @ http://www.over-blog.com/
alexl
Safarist
******
Posts: 91


WWW
« Reply #20 on: May 11, 2011, 07:17:30 PM »

Here is a few pictures:
Wow! Excellent! Can you show DE() for these samples?
Logged

Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #21 on: May 11, 2011, 09:46:24 PM »

Here is a few pictures:
Wow! Excellent! Can you show DE() for these samples?

My script for the above pictures is a *terrible* mess, but the basic loop is:
Code:
          while (r<10 && n < 14) {
if (n==iter)break;

if (n<6) {
boxFold(z,dz);
sphereFold(z,dz);
z = Scale*z;
dz*=abs(Scale);
} else {
octo(z,dz);
r = length(z);
powN2(z,r,dz);
}
r = length(z);
n++;
}

If you want to see the whole script, it is here:
Code:
#include "DE-Raytracer.frag"
#include "MathUtils.frag"
#group Hybrid
// Inspired by the Spudsville systems

uniform float Scale; slider[-5.00,2.0,4.00]

// Scaling center
uniform vec3 Offset; slider[(0,0,0),(1,1,1),(5,5,5)]

mat3 rot;

void init() {
}

uniform float fixedRadius2; slider[0.1,1.0,2.3]
uniform float minRadius2; slider[0.0,0.25,2.3]
void sphereFold(inout vec3 z, inout float dz) {
float r2 = dot(z,z);
if (r2< minRadius2) {
float temp = (fixedRadius2/minRadius2);
z*= temp;
dz*=temp;
} else if (r2<fixedRadius2) {
float temp =(fixedRadius2/r2);
z*=temp;
dz*=temp;
}
}

uniform float foldingValue; slider[0.0,2.0,5.0]
uniform float foldingLimit; slider[0.0,1.0,5.0]
void boxFold2(inout vec3 z, inout float dz) {
if (z.x>foldingLimit) { z.x = foldingValue-z.x; }  else if (z.x<-foldingLimit) z.x = -foldingValue-z.x;
if (z.y>foldingLimit)  { z.y = foldingValue-z.y;  } else if (z.y<-foldingLimit) z.y = -foldingValue-z.y;
if (z.z>foldingLimit)  { z.z = foldingValue-z.z ; } else if (z.z<-foldingLimit) z.z = -foldingValue-z.z;
}

uniform float foldingLimit2; slider[0.0,1.0,5.0]
void boxFold(inout vec3 z, inout float dz) {
z = clamp(z, -foldingLimit, foldingLimit) * 2.0 - z;
}

void boxFold3(inout vec3 z, inout float dz) {
z = clamp(z, -foldingLimit2,foldingLimit2) * 2.0 - z;
}


void mengerFold(inout vec3 z, inout float dz) {
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;}
z = Scale*z-Offset*(Scale-1.0);
if( z.z<-0.5*Offset.z*(Scale-1.0))  z.z+=Offset.z*(Scale-1.0);
dz*=Scale;

}

uniform float Scale2; slider[0.00,2,4.00]
uniform vec3 Offset2; slider[(0,0,0),(1,0,0),(1,1,1)]

void octo(inout vec3 z, inout float dz) {
if (z.x+z.y<0.0) z.xy = -z.yx;
if (z.x+z.z<0.0) z.xz = -z.zx;
if (z.x-z.y<0.0) z.xy = z.yx;
if (z.x-z.z<0.0) z.xz = z.zx;
z = z*Scale2 - Offset2*(Scale2-1.0);
dz*= Scale2;
}

uniform float Power; slider[0.1,8.0,12.3]
uniform float ZMUL; slider[-140.0,1,10]
void powN2(inout vec3 z, float zr0, inout float dr) {
float zo0 = asin( z.z/zr0 );
float zi0 = atan( z.y,z.x );
float zr = pow( zr0, Power-1.0 );
float zo = zo0 * Power;
float zi = zi0 * Power;
dr = zr*dr*Power*abs(length(vec3(1.0,1.0,ZMUL)/sqrt(3.0))) + 1.0;
zr *= zr0;
z  = zr*vec3( cos(zo)*cos(zi), cos(zo)*sin(zi), ZMUL*sin(zo) );
}

float DE2(vec3 pos) {
vec3 z=pos;
float r;
float dr=1.0;
int i=0;
r=length(z);
while(r<100 && (i<8)) {
powN2(z,r,dr);
z+=pos;
r=length(z);
z*=rot;
if (i<5) orbitTrap = min(orbitTrap, abs(vec4(z.x,z.y,z.z,r*r)));
i++;
}

return 0.5*log(r)*r/dr;

}
uniform int MN; slider[0,5,50]
float DE(vec3 z, inout float dz, inout int iter)
{
vec3 c = z;
// z = vec3(0.0);
int n = 0;
//float dz = 1.0;
float r = length(z);
while (r<10 && n < 14) {
if (n==iter)break;

if (n<MN) {
boxFold(z,dz);
sphereFold(z,dz);
z = Scale*z; //+c;//+c*Offset;
dz*=abs(Scale);
} else {
octo(z,dz);
r = length(z);
powN2(z,r,dz);
}
r = length(z);

if (n<2 && iter<0) orbitTrap = min(orbitTrap, (vec4(abs(4.0*z),dot(z,z))));
n++;
}
if (iter<0) iter = n;

return r;
}

uniform bool Analytic; checkbox[true]

uniform float DetailGrad;slider[-7,-2.8,7];
float gradEPS = pow(10.0,DetailGrad);

float DE(vec3 pos) {
int iter = -1;
float dz = 1.0;
if (Analytic) {
float r = DE(pos, dz, iter);
return (r*log(r) / dz);
} else  {
vec3 e = vec3(0.0,gradEPS,0.0);
float r = abs(DE(pos, dz, iter));
vec3 grad =vec3( DE(pos+e.yxx, dz, iter),  DE(pos+e.xyx, dz, iter),  DE(pos+e.xxy,dz,  iter) )-vec3(r);
return r*log(r)*0.5/ length( grad/gradEPS);
}
}

float DED(vec3 pos, vec3 dir) {
int iter = -1;
float dz = 1.0;
vec3 e = -dir*gradEPS;
float r = abs(DE(pos, dz, iter));
float grad =DE(pos+e, dz, iter)-r;
return r*log(r)*0.5/ abs( grad/gradEPS);
}

#preset Great
FOV = 0.62536
Eye = 2.01082,2.74166,3.98073
Target = 2.33583,-4.84236,4.31657
Up = -9.898e-06,-0.0442387,-0.999018
AntiAlias = 1
AntiAliasBlur = 1
Detail = -3.99665
DetailNormal = -5.99039
DetailAO = 0
FudgeFactor = 0.01573
MaxRaySteps = 530
MaxRayStepsDiv = 3.5
BoundingSphere = 10
Dither = 0.5
AO = 0,0,0,1
Specular = 0
SpecularExp = 16
SpotLight = 1,1,1,0.68478
SpotLightDir = -0.82858,0.1
CamLight = 1,1,1,0.77273
CamLightMin = 0.36449
Glow = 1,1,1,0
Fog = 2
HardShadow = 0
BaseColor = 1,1,1
OrbitStrength = 0.13861
X = 0.498039,0.262745,0.6,0.41732
Y = 1,1,1,0.11812
Z = 0.333333,1,0.258824,0.2756
R = 0.4,0.7,1,0.5873
BackgroundColor = 0.6,0.6,0.45
GradientBackground = 0.3
CycleColors = true
Cycles = 4.06318
Scale = -2.07185
Offset = 1.25,0.8456,0.9191
fixedRadius2 = 1.10571
minRadius2 = 0.03871
foldingValue = 2
foldingLimit = 2.01755
foldingLimit2 = 1
Scale2 = 0.79884
Offset2 = 1,1,0
Power = 1.81825
ZMUL = -140
MN = 6
Analytic = true
DetailGrad = -2.8
#endpreset

#preset Futura
FOV = 0.62536
Eye = 2.01619,2.75179,3.99268
Target = 2.20567,-4.85338,3.42426
Up = -0.0125349,0.0742175,-0.99716
AntiAlias = 1
AntiAliasBlur = 1
Detail = -3.99665
DetailNormal = -5.99039
DetailAO = 0
FudgeFactor = 0.01573
MaxRaySteps = 530
MaxRayStepsDiv = 3.5
BoundingSphere = 10
Dither = 0.5
AO = 0,0,0,1
Specular = 0
SpecularExp = 16
SpotLight = 1,1,1,0.68478
SpotLightDir = -0.82858,0.1
CamLight = 1,1,1,0.77273
CamLightMin = 0.36449
Glow = 1,1,1,0
Fog = 1.91946
HardShadow = 0
BaseColor = 1,1,1
OrbitStrength = 0.13861
X = 0.498039,0.262745,0.6,0.41732
Y = 1,1,1,0.11812
Z = 0.333333,1,0.258824,0.2756
R = 0.4,0.7,1,0.5873
BackgroundColor = 0.6,0.6,0.45
GradientBackground = 0.3
CycleColors = false
Cycles = 4.06318
Scale = -2.07185
Offset = 1.25,0.8456,0.9191
fixedRadius2 = 1.10571
minRadius2 = 0.03871
foldingValue = 2
foldingLimit = 2.01755
foldingLimit2 = 1
Scale2 = 0.79884
Offset2 = 1,1,0
Power = 1.81825
ZMUL = -140
MN = 6
Analytic = true
DetailGrad = -2.8
#endpreset

#preset p1
FOV = 0.595581
Eye = 1.25125,-0.200486,1.00756
Target = -6.83342,0.316279,4.0991
Up = 0.328927,-0.0522827,0.868915
AntiAlias = 1
AntiAliasBlur = 1
Detail = -2.60582
DetailNormal = -2.42305
DetailAO = 0
AOSpread = 1
FudgeFactor = 0.26168
MaxRaySteps = 652
MaxRayStepsDiv = 2
BoundingSphere = 2
Dither = 0.5
AO = 0,0,0,0.81967
Specular = 0.4167
SpecularExp = 16
SpotLight = 1,1,1,0.72826
SpotLightDir = 0.54286,0.1
CamLight = 1,1,1,0.23656
Glow = 0.356863,1,0.12549,0.50876
Fog = 0.10738
HardShadow = 1
BaseColor = 1,1,1
OrbitStrength = 0.42574
X = 0.411765,0.6,0.560784,0.88976
Y = 0.666667,0.666667,0.498039,0.1496
Z = 1,0,0,0.46456
R = 1,0.666667,0,0.60318
BackgroundColor = 0.203922,0.227451,0.368627
GradientBackground = 0.5
CycleColors = true
Cycles = 6.78762
Scale = 2
RotVector = 1,1,1
RotAngle = 0
Offset = 1,1,1
fixedRadius2 = 1
minRadius2 = 0.25
foldingValue = 2
foldingLimit = 2.10525
ZMUL = -0.229
Analytic = false
DetailGrad = -3.56146
#endpreset

#preset F
FOV = 0.62536
Eye = 2.56637,3.86792,-0.754746
Target = 0.509966,0.674452,1.10844
Up = -0.191611,-0.396206,-0.890571
AntiAlias = 1
AntiAliasBlur = 1
Detail = -3.06572
DetailNormal = -4.03844
DetailAO = 0
FudgeFactor = 0.04673
MaxRaySteps = 583
MaxRayStepsDiv = 1.8
BoundingSphere = 10
Dither = 0.5
AO = 0,0,0,0.7
Specular = 2.4348
SpecularExp = 16
SpotLight = 1,1,1,0.73563
SpotLightDir = -0.52,0.1
CamLight = 1,1,1,0.77273
CamLightMin = 0.18692
Glow = 0,0.666667,0,1
Fog = 1.44966
HardShadow = 1
BaseColor = 1,1,1
OrbitStrength = 0.18812
X = 0.411765,0.6,0.560784,0.30708
Y = 0.666667,0.666667,0.498039,0.40158
Z = 0.666667,0.333333,1,0.02362
R = 0.4,0.7,1,-0.96832
BackgroundColor = 0.6,0.6,0.45
GradientBackground = 0.3
CycleColors = true
Cycles = 4.80603
Scale = -2
Offset = 1.25,0.8456,0.9191
fixedRadius2 = 0.5609
minRadius2 = 0.0625
foldingValue = 2
foldingLimit = 1.44735
foldingLimit2 = 1
Scale2 = 2.61764
Offset2 = 1,0,0
Power = 1.03135
ZMUL = -140
MN = 7
Analytic = true
DetailGrad = -2.8
#endpreset

#preset Ville
FOV = 0.62536
Eye = 4.36274,2.40381,0.932371
Target = -2.8913,-0.351315,0.36855
Up = 0.0793765,-0.00854807,-0.979476
AntiAlias = 1
AntiAliasBlur = 1
Detail = -3.06572
DetailNormal = -4.03844
DetailAO = 0
FudgeFactor = 0.04673
MaxRaySteps = 583
MaxRayStepsDiv = 1.8
BoundingSphere = 10
Dither = 0.5
AO = 0,0,0,0.7
Specular = 2.4348
SpecularExp = 16
SpotLight = 1,1,1,0.73563
SpotLightDir = -0.52,0.1
CamLight = 1,1,1,0.77273
CamLightMin = 0.18692
Glow = 1,1,1,0
Fog = 0.24162
HardShadow = 1
BaseColor = 1,1,1
OrbitStrength = 0.16832
X = 0.411765,0.6,0.560784,0.30708
Y = 0.666667,0.666667,0.498039,0.40158
Z = 0.666667,0.333333,1,0.02362
R = 0.4,0.7,1,-0.96832
BackgroundColor = 0.6,0.6,0.45
GradientBackground = 0.3
CycleColors = false
Cycles = 18.1816
Scale = -2
RotVector = 1,1,1
RotAngle = 0
Offset = 1.25,0.8456,0.9191
fixedRadius2 = 1
minRadius2 = 0.0625
foldingValue = 2
foldingLimit = 2.01755
Scale2 = 2
Offset2 = 1,0,0
Power = 2.05554
ZMUL = -9.084
Analytic = true
DetailGrad = -2.8
#endpreset

#preset MN
FOV = 0.62536
Eye = 1.82748,2.819,3.89641
Target = -0.157115,10.1441,5.24904
Up = -0.230691,-0.235678,0.937828
AntiAlias = 1
AntiAliasBlur = 1
Detail = -3.57665
DetailNormal = -4.03844
DetailAO = 0
FudgeFactor = 0.04673
MaxRaySteps = 843
MaxRayStepsDiv = 1.8
BoundingSphere = 10
Dither = 0.5
AO = 0,0,0,0.7
Specular = 2.4348
SpecularExp = 16
SpotLight = 1,1,1,0.73563
SpotLightDir = -0.52,0.1
CamLight = 1,1,1,0.77273
CamLightMin = 0.18692
Glow = 1,1,1,0
Fog = 0.24162
HardShadow = 1
BaseColor = 1,1,1
OrbitStrength = 0.16832
X = 0.498039,0.262745,0.6,0.30708
Y = 0.666667,0.121569,0.121569,0.25984
Z = 0.333333,1,0.258824,0.38582
R = 0.4,0.7,1,-0.96832
BackgroundColor = 0.6,0.6,0.45
GradientBackground = 0.3
CycleColors = true
Cycles = 8.27397
Scale = -2.25185
Offset = 1.25,0.8456,0.9191
fixedRadius2 = 1.08472
minRadius2 = 0.1832
foldingValue = 2
foldingLimit = 2.01755
foldingLimit2 = 1
Scale2 = 1.55884
Offset2 = 1,1,0
Power = 2.42825
ZMUL = -140
MN = 6
Analytic = true
DetailGrad = -2.8
#endpreset

#preset Abstraction
FOV = 0.62536
Eye = 2.03979,2.41975,3.79673
Target = 0.259702,-1.54583,-2.44596
Up = 0.835361,0.323895,-0.443951
AntiAlias = 1
AntiAliasBlur = 1
Detail = -4.08758
DetailNormal = -3.63461
DetailAO = 0
FudgeFactor = 0.01573
MaxRaySteps = 357
MaxRayStepsDiv = 3.5
BoundingSphere = 10
Dither = 0.5
AO = 0,0,0,1
Specular = 9.25
SpecularExp = 32.292
SpotLight = 1,1,1,0.68478
SpotLightDir = -0.82858,0.1
CamLight = 1,1,1,0.51612
CamLightMin = 1
Glow = 1,0.85098,0,0.21053
Fog = 0.79194
HardShadow = 0
BaseColor = 1,1,1
OrbitStrength = 0.13861
X = 0.498039,0.262745,0.6,0.41732
Y = 1,1,1,0.11812
Z = 0.333333,1,0.258824,0.2756
R = 0.4,0.7,1,0.5873
BackgroundColor = 0.6,0.6,0.45
GradientBackground = 0.3
CycleColors = true
Cycles = 4.06318
Scale = -2.07185
Offset = 1.25,0.8456,0.9191
fixedRadius2 = 1.10571
minRadius2 = 0.03871
foldingValue = 2
foldingLimit = 2.01755
foldingLimit2 = 1
Scale2 = 0.35296
Offset2 = 0,0.72308,0.26154
Power = 1.81825
ZMUL = -140
MN = 8
Analytic = true
DetailGrad = -2.8
#endpreset

I'll include the script in a clean version in next release of Fragmentarium.
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #22 on: May 13, 2011, 09:26:07 PM »

Nice renderings! Repeating Zooming Self-Silimilar Thumb Up, by Craig
Two little feature requests:  embarrass
Is it possible to support azerty keyboards in the next versions or to be able to remap the keys in the options box?
It would be nice if there is some more parametres types. For example, the rotation matrix could be computed outside the fragment shader by using some scripting language (javascript would be good for that IMHO).

Here are attached some scripts similar to the ones I've already posted in boxplorer thread (+ 2D mandel and newton). It's a simplified version of Theli-At's kleinian drops. Hope you'll like them.

* PK04.zip (1.9 KB - downloaded 437 times.)
* MB2.5D01.zip (1.21 KB - downloaded 399 times.)
Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #23 on: May 14, 2011, 08:41:07 AM »

Nice renderings! Repeating Zooming Self-Silimilar Thumb Up, by Craig
Two little feature requests:  embarrass
Is it possible to support azerty keyboards in the next versions or to be able to remap the keys in the options box?
It would be nice if there is some more parametres types. For example, the rotation matrix could be computed outside the fragment shader by using some scripting language (javascript would be good for that IMHO).

Here are attached some scripts similar to the ones I've already posted in boxplorer thread (+ 2D mandel and newton). It's a simplified version of Theli-At's kleinian drops. Hope you'll like them.

These scripts are really great! Can I include them in the next version of Fragmentarium?

I guess I could implement JavaScript support (I did that in Structure Synth, to add support for building animations). But I'm not sure I can see the benefit: Isn't it much easier to just calculate the matrix in GLSL, where you have proper vector and matrix types? Wrt to animation I plan to build on the current timeline approach, where you can adjust the GLSL code, based on the 'time' parameter - I plan to add support for keyframes, and linear interpolation as well (though some better interpolation type probably is necessary for the camera movement).
 
I will take a look at an option for keyboard remapping - I had never heard of azerty-keyboard before :-)
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #24 on: May 14, 2011, 03:55:17 PM »

Of course you can. Thanks!
The scripting language would be useful for uniforms which initialization is expensive and that could be done on the CPU side. The case of the matrix intialization is not very good but recomputing the same value for each pixel at each frame could be avoided. I have already tried (with boxplorer) to do the initializations in the vertex shader (passing the values as varying) but it was slow. I don't know why. sad
Logged
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #25 on: May 14, 2011, 05:25:33 PM »

The scripting language would be useful for uniforms which initialization is expensive and that could be done on the CPU side. The case of the matrix intialization is not very good but recomputing the same value for each pixel at each frame could be avoided. I have already tried (with boxplorer) to do the initializations in the vertex shader (passing the values as varying) but it was slow. I don't know why. sad

It is possible to do the initialization step in the vertex shader in Fragmentarium as well - in version 0.8, I made the vertex shader customizable. It can be specified inside the '#vertex' and '#endvertex' tags (for example in 'DE-raytracer.frag'). Since I'm aiming for modularity, I'm not sure how to nicely put DE-function dependent code there, though. Of course if you didn't see any performance gains, thats not the way to go anyway :-)

In terms of speed I dont think there's much to win by going to JavaScript - even though a single CPU core will be somewhat faster than a single GPU processor unit, interpreted JavaScript will surely be much slower. And if initalizations were done in the vertex shader there would be only four invocations, done in parallel.
 

Logged
eiffie
Guest
« Reply #26 on: May 14, 2011, 05:43:06 PM »

Just thought I'd second knightly's request for scripting. I actually use TinyCC to compile ANSI C "animation" scripts. That way you can pass parameters to the shaders from any source.
Logged
visual.bermarte
Fractal Fertilizer
*****
Posts: 355



« Reply #27 on: May 14, 2011, 05:56:32 PM »

 cheesy
What about Python assembling shaders and running animations?
I did a test with Tacitus and everything is fine (ok for animations--should test with shaders).
@Syntopia: in this case, how can i call fragmentarium and pass params-file using cmd or terminal?
 Thanx
Logged
knighty
Fractal Iambus
***
Posts: 819


« Reply #28 on: May 14, 2011, 08:08:45 PM »

Thank you. I will try using the vertex shader.
Quote
@Syntopia: in this case, how can i call fragmentarium and pass params-file using cmd or terminal?
It would be nice to have command line options too.

BTW, It is possible to compile fragmentaruim with Qt creator. One have just to modify some paths in some of the #include statments and adding reference to OpenGL in the config. That would make compilation on other plateforms than windows quite eazy.
Logged
ker2x
Fractal Molossus
**
Posts: 795


WWW
« Reply #29 on: May 16, 2011, 06:22:54 PM »

Thank you. I will try using the vertex shader.
Quote
@Syntopia: in this case, how can i call fragmentarium and pass params-file using cmd or terminal?
It would be nice to have command line options too.

BTW, It is possible to compile fragmentaruim with Qt creator. One have just to modify some paths in some of the #include statments and adding reference to OpenGL in the config. That would make compilation on other plateforms than windows quite eazy.

i compiled it on my linux with qtcreator without any change at all smiley
Logged

often times... there are other approaches which are kinda crappy until you put them in the context of parallel machines
(en) http://www.blog-gpgpu.com/ , (fr) http://www.keru.org/ ,
Sysadmin & DBA @ http://www.over-blog.com/
Pages: 1 [2] 3 4 ... 9   Go Down
  Print  
 
Jump to:  


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 0.823 seconds with 26 queries. (Pretty URLs adds 0.057s, 2q)