Patryk Kizny
|
|
« Reply #30 on: August 16, 2015, 08:03:58 PM » |
|
Hey,
I am wondering if there's any chance to create a folder from QT Script? If not, would that be possible to implement folder creation on CPP side?
I would like to be able to automate and auto organize renders using timestamps or incremental takes etc. The problem I currently have is that if a given output folder does not exist, Frag will render to some default folder or don't save at all.
|
|
|
Logged
|
Visual Artist, Director & Cinematographer specialized in emerging imaging techniques.
|
|
|
3dickulus
|
|
« Reply #31 on: August 16, 2015, 09:03:16 PM » |
|
of course, the possibilities are infinite, http://doc.qt.io/qt-5/topics-scripting.htmlhttp://doc.qt.io/qt-5/qtscript-index.htmlhttp://doc.qt.io/qt-5/ecmascript.htmlhow about a beta tester update from you... regarding the current build? were your problems user generated or coding issues? gui still lagging? too many little bugs to start anything new, if you are asking for something new then I must assume that the issues you had are resolved... how about a beta tester update from you... when all current issues are fixed I may consider looking at requests that help me explore fractals, keeping your hard drive organized does not help me explore fractals. edit: the most recent bugs to be squished... 0x1b78c00 void QWindowPrivate::setTopLevelScreen(QScreen*, bool) ( QScreen(0x1b1b050) ): Attempt to set a screen on a child window. and Program received signal SIGSEGV, Segmentation fault. 0x000000000043e1d2 in Fragmentarium::GUI::Camera3D::wheelEvent(QWheelEvent*) () added some uninitialized variable checking that seems to have helped. fix is in the most recent source code v1.0.10 08/16/15, if I have time and the fractal gods are smiling I might have v1.0.10 win executables available soon.
|
|
« Last Edit: August 16, 2015, 09:43:37 PM by 3dickulus, Reason: upd2 »
|
Logged
|
|
|
|
Patryk Kizny
|
|
« Reply #32 on: August 21, 2015, 01:14:13 AM » |
|
Would that be possible to add ApplyPreset("MyPreset") method? That would allow for fuller scripting control of the render process.
|
|
|
Logged
|
Visual Artist, Director & Cinematographer specialized in emerging imaging techniques.
|
|
|
3dickulus
|
|
« Reply #33 on: August 21, 2015, 02:26:13 AM » |
|
it's already there... in your fqs file make the preset(s) you want as text string variable(s) in the format of a fragparms file like menu item Parameters->Save to file... makes. myPreset = "FOV = 0.8878 Eye = 0.620144,-5.07447,-7.462 Target = -1.86574,-9.80258,-7.20642 Up = -0.0314126,-0.0597995,-0.997716 EquiRectangular = false FocalPlane = 0.00975 Aperture = 0 Gamma = 1 ToneMapping = 2 Exposure = 1 Brightness = 1 Contrast = 1 Saturation = 1 GaussianWeight = 5.5 AntiAliasScale = 1 ... " // as many or as few as you need
// then call app.setParameter( myPreset )
this allows you to set values en-mass just like ApplyPreset("MyPreset") would do if you have a frag with presets you can cut and paste them right into the script this way. edit: this also lets you set parameters that are not covered in the list below you can also set any value that shows up in the variable editor with... app.setParameter("name", bool) app.setParameter("name", int) app.setParameter("name", float) app.setParameter("name", float, float) app.setParameter("name", float, float, float) app.setParameter("name", float, float, float, float) the float4 version sets colours, the first value is for the intensity/amount slider the rest are R,G,B
|
|
|
Logged
|
|
|
|
Patryk Kizny
|
|
« Reply #34 on: August 21, 2015, 02:39:35 AM » |
|
Oh, that's a cool one! I did not think it's that flexible. Yeah, the power of javasciprt. Thanks a lot!
|
|
|
Logged
|
Visual Artist, Director & Cinematographer specialized in emerging imaging techniques.
|
|
|
3dickulus
|
|
« Reply #35 on: August 21, 2015, 02:45:28 AM » |
|
lol, you mean C++
|
|
|
Logged
|
|
|
|
Patryk Kizny
|
|
« Reply #36 on: August 21, 2015, 03:19:56 AM » |
|
Haha! I meant the simple and forgiving grammar of js-like languages. Anyways - I guess this may not work for animation presets, right? Cause that's what I wanted
|
|
|
Logged
|
Visual Artist, Director & Cinematographer specialized in emerging imaging techniques.
|
|
|
3dickulus
|
|
« Reply #37 on: August 21, 2015, 03:41:06 AM » |
|
it depends what you mean by animation preset...
easing curves? key frames for camera? key frames for tweens?
from fqs you have complete control of all parameters, you can tween everything so the gui with a default preset is really just getting the engine set up for rendering
if you examine the example scripts in fqScript folder you will find...
ScriptingCmds.txt describes available app methods test-sampler.fqs testing sampler2d parameter test0.fqs testing fqscript only control test1.fqs testing frag only control test2.fqs testing fqscript control plus frag animation control
the scripts are well commented and should be easy to understand, you will have to fabricate a frag to use or try the ones in the Tutorials folder 30,31,32
|
|
|
Logged
|
|
|
|
Patryk Kizny
|
|
« Reply #38 on: August 21, 2015, 09:54:24 AM » |
|
Dick, I am familiar with these, thanks. I meant applying presets that contain easing curves via QS.
|
|
|
Logged
|
Visual Artist, Director & Cinematographer specialized in emerging imaging techniques.
|
|
|
3dickulus
|
|
« Reply #39 on: August 21, 2015, 03:27:49 PM » |
|
familiar is not knowing, we must dissect a little deeper... after creating an easing curve, add a preset with a name that begins with "Range" "Range" is a preset name keyword that tells Fragmentarium to store your easing curve settings. you can add numbers to the end of the name to remind you of where they are active the settings in this preset can be applied or cut and pasted into any other preset or your script just like other settings. I've tried to ensure that two open tabs, frag files with easing curves, will not interfere with each other, when easing curves are applied via preset they will be made current/active and previous ones will be removed, internally, not from your fragment file in the editor if you want different easing curves to have overlapping frame ranges then they must be applied at the same time, they should all be in one preset that represents the total range for all contained easing curve settings. the mechanism internally for applying settings en-mass, app.setParameter( myPreset ), accepts all the same parameters that a preset can have.
edit:in theory it should work, untested, if it doesn't work I will make it work this way and possibly add app.applyPreset(name)
|
|
« Last Edit: August 21, 2015, 03:46:44 PM by 3dickulus »
|
Logged
|
|
|
|
Patryk Kizny
|
|
« Reply #40 on: August 21, 2015, 06:49:30 PM » |
|
Will test, thanks a lot!
|
|
|
Logged
|
Visual Artist, Director & Cinematographer specialized in emerging imaging techniques.
|
|
|
3dickulus
|
|
« Reply #41 on: August 22, 2015, 12:13:39 AM » |
|
It makes sense to me to keep easing curve settings and key frames in the frag file, much easier to manage from there, but I can see that applying easing curves per scene might be handy if you have arranged a number of scenes and want to render them in sequence under fqscript control.
|
|
|
Logged
|
|
|
|
Patryk Kizny
|
|
« Reply #42 on: August 22, 2015, 12:32:46 AM » |
|
That's exactly what I want to do - prepare a more complesx render in QS, hit the button once and grab the results a few days later
|
|
|
Logged
|
Visual Artist, Director & Cinematographer specialized in emerging imaging techniques.
|
|
|
3dickulus
|
|
« Reply #43 on: August 22, 2015, 12:53:23 AM » |
|
can fqscript import network module ? that would save me having to write it into the main program and be a good reason to fully enable the QScript ui file loader for fqsGUI plugins.
|
|
|
Logged
|
|
|
|
Patryk Kizny
|
|
« Reply #44 on: August 22, 2015, 09:28:33 PM » |
|
No idea. However one thing concerns me regarding network rendering. I have posted in another thread ( https://www.dropbox.com/s/fntlzyml1nqt79h/Comparison.jpg) an example of exactly same code yielding very different results on the same GPU but with different driver builds. I guess that would be even more prominent across multiple configurations and GPUs. Which makes all network rendering fail. Probably not all formulas will be affected, but it may be a serious bottleneck.
|
|
|
Logged
|
Visual Artist, Director & Cinematographer specialized in emerging imaging techniques.
|
|
|
|