Where communities thrive


  • Join over 1.5M+ people
  • Join over 100K+ communities
  • Free without limits
  • Create your own community
People
Repo info
Activity
Krzysztof Marczak
@buddhi1980
what is this code?
mclarekin
@mclarekin
Thanks, pole dance looks very expensive with all those power functions
Krzysztof Marczak
@buddhi1980
nice
bermarte
@bermarte
there is also this part before DEFuran
double function(CVector3 p)
{
double obj=0.25+2.pow(p.z,2.)+(0.25(cos(4.p.y)+cos(2.sqrt(3.)p.x-2.p.y)+cos(2.sqrt(3.)p.x+2.p.y))+0.03(cos(4.sqrt(3.)p.x)+cos(6.p.y-2.sqrt(3.)p.x)+cos(6.p.y+2.sqrt(3.)p.x)));
return obj;
}
mclarekin
@mclarekin
wow, crazy maths
Krzysztof Marczak
@buddhi1980
this can be added as a primitive object
does this function return distance?
bermarte
@bermarte
yes, it can be used as an object, I did some tests with fractals using that structure, it is really slow.
I have also other primitives using the same patterns http://fragmentarium.deviantart.com/art/Grid-354431183
mclarekin
@mclarekin
second image looks good too, might be nice with random lights in flight animation, oops might render too slow for animation. I might code it in OpenCL and see how slow is slow :smile:
bermarte
@bermarte
this one was made using OpenCL
http://bermarte.deviantart.com/art/Hello-wereld-again-435453887
fractal hybrids are slow (I have tested only DEFuran, not the other primitives which are simpler) but primitives are much faster.
mclarekin
@mclarekin
@bermarte all looking good. With the interesting but slow formulas, I try to use them for only 1 or 2 iterations at the beginning of a hybrid sequence. I always find it hard to leave openCL version :smile: , I was using it the other day, testing some mengers, renders were taking only 0.25 seconds.!!
mclarekin
@mclarekin
I have added Zvector axis swap transform, this works well with some formulas like Benesi T1
Sebastian Jennen
@zebastian
how would you like to mark extended formula icons? what do you think about the plus or an "E" for extended, or a completely different rendered icon?
Krzysztof Marczak
@buddhi1980
I'm not sure if we keep that extended formulas. But I think better would be +
mclarekin
@mclarekin
@buddhi1980 My current thoughts are that extended formulas will eventually be removed .
Mandelbox _ ext I need to code one more Mbox formula then it can be removed
Keep hitting enter instead of shift enter
Mandebulb ext and mandelbulbBeta 6 can almost be deleted
Menger can almost be deleted
Quaternion needs a lot of 4D coding to be done
Bensesi need to be chopped into two ..
mclarekin
@mclarekin
But they are all good at the moment as they have some color controls
It comes down to how I allocate my time. I would rather finish coding all the transforming formulas and new formulas before looking at the extended formulas
Krzysztof Marczak
@buddhi1980
I will take care about color control for all formulas.
mclarekin
@mclarekin
@buddhi1980 . cool, even just some basic controls for V2.07 would be great. Then boolean will then be running good.
Sebastian Jennen
@zebastian
@buddhi, do you see, what i am doing wrong?
void RenderWindow::slotFractalSwap(int swapA, int swapB)
{
    cParameterContainer *swap = gParFractal->at(swapA);
    gParFractal[swapA] = gParFractal[swapB];
    gParFractal[swapB] = swap;
    gMainInterface->SynchronizeInterfaceWindow(fractalWidgets[swapA],
                                                                                         &gParFractal->at(swapA),
                                                                                         cInterface::write);
    gMainInterface->SynchronizeInterfaceWindow(fractalWidgets[swapB],
                                                                                         &gParFractal->at(swapB),
                                                                                         cInterface::write);
}
and here is the rest:
QApplication::connect(mainWindow->ui->tabWidget_fractals,
                                                SIGNAL(swapTabs(int, int)),
                                                mainWindow,
                                                SLOT(slotFractalSwap(int, int)));
Krzysztof Marczak
@buddhi1980
what is the result?
Sebastian Jennen
@zebastian
gcc says:
/home/sebastian/buddhi1980-mandelbulber2/mandelbulber2/src/render_window.cpp:2189: Fehler:cannot convert 'cParameterContainer' to 'cParameterContainer*' in initialization
is this even the right way, to swap the fractals?
Krzysztof Marczak
@buddhi1980
it's good way, but there is something wrong in cParameterContainer *swap = gParFractal->at(swapA); Gime a minut to analyze it.
should be
    cParameterContainer swap = gParFractal->at(swapA);
    gParFractal[swapA] = gParFractal[swapB];
    gParFractal[swapB] = swap;
at() returns value not a pointer
Sebastian Jennen
@zebastian
now only last line throws error:
gParFractal[swapB] = swap;
/home/sebastian/buddhi1980-mandelbulber2/mandelbulber2/src/render_window.cpp:2191: Fehler:no match for 'operator=' (operand types are 'cFractalContainer' and 'cParameterContainer')
Krzysztof Marczak
@buddhi1980
try
gParFractal->at(swapB) = swap;
if doesn't work, you can add swap logic inside cFractalContainer class
there will be easier, because you have direct access to array
Sebastian Jennen
@zebastian
thanks, compiles now but crashes, when function gets called.
btw, just found qswap
http://doc.qt.io/qt-4.8/qtalgorithms.html
qSwap(gParFractal[swapA], gParFractal[swapB]);
which seems to be working as well (still crashes :) )
i am not sure, what the problem is right now.
should i commit and you take a look?
Krzysztof Marczak
@buddhi1980
yes, I will look at this
Sebastian Jennen
@zebastian
ok, there it is: buddhi1980/mandelbulber2@d85f85c
Krzysztof Marczak
@buddhi1980
ok
Krzysztof Marczak
@buddhi1980
I have fixed it. Now it doesn't crash
But there is another problem. When you swap tabs then you also swap all widgets.
So if you swap 1 and 2 then you have wighets from fractal 1 on tab no. 2 (look at widgets tooltips, then you will se which parameter is connected)
I'm not sure if this will be possible, but after swap event, you can swap tab contents (all widgets) internally and then swap parameters
This is the reason why I wanted to add arrows to swap parameters between tabs. Swapping tabs by dragging makes mess in widget numbers
Sebastian Jennen
@zebastian
yes, arrows would have been easier, but dragging really has a better user experience and is faster.
we will need to change the tabs as well, or set the objectname again for the swapped tabs,
i will continue to work on this tomorrow evening, thanks for your help!
Martin
@acidhunter
hello everybody, nice to see this chatroom :-)
Krzysztof Marczak
@buddhi1980
Hello