|
claude
Fractal Bachius
Posts: 563
|
|
« Reply #1 on: December 15, 2014, 12:41:42 PM » |
|
I just added .kfr parser to mightymandel - already supported .sft, .mdz, .mm (native format, copy/pasted from console output). Each non-flag argument is tried with all the parsers, the first argument to succeed is loaded. Distance estimation fails to render sometimes beyond a certain depth (still debugging since years, not sure where the overflow or other fubar is..), this took 75s to render: The -no-de flag gives a better image in these cases, this took 50s to render: The original version of this view I rendered with Kalles Fraktaler still looks better (but I didn't keep track of how long it took to render, probably several minutes with the supersampling and glitch correction): http://www.fractalforums.com/kalles-fraktaler-gallery/cross-hair/
|
|
|
Logged
|
|
|
|
claude
Fractal Bachius
Posts: 563
|
|
« Reply #2 on: December 20, 2014, 10:02:21 PM » |
|
mightymandel now ported from gtk2 to glfw3, which should make it easier to compile. There was a massive performance regression but I fixed that now, at the cost of slightly lower responsiveness in the GUI.
|
|
|
Logged
|
|
|
|
|
claude
Fractal Bachius
Posts: 563
|
|
« Reply #4 on: December 24, 2014, 06:20:12 PM » |
|
|
|
|
Logged
|
|
|
|
youhn
Fractal Molossus
Posts: 696
Shapes only exists in our heads.
|
|
« Reply #5 on: December 24, 2014, 08:24:48 PM » |
|
I've been trying to get all packages and libs to build mightymandel. The process for GLFW3 felt a little awkward to me. Now I get errors which I can't solve: LINK mightymandel /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: /usr/local/lib/libglfw3.a(x11_window.c.o): undefined reference to symbol 'XISelectEvents' /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: note: 'XISelectEvents' is defined in DSO /usr/lib64/libXi.so.6 so try adding it to the linker command line /usr/lib64/libXi.so.6: could not read symbols: Invalid operation collect2: error: ld returned 1 exit status ERROR gcc -o mightymandel fp32_step.o atom.o fp32_unescaped.o fp64_unescaped.o fpxx_escaped.o interact.o shader.o fpxx_approx.o complex.o ref_set.o view.o blob_set.o fpxx_init.o render.o fp32_colour.o fp64_escaped.o find_ref.o fp64_init.o parse.o fp64_step.o fp32_fillc.o utility.o fp32_escaped.o fp32_init.o fpxx_unescaped.o mightymandel.o fpxx_step.o state.o record.o fpxx_escaped_vert.glsl.o fp64_complex.glsl.o fpxx_init_vert.glsl.o fp32_escaped_geom.glsl.o fp64_preamble.glsl.o fpxx_step_vert.glsl.o fpxx_init_geom.glsl.o fpxx_unescaped_geom.glsl.o fp32_colour_frag.glsl.o fp64_escaped_frag.glsl.o fpxx_approx_vert.glsl.o fp32_colour_vert.glsl.o fp64_escaped_vert.glsl.o fp64_unescaped_geom.glsl.o fp32_fillc_frag.glsl.o fp64_init_vert.glsl.o fp64_step_vert.glsl.o fp32_fillc_vert.glsl.o fp32_escaped_frag.glsl.o fp32_init_vert.glsl.o fp32_step_vert.glsl.o fpxx_unescaped_vert.glsl.o fp32_unescaped_geom.glsl.o fp32_escaped_vert.glsl.o fp32_complex.glsl.o fpxx_escaped_geom.glsl.o fp64_unescaped_vert.glsl.o fp64_escaped_geom.glsl.o fp32_preamble.glsl.o fp32_unescaped_vert.glsl.o fpxx_escaped_frag.glsl.o -lGLEW -lGL -lrt -lmpfr -L/usr/local/lib -lglfw3 -ggdb -DMIGHTYMANDEL_DEBUG_OPENGL make: *** [mightymandel] Error 1 make: Leaving directory `/home/jeroen/downloads/mightymandel/src'
Any pointers for a fix?
|
|
|
Logged
|
|
|
|
claude
Fractal Bachius
Posts: 563
|
|
« Reply #6 on: December 24, 2014, 08:55:18 PM » |
|
Adam Majewski had the same problem with staticly linked glfw3 on Ubuntu 13.04 (I think I got that version correct). He wrote about it here: http://en.wikibooks.org/wiki/Fractals/mightymandel#glfwtry: make -C src EXTRA_LINK_FLAGS="-lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi" or if that doesn't work, edit the Makefile to add those -l flags (for missing libraries).
|
|
|
Logged
|
|
|
|
youhn
Fractal Molossus
Posts: 696
Shapes only exists in our heads.
|
|
« Reply #7 on: December 25, 2014, 12:08:16 PM » |
|
Ok, think that error was solved. One step further, but not there yet: LINK mightymandel /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: utility.o: undefined reference to symbol 'floor@@GLIBC_2.2.5' /usr/lib64/gcc/x86_64-slackware-linux/4.7.1/../../../../x86_64-slackware-linux/bin/ld: note: 'floor@@GLIBC_2.2.5' is defined in DSO /lib64/libm.so.6 so try adding it to the linker command line /lib64/libm.so.6: could not read symbols: Invalid operation collect2: error: ld returned 1 exit status ERROR gcc -o mightymandel fp32_step.o atom.o fp32_unescaped.o fp64_unescaped.o fpxx_escaped.o interact.o shader.o fpxx_approx.o complex.o ref_set.o view.o blob_set.o fpxx_init.o render.o fp32_colour.o fp64_escaped.o find_ref.o fp64_init.o parse.o fp64_step.o fp32_fillc.o utility.o fp32_escaped.o fp32_init.o fpxx_unescaped.o mightymandel.o fpxx_step.o state.o record.o fpxx_escaped_vert.glsl.o fp64_complex.glsl.o fpxx_init_vert.glsl.o fp32_escaped_geom.glsl.o fp64_preamble.glsl.o fpxx_step_vert.glsl.o fpxx_init_geom.glsl.o fpxx_unescaped_geom.glsl.o fp32_colour_frag.glsl.o fp64_escaped_frag.glsl.o fpxx_approx_vert.glsl.o fp32_colour_vert.glsl.o fp64_unescaped_geom.glsl.o fp32_fillc_frag.glsl.o fp64_escaped_vert.glsl.o fp64_init_vert.glsl.o fp64_step_vert.glsl.o fp32_fillc_vert.glsl.o fp32_escaped_frag.glsl.o fp32_init_vert.glsl.o fp32_step_vert.glsl.o fpxx_unescaped_vert.glsl.o fp32_unescaped_geom.glsl.o fp32_escaped_vert.glsl.o fp32_complex.glsl.o fpxx_escaped_geom.glsl.o fp64_unescaped_vert.glsl.o fp64_escaped_geom.glsl.o fp32_preamble.glsl.o fp32_unescaped_vert.glsl.o fpxx_escaped_frag.glsl.o -lGLEW -lGL -lrt -lmpfr -L/usr/local/lib -lglfw3 -ggdb -DMIGHTYMANDEL_DEBUG_OPENGL -lGL -lGLU -lglfw3 -lX11 -lXxf86vm -lXrandr -lpthread -lXi make: *** [mightymandel] Error 1
I've googled on libm.so.6 and found that this is part of the glibc packge. Currently installed on my Slackware system is "glibc-2.15_multilib-x86_64-8alien" . Do I need a newer version than 2.15 ... ?
|
|
|
Logged
|
|
|
|
quaz0r
Fractal Molossus
Posts: 652
|
|
« Reply #8 on: December 25, 2014, 05:10:23 PM » |
|
is "-lm" not in your linker flags?
|
|
|
Logged
|
|
|
|
youhn
Fractal Molossus
Posts: 696
Shapes only exists in our heads.
|
|
« Reply #9 on: December 25, 2014, 07:00:41 PM » |
|
Yes, "-lm" was not in my linker flags. But adding it gives yet another error: LINK mightymandel /usr/local/lib/libglfw3.a(x11_gamma.c.o): In function `_glfwPlatformGetGammaRamp': x11_gamma.c:(.text+0x1a5): undefined reference to `XF86VidModeGetGammaRampSize' x11_gamma.c:(.text+0x1f3): undefined reference to `XF86VidModeGetGammaRamp' /usr/local/lib/libglfw3.a(x11_gamma.c.o): In function `_glfwPlatformSetGammaRamp': x11_gamma.c:(.text+0x321): undefined reference to `XF86VidModeSetGammaRamp' /usr/local/lib/libglfw3.a(x11_init.c.o): In function `initExtensions': x11_init.c:(.text+0x15d3): undefined reference to `XF86VidModeQueryExtension' collect2: error: ld returned 1 exit status ERROR gcc -o mightymandel fp32_step.o atom.o fp32_unescaped.o fp64_unescaped.o fpxx_escaped.o interact.o shader.o fpxx_approx.o complex.o ref_set.o view.o blob_set.o fpxx_init.o render.o fp32_colour.o fp64_escaped.o find_ref.o fp64_init.o parse.o fp64_step.o fp32_fillc.o utility.o fp32_escaped.o fp32_init.o fpxx_unescaped.o mightymandel.o fpxx_step.o state.o record.o fpxx_escaped_vert.glsl.o fp64_complex.glsl.o fpxx_init_vert.glsl.o fp32_escaped_geom.glsl.o fp64_preamble.glsl.o fpxx_step_vert.glsl.o fpxx_init_geom.glsl.o fpxx_unescaped_geom.glsl.o fp32_colour_frag.glsl.o fp64_escaped_frag.glsl.o fpxx_approx_vert.glsl.o fp32_colour_vert.glsl.o fp64_unescaped_geom.glsl.o fp32_fillc_frag.glsl.o fp64_escaped_vert.glsl.o fp64_init_vert.glsl.o fp64_step_vert.glsl.o fp32_fillc_vert.glsl.o fp32_escaped_frag.glsl.o fp32_init_vert.glsl.o fp32_step_vert.glsl.o fpxx_unescaped_vert.glsl.o fp32_unescaped_geom.glsl.o fp32_escaped_vert.glsl.o fp32_complex.glsl.o fpxx_escaped_geom.glsl.o fp64_unescaped_vert.glsl.o fp64_escaped_geom.glsl.o fp32_preamble.glsl.o fp32_unescaped_vert.glsl.o fpxx_escaped_frag.glsl.o -lGLEW -lGL -lrt -lmpfr -L/usr/local/lib -lglfw3 -ggdb -DMIGHTYMANDEL_DEBUG_OPENGL -lGL -lGLU -lglfw3 -lX11 -lXrandr -lpthread -lXi -lm make: *** [mightymandel] Error 1 Now I suspect problems with the wrong version of Xorg ... ?
|
|
|
Logged
|
|
|
|
quaz0r
Fractal Molossus
Posts: 652
|
|
« Reply #10 on: December 25, 2014, 09:22:34 PM » |
|
you can usually guess/google what library you might need to link to when you dont have the right linker flags to start with. for instance, looking at /usr/lib/libX* on my system i see a libXxf86vm.so, so for undefined references to xf86vidmode something or other i would probably try adding -lXxf86vm *shrug*
|
|
|
Logged
|
|
|
|
claude
Fractal Bachius
Posts: 563
|
|
« Reply #11 on: December 25, 2014, 11:12:31 PM » |
|
is "-lm" not in your linker flags?
I should definitely add -lm to the Makefile. But for the other stuff, this is the kind of thing pkg-config (and at a lower level, shared libraries with ldd for .so) was designed to solve, maybe there's a way to get it working with static libglfw3.a so you don't have to hunt down dependencies manually, or alternatively making a shared libglfw3.so might work. Maybe if enough people bug glfw3 they'll fix it for people compiling from source - I don't have this issue thanks to Debian packages being available, so I don't have a huge amount of motivation to find a solution that works everywhere (but if there is one, I'll gladly make it work in mightymandel by default)...
|
|
|
Logged
|
|
|
|
youhn
Fractal Molossus
Posts: 696
Shapes only exists in our heads.
|
|
« Reply #12 on: December 26, 2014, 12:42:41 AM » |
|
Yay! Don't ask me what exactly changed since the previous non-working try ... but it has been compiled now! First had to upgrade my nvidia drivers to get opengl working, but now the program is running. Navigating through not-so-deep location works great, but further down I notice a lag. While the new location is calculated, the program appears to do nothing. It would be nice to have to kind of visual indication of the progress (showing pixels as they are calculated, perhaps even some low-res pre-renders, or a plain old progress bar). Maybe this won't be an issue when I go out and buy a new GPU card (currently using a Asus GeForce GT 610 ...) In some situations the program can't handle the glitches and says "failed to find reference". I can reproduce this error by first zooming into sparse areas, then some zooms down to a mini, and finally pointing at "empty" space somewhere around the center. A bit for navigation, but more for the renders, I would like to have a rotate function and a adjustable zoom-box. This way we can shoot places to render in the virtual fractal world, just as a photographer would do with the real world. Claude, thank you very much for sharing this new toy!
|
|
|
Logged
|
|
|
|
PieMan597
|
|
« Reply #13 on: December 26, 2014, 12:54:22 AM » |
|
I will definately have to try this out when I get back from vacation... (and get a new computer)
|
|
|
Logged
|
|
|
|
3dickulus
|
|
« Reply #14 on: December 26, 2014, 01:15:17 AM » |
|
all I had to do (after sorting out pkg deps) was adjust the libs... -lX11 -lXi -lXrandr -lXxf86vm -lpthread -lGLEW -lGL -lrt -lmpfr -lm -lglfw3 compiles and runs great! thanks "Santa" claude for the coolest gift, your time
|
|
« Last Edit: December 26, 2014, 01:18:14 AM by 3dickulus, Reason: typo »
|
Logged
|
|
|
|
|