Logo by MarkJayBee - 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 22, 2019, 08:06:30 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 ... 5 6 [7] 8 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 31850 times)
0 Members and 1 Guest are viewing this topic.
ker2x
Fractal Molossus
**
Posts: 795


WWW
« Reply #90 on: January 13, 2012, 05:57:04 PM »

this fractal at 116Mpixel (14508x8388) took less than 20 seconds to render on my laptop (GTX460M)  grin :

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/
bib
Global Moderator
Fractal Senior
******
Posts: 2070


At the borders...


100008697663777 @bib993
WWW
« Reply #91 on: January 13, 2012, 06:04:09 PM »

this fractal at 116Mpixel (14508x8388) took less than 20 seconds to render on my laptop (GTX460M)  grin :

This is absolutely mindblowing. I am still so much focused on M3D. How would you qualify the Fragmentarium learning curve coming from M3D? Especially as regards to animations.
Logged

Between order and disorder reigns a delicious moment. (Paul ValÚry)
ker2x
Fractal Molossus
**
Posts: 795


WWW
« Reply #92 on: January 13, 2012, 07:41:53 PM »

this fractal at 116Mpixel (14508x8388) took less than 20 seconds to render on my laptop (GTX460M)  grin :

This is absolutely mindblowing. I am still so much focused on M3D. How would you qualify the Fragmentarium learning curve coming from M3D? Especially as regards to animations.

i don't know anything about animation in fragmentarium, it probably can't do it right now.
the learning curve is easy, everything is well written/commented GLSL and even if you don't know anything about GLSL you can easily modify/learn it by reading syntopia's blog http://blog.hvidtfeldts.net/ and the exemples.

You can also modify the raymarching engine on the fly (written in GLSL). Fragmentarium itself is a tool to write/compile/run fragment shader, it happen that it's used to do fractals but you could do whatever relatively easily.  grin

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/
Syntopia
Fractal Molossus
**
Posts: 681



syntopiadk
WWW
« Reply #93 on: January 13, 2012, 09:13:51 PM »

Well, Fragmentarium is very much a programmers tool - so the learning curve is steeper than M3D and MB'er, I'm afraid. There is limited support for animations (set 'render mode' to 'animation'), but you have to programmatically base everything on the 'time' variable (no key framing).
Logged
Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #94 on: March 10, 2015, 05:16:09 PM »

just for joke )
added 4D Quaternion Julia into PseudoKleinian  cheesy

Code:
#infoTheli-at's Pseudo Kleinian (Scale 1 JuliaBox + Something
#include "MathUtils.frag"
#include "DE-raytracer.frag"

#group 4D Quaternion Julia

uniform int jIterations;  slider[0,16,100]
uniform float jThreshold; slider[0,10,100]
uniform vec4 jC; slider[(-1,-1,-1,-1),(0.18,0.88,0.24,0.16),(1,1,1,1)]
float DE1(vec3 pos) {
vec4 p = vec4(pos, 0.0);
vec4 dp = vec4(1.0, 0.0,0.0,0.0);
for (int i = 0; i < jIterations; i++) {
dp = 2.0* vec4(p.x*dp.x-dot(p.yzw, dp.yzw), p.x*dp.yzw+dp.x*p.yzw+cross(p.yzw, dp.yzw));
p = vec4(p.x*p.x-dot(p.yzw, p.yzw), vec3(2.0*p.x*p.yzw)) + jC;
float p2 = dot(p,p);
orbitTrap = min(orbitTrap, abs(vec4(p.xyz,p2)));
if (p2 > jThreshold) break;
}
float r = length(p);
return  0.5 * r * log(r) / length(dp);
}


#group PseudoKleinian

#define USE_INF_NORM

uniform int MI; slider[0,5,20]

// Bailout
//uniform float Bailout; slider[0,20,1000]

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 TThickness; slider[0,0.01,2]
uniform float DEoffset; slider[0,0,0.01]
uniform vec3 Offset; slider[(-1,-1,-1),(0,0,0),(1,1,1)]

float RoundBox(vec3 p, vec3 csize, float offset)
{
vec3 di = abs(p) - csize;
float k=max(di.x,max(di.y,di.z));
return abs(k*float(k<0.)+ length(max(di,0.0))-offset);
}


float maxcomp(vec3 a) {
return max(a.x,max(a.y,a.z));
}

float sdToBox( vec3 p, vec3 b )
{
  vec3  di = abs(p) - b;
  float mc = maxcomp(di);
  return min(mc,length(max(di,0.0)));
}

float Thingy(vec3 p, float e){
p-=Offset;
return (abs(length(p.xy)*p.z)-e) / sqrt(dot(p,p)+abs(e));
}

float Thing2(vec3 p){
//Just scale=1 Julia box
float DEfactor=1.;
    vec3 ap=p+1.;
for(int i=0;i<MI && ap!=p;i++){
ap=p;
p=2.*clamp(p, -CSize, CSize)-p;
     
float r2=dot(p,p);
orbitTrap = min(orbitTrap, abs(vec4(p,r2)));
float k=max(Size/r2,1.);

p*=k;DEfactor*=k;
     
p+=C;
orbitTrap = min(orbitTrap, abs(vec4(p,dot(p,p))));
}
//Call basic shape and scale its DE
//return abs(0.5*Thingy(p,TThickness)/DEfactor-DEoffset);

//Alternative shape
//return abs(0.5*RoundBox(p, vec3(1.,1.,1.), 1.0)/DEfactor-DEoffset);
//Just a plane
return abs(0.5*abs((p.z-Offset.z)*DE1(p))/DEfactor-DEoffset);
}

float DE(vec3 p){
return  Thing2(p);//RoundBox(p, CSize, Offset);
}







#preset test
FOV = 0.5
Eye = 2.7293,6.2764,-2.28296
Target = -3.06278,13.1388,-6.68298
Gamma = 0.8654
ToneMapping = 2
Exposure = 1.75533
Brightness = 1
Contrast = 1
Saturation = 1
GaussianWeight = 1
AntiAliasScale = 2
Detail = -3.7
FudgeFactor = 0.7
Dither = 0.86364
NormalBackStep = 1
AO = 0,0,0,0.91489
CamLight = 0.760784,0.870588,1,0.95384
CamLightMin = 1
Glow = 1,1,1,0
GlowMax = 20
BaseColor = 1,1,1
OrbitStrength = 1
X = 0.5,0.6,0.6,0.7
Y = 1,0.6,0,0.59596
Z = 0.8,0.78,1,0.41414
R = 0.4,0.7,1,0.06122
BackgroundColor = 0.313725,0.6,0.541176
GradientBackground = 0.3
CycleColors = false
Cycles = 3.25689
EnableFloor = false
FloorNormal = 0,0,1
FloorHeight = 0
FloorColor = 1,1,1
jIterations = 7
jThreshold = 10
jC = 0.856,1,-1,0.456
MI = 10
Size = 1.03334
CSize = 0.54868,2,2
C = 0,0,0
TThickness = 0
DEoffset = 0
Offset = 0,0,0.26924
Samples = 0
Intensity = 5
Decay = 0.9
ScreenX = 0.5
ScreenY = 0.5
SubframeMax = 10
EquiRectangular = false
FocalPlane = 1.76135
Aperture = 0
DetailAO = -0.67018
MaxRaySteps = 4310
Specular = 0.07143
SpecularExp = 16.176
SpecularMax = 100
SpotLight = 1,0.803922,0.631373,5.4
SpotLightDir = 0.14286,-0.71428
Fog = 0.281
HardShadow = 0.37179 NotLocked
ShadowSoft = 0
Reflection = 0 NotLocked
DebugSun = false
Up = -0.115178,0.105882,0.316753
#endpreset

#preset test1
FOV = 0.5
Eye = 4.74822,7.73998,-3.86969
Target = -4.51354,11.4635,-3.27358
Gamma = 0.8654
ToneMapping = 1
Exposure = 1.75533
Brightness = 1
Contrast = 1
Saturation = 1
GaussianWeight = 1
AntiAliasScale = 2
Detail = -3.7
FudgeFactor = 0.88608
Dither = 0.86364
NormalBackStep = 1
AO = 0,0,0,0.73404
CamLight = 0.760784,0.870588,1,1.6
CamLightMin = 1
Glow = 1,1,1,0.39535
GlowMax = 20
BaseColor = 1,1,1
OrbitStrength = 1
X = 0.5,0.6,0.6,0.7
Y = 1,0.6,0,0.59596
Z = 0.8,0.78,1,0.41414
R = 0.4,0.7,1,0.06122
BackgroundColor = 0.313725,0.6,0.541176
GradientBackground = 0.3
CycleColors = false
Cycles = 3.25689
EnableFloor = false
FloorNormal = 0,0,1
FloorHeight = 0
FloorColor = 1,1,1
jIterations = 7
jThreshold = 9.091
jC = 0.008,-0.104,0.168,1
MI = 10
Size = 1.03334
CSize = 0.54868,2,2
C = 0,0,0
TThickness = 0
DEoffset = 0
Offset = 0,0,0.26924
Samples = 0
Intensity = 5
Decay = 0.9
ScreenX = 0.5
ScreenY = 0.5
SubframeMax = 10
EquiRectangular = false
FocalPlane = 0.328
Aperture = 0.003
DetailAO = -0.67018
MaxRaySteps = 4310
Specular = 0.07143
SpecularExp = 16.176
SpecularMax = 100
SpotLight = 1,0.803922,0.631373,5.4
SpotLightDir = 0.14286,-0.71428
Fog = 0
HardShadow = 0.37179 NotLocked
ShadowSoft = 0
Reflection = 0.2 NotLocked
DebugSun = false
Up = 0.0140523,-0.0214554,0.352351
#endpreset


* test.jpg (122.18 KB, 700x450 - viewed 513 times.)

* test1.jpg (116.09 KB, 700x450 - viewed 511 times.)
Logged

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



WWW
« Reply #95 on: March 15, 2015, 07:22:58 PM »

i don't know anything about animation in fragmentarium, it probably can't do it right now.

I added some "experimental features" to Fragmentarium some time ago, keyframes, parameter morphing, auto focus, and a few other things wink
you can find descriptions, tutorial frags and executable here -> http://www.fractalforums.com/fragmentarium/cat-mull-rom-spline-paths-cameraparameter-keyframes/
The things I'm looking at next are http://chromium.sourceforge.net/doc/index.html and https://github.com/nigels-com/glfixes/blob/master/gl/specs/ARB/gpu_shader_fp64.txt and the ability to select and move keyframe control points with the mouse cheesy
My hacked version of Fragmentarium is just a test bed for some ideas that I wanted in this program and thanks to Syntopia's great code they were easy to implement, perhaps not perfect or proper but working, hopefully, someone with better programming skills than mine will consider polishing some of these ideas.
Logged

Resistance is fertile...
You will be illuminated!

                            #B^] https://en.wikibooks.org/wiki/Fractals/fragmentarium
laser blaster
Iterator
*
Posts: 178


« Reply #96 on: March 15, 2015, 09:18:43 PM »

I'm glad you're putting work into Fragmentarium- keyframes are a big step forward. smiley I would like to hep, but I don't have experience with c++ or qt, and working on someone else's code always feels like digging through a rat's nest to me.  wink

Lately I've thought of several optimizations that should be able to improve raytracting speed on GPU (or CPU) dramatically. I've begun implementing them in my own program (because they require some CPU-side code to implement), but it would probably be more productive for me to instead learn c++ and qt and work on improving Fragmentarium.
Logged
Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #97 on: October 21, 2015, 09:04:46 AM »

Spend some time playing with pseudo-kleinian fractal and added other scripts into that to see what will be happen. Very interesting effect when i added menger_iterated_20.frag from \Examples\Knighty Collection\Fold_and_cut_polyhedra_examples. For variety of forms i replaced some constant values to sliders. PseudoKleinianMenger_03.frag in attached archive.








* PseudoKleinianMenger_03.zip (19.25 KB - downloaded 152 times.)
Logged

Patryk Kizny
Global Moderator
Fractal Fertilizer
******
Posts: 372



kizny
WWW
« Reply #98 on: October 21, 2015, 07:41:31 PM »

Very cool results!
What raytracer did you render it with?
Logged

Visual Artist, Director & Cinematographer specialized in emerging imaging techniques.
Crist-JRoger
Fractal Fertilizer
*****
Posts: 389



WWW
« Reply #99 on: October 21, 2015, 08:59:13 PM »

Thank you! I use DE-Kn2, but i added more options for regulate AO, shadows, bloom. So I deleted all "extra" code like two shadows, and deleted all "#defines" because I dont like it, I replaysed it to checkboxes  wink That's all i can in programming  cheesy
Logged

SCORPION
Conqueror
*******
Posts: 104


« Reply #100 on: October 22, 2015, 12:49:24 AM »

Сергей, ну ты вообще молодец!
Супер!
Я бросил GLSL и фрагментариум год назад, да думаю вернуться, чёт как то всё остальное не очень то....
Ты как, не против где ни будь подытожить и перетереть наработки за год, которые я пропустил?
Твои наработки по накладыванию текстуры - дисплейса ичень интересны, Патриковы трейсеры надо посмотреть.
Ты вроде удачно доработал один? Жалко, что Патрик переметнулся на сунтэкплис или как его там...
Кстати, у тебя сохраняется картинка в формате .exr?
У меня нет - фраг ошибку выдаёт.
Logged
3dickulus
Global Moderator
Fractal Senior
******
Posts: 1558



WWW
« Reply #101 on: October 22, 2015, 03:01:20 AM »

@SCORPION Формат OpenEXR используется только при сохранении изображений из меню "Render->High Resolution and Animation" Окно вывода диалога и 2DSampler загрузки текстур. Снимки экрана и просмотр оказывает только форматы Qt. Если вы можете дать мне немного больше информации о точно, что вы делаете, я мог бы помочь ...
Logged

Resistance is fertile...
You will be illuminated!

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



WWW
« Reply #102 on: October 22, 2015, 07:45:15 AM »

Владимир, без проблем, давай на Деми. А то народ начнёт переводить наши рассказы и запутается.
.exr сохраняется, но я новый фраг не юзаю - там границы ползунков "заморожены" это очень напрягает  smiley

3dickulus, чувак ты знаешь русскийhuh?
Logged

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



WWW
« Reply #103 on: October 22, 2015, 03:20:45 PM »

not Russian, Googlian, just trying to be helpful wink
Logged

Resistance is fertile...
You will be illuminated!

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



WWW
« Reply #104 on: October 24, 2015, 09:52:50 PM »

terrain as surface in PseudoKleinianMenger_03

Logged

Pages: 1 ... 5 6 [7] 8 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.459 seconds with 28 queries. (Pretty URLs adds 0.026s, 2q)