Welcome to Fractal Forums

Fractal Software => Mandelbulb 3d => Topic started by: valera_rozuvan on July 29, 2016, 11:53:53 AM




Title: Remake of MB3D
Post by: valera_rozuvan on July 29, 2016, 11:53:53 AM
OK guys! Prepare yourself for one amazing ride  :) MB3D project will be rebooted, and I am going to spear head the development.

So, what's the plan?

We know how the original works from the point of view of the end user. We also have the source code, so we know how it works from the point of view of algorithms and programming. So this is what we are going to do:

1. Restart from scratch. There are far to many things wrong with the original code base to try to continue to work with it.
2. From the start, think of design and structure of the project.
3. Come up with a list of features that definitely need to make their way into the new project from the old one.
4. Tackle the problem of MB3D custom functions. This will be the most time consuming part. The original custom functions will have to be reverse-engineered so that they can be made to work in the new code base. From a technical point of view - this is a straight forward task. It's just going to take a lot of time. And I mean A LOT OF TIME!
5. Create a new UI design. We have been using 3D fractal programs for about 5 years now. So we have some kind of expectations from what the UI should look like, and how it should behave.

Why am I doing this?

1. This is a tremendously difficult technical task. I want to work on something really challenging.
2. I want to save all the work put into MB3D. I think it was a great project, and all the work people did for it (with it) should not go to waste.
3. All this time I have been using other people's 3D fractal software. Now I want to give something back to the community.

Brainstorming

I need your input in this thread on the following:

1. Project name. Should we keep the original name, and just call it version 2? Should we name it something different?
2. List of features that you'd like to see carried over from MB3D.
3. Any new features you want. For example something that is currently in other 3D fractal programs.
4. UI design mock ups, sketches, ideas, etc.
5. Technical side of things. Suggestions for programming language, UI library, architecture, etc.
6. Input on anything else I am forgetting right now.

Even if you don't plan to contribute something in the form of code, visual designs, etc., I still want to hear from you!  :)



!!! For the summary of this thread see comment #68 (http://www.fractalforums.com/mandelbulb-3d/mb3d-v2/msg95384/#msg95384) !!!


Title: Re: MB3D v2
Post by: m2001 on July 29, 2016, 11:57:40 AM
crazy --- cool !!!

month ago i mockupted a node based formula editor ;)
https://drive.google.com/file/d/0B7zs_zm2KjR3dngxWlFrc2dPbWs/view


Title: Re: MB3D v2
Post by: Brocoli on July 29, 2016, 12:13:47 PM
Amazing !  :D

I go make my checklist and i will put later a ui design.


Title: Re: MB3D v2
Post by: valera_rozuvan on July 29, 2016, 02:00:20 PM
month ago i mockupted a node based formula editor ;)
https://drive.google.com/file/d/0B7zs_zm2KjR3dngxWlFrc2dPbWs/view

Thanks for sharing! Can you please update it, and translate all your comments into English? Or maybe, write down here the comments in English for each item in your design?


Title: Re: MB3D v2
Post by: 3dickulus on July 29, 2016, 02:35:13 PM
2 cents  :)
if you're starting from scratch, don't limit yourself right off the bat by reproducing/recoding one program, I think you should look at all of the best features from all of the best existing programs, take what has been learned and developed over the last 5 years and create a community driven code base that can continue to grow and evolve with technology. Currently there are a number of very good programs that each have pros and cons, my favorite is, of course, Fragmentarium for it's easy and direct access to programming formulas on the GPU and animating them. edit: and the render quality


Title: Re: MB3D v2
Post by: m2001 on July 29, 2016, 02:52:58 PM
Thanks for sharing! Can you please update it, and translate all your comments into English? Or maybe, write down here the comments in English for each item in your design?

sure ;)
https://drive.google.com/file/d/0B7zs_zm2KjR3RzFITjRfRk1GMkk/view?usp=sharing


Title: Re: MB3D v2
Post by: hobold on July 29, 2016, 04:12:48 PM
Yet another modest proposal: call it "ReBulb3D", because it is a rebooted Mandelbulb3D. :-)

On a more serious note:
You might want to not only make a list of features that you definitely want to preserve. You could also make a list of things that are definitely not going to be in the first working release.

It is tempting to "throw away the prototype" and do a big project from a grand, ingenious, overarching plan. But it is also very hard to wrap ones mind around something that grand. I think evolution works better than revolution. Create a modest little beast first, a badass single cell organism that can live on its own. It must work well enough that a few people can use it for little projects, and give you feedback. This tells you early on which parts of your grand plan are good, and which parts are less so.

Let that feedback be the selective pressure which drives evolution.


Title: Re: MB3D v2
Post by: Madman on July 29, 2016, 08:33:18 PM
Kudos Valera! I really admire your willingness to take this huge project on you!

I can only help you by using the tool, but if I like it, I will  :D

Answering your questions, there are some things I would like to stay: I like the sharp rendering M3D does in comparison to some other programs. Please keep that. Secondly, I've been working with M3D for quite some time, so if the interface would be comparable that would be great too. Don't throw away the navigator. It's a great tool for a rough exploration.

Things that in my opnion could be improved
  • I wouldn't mind if the skin would go back to a lighter (neutral) color.
  • Many formula's have been developed during the life cycle of M3D. So many, that finding one has become difficult. Especially the "Ads" section might become easier to use if it was rearranged in clearer subcategories.
  • Indefinite lights
  • Indefinite formula's
  • This is not so much for me, but I know other people would like it: A formula editor.
  • Real global lights (with this I mean lights that cast parallel shadows)
  • Easier interface to move lights around, maybe just by adding coordinates to the sliders
  • A possibility to reset one or more axes to an orthogonal position to the viewport in the navigator
  • More realistic DoF
But I also have to agree with hobold: One step at a time will do it.

I'm quite happy with M3D as it is, including al the improvements that Thargor already did, so take your time. If I can help in any way (but I'm not a programmer...) let me know.


Title: Re: MB3D v2
Post by: Spain2points on July 29, 2016, 09:14:40 PM
I would like to have more formulas to work with, and be able to use more than 6 slots. And to make hybrids of 3 parts or more. Also I'd like to have more control on the application of the maps, it's too ramdom.


Title: Re: MB3D v2
Post by: valera_rozuvan on July 29, 2016, 09:37:05 PM
I'll let this thread run for a week or so. Afterwards, a design document will need to be formulated out of all the ideas. A roadmap will then follow. Obviously the project will implement features in iterations - not all at once. The great wall of China was not built in a day  :)


Title: Re: MB3D v2
Post by: valera_rozuvan on July 30, 2016, 02:06:17 AM
Many formula's have been developed during the life cycle of M3D. So many, that finding one has become difficult. Especially the "Ads" section might become easier to use if it was rearranged in clearer subcategories.

I am thinking that a visual gallery of currently available formulas will be a nice addition to the program. If the user doesn't know what he wants, he can just quickly look through what's available. There is a nice compiled list of MB3D formulas along with their rendered image (http://lyntaryn.deviantart.com/art/Visual-reference-for-MB3D-Formulas-updated-602310125) by LynTaryn (http://lyntaryn.deviantart.com/).

Also, there needs to be an ability to search by keywords through all formula descriptions. Maybe even add additional keywords to each formula, and create categories based on keywords.


Title: Re: MB3D v2
Post by: 0Encrypted0 on July 30, 2016, 02:49:20 AM
Formula database? (http://www.fractalforums.com/index.php?topic=21209.msg82662#msg82662)


Title: Re: MB3D v2
Post by: LMarkoya on July 30, 2016, 03:25:54 AM
I have a much simpler request, a batch renderer, where you can just load several files and have them rendered overnight


Title: Re: MB3D v2
Post by: 0Encrypted0 on July 30, 2016, 04:04:22 AM
I have a much simpler request, a batch renderer, where you can just load several files and have them rendered overnight
I believe there is already a batch render under Utilities/Tools. (m3p to m3i)
Is that what you want or are you looking for something different?

Edit:Batch thumbnails and formula browser (http://www.fractalforums.com/index.php?topic=22920.msg89790#msg89790)
I would like to generate thumbnails for .m3p files in History folder.


Title: Re: MB3D v2
Post by: m2001 on July 30, 2016, 06:54:53 AM
;) next try

with Main window
https://drive.google.com/file/d/0B7zs_zm2KjR3VjlEOUxkMTM2Rk0/view?usp=sharing
- Main Window = Navigator
-> rendering > separate window
- stagged options - all in one window - except the formula (nodes)


the formula nodes
https://drive.google.com/file/d/0B7zs_zm2KjR3RzFITjRfRk1GMkk/view?usp=sharing


but i will stop here! as hobold sayd and after a short talk with a former mb3d programmer ...
i quote: "... Create a modest little beast first ..." :)



Title: Re: MB3D v2
Post by: Weber on July 30, 2016, 04:54:52 PM
This is very good news!

I would like to see a few things change with the new version.

-Better lighting/more lighting options
-Ability to fine tune texture position/size
-Better/Faster rendering
- I don't exactly know how to put this, so I'll just take a shot.  There needs to be something in the window that tells the user how much geometry/complexity is going on in a particular fractal.  Some fractals extremely slow down the program compared to others that run smooth and render quicker.  Some of these are very hard to navigate through as well.  For example, I have an m3i that is using 5 formula slots and only one light with really not much more and is way slower than other m3i's that are using all 6 slots with a lot of post processing!  Like it takes longer than 5 min. to render @960x640 with only Hard shadows and ambient shadows with this particular m3i.


Title: Re: MB3D v2
Post by: Sockratease on July 30, 2016, 05:33:36 PM
This is very good news!

Agreed!

...-Better lighting/more lighting options
...
-Better/Faster rendering...

Better lighting how? And what lighting options would you like?

Faster rendering is always something folks want, but again - better rendering in what way?

Hope nobody minds me butting in and asking that - but like bug reports, requests should have a little more details when asking for improvements.

I do like the idea of a complexity alert, or any warning that the options you chose will require "longer" render times  (I know that sort of thing changes for everyone, so may be harder to actually pin down - but I too find myself setting things up in the Navigator then being surprised at the render times in the main window).

My own request would involve the Navigator.  Since it has a totally different render engine, often things look very different in the main window.

That's fine!  Nature of the beast, as they say.  But if there were some way to render from the navigator so we can get a higher resolution picture of what we see in there, it would be nice.  Maybe a "render to disc" option in there, with pixel dimensions entered manually, so the screen does not need to resize or use scrollbars?


Title: Re: MB3D v2
Post by: Weber on July 30, 2016, 07:20:41 PM
Better lighting how? And what lighting options would you like?
better rendering in what way?

1.  More realistic lighting, environmental lighting, better shadows, and shaders etc.
2.  Selectable rendering modes and global illumination modes like QMC( Quasi Monte Carlo)etc... 
This would also include the ability to have different texture/material types like fresnel etc... that would tell the renderer how to interact better with the material its rendering.
Obviously you only have one texture map to work with but by adding a little bit more tweakability, I think the final results would be even more amazing!
I've done a lot of work with V-ray rendering and so having these options are a must for me.  Furthermore, having the ability to add normal and specular maps would be a great feature as well.


Title: Re: MB3D v2
Post by: m2001 on July 30, 2016, 07:59:51 PM
i dont know how complicated it is to set different textures for each formula and for me it would be cool to get:
- a programmer who can do this ;)
- a faster GPU renderer with similiar results as the current renderer
-> hope thats not needed, to have two complete different renderers (navi and final), rather that is possible to have a "low quality and very fast navi renderer" and "high(er) quality final renderer"
- more exact soft-shadows
- more exact and smoother AO (DEAO)


btw. it takes some time, but with the current renderer u can get good results:
http://matze2001.deviantart.com/art/metal-Mandelbulb3D-with-Parameters-and-Texture-564231548
http://matze2001.deviantart.com/art/crystal-part-2-Mandelbuld3D-with-Parameter-568054520
http://matze2001.deviantart.com/art/2xIFS-DEcomb-Mandelbulb3D-with-Parameter-614273684
http://matze2001.deviantart.com/art/brushed-steel-texture-heightmap-MB3D-ressource-601396093
http://matze2001.deviantart.com/art/construction-dry-Mandelbulb3D-with-Parameter-601027131


Title: Re: MB3D v2
Post by: 0Encrypted0 on July 30, 2016, 11:28:34 PM
Would it be possible to code the core application with an API so other developers could design external add-ons to customize the user interface and/or post processing options?

Alternate, Interpolate and DEcombinate are the current methods to hybridize formulas.
Is the Coupled Mandelbrot Sets (CMS) method applicable to 3D?
Could it be added to the above methods?

Moved to Coupled Mandelbrot Sets (CMS) (http://www.fractalforums.com/index.php?topic=23912.msg93279#msg93279)

Side note question to MB3D users, have you used the Interpolate method and if so can you link to some images created by this method?
Disregard, as I do not want to clutter this thread with off topic posts. :embarrass:
New thread Have you used the Interpolate method? (http://www.fractalforums.com/index.php?topic=24301.msg95006#msg95006)




Application program interface (API)


Title: Re: MB3D v2
Post by: valera_rozuvan on July 31, 2016, 12:57:18 AM
Would it be possible to code the core application with an API so other developers could design external add-ons to customize the user interface and/or post processing options?

In the long term - yes. A method to add plugins, such as the one used in Blender (https://www.blender.org/api/blender_python_api_2_77_1/), can be created. An interpreted language, such as JavaScript or Python, can be used for plugin coding. However, this has to be thought through carefully, and the design of the program must allow for such a system in the future.


Title: Re: MB3D v2
Post by: m2001 on July 31, 2016, 02:55:38 AM
Side note question to MB3D users, have you used the Interpolate method and if so can you link to some images created by this method?


https://www.facebook.com/groups/amandelbulbmaniac/permalink/883481418413097/

have you never tried it?


Title: Re: MB3D v2
Post by: valera_rozuvan on August 02, 2016, 03:32:21 AM
I have come to the realization that it takes a lot of time to convert a MB3D formula to working C code. For example if we look at the file Kalisets1.m3f, we see in the CODE block:

Code:
558BEC56578B75088B7E30DD01D9E1DD02D9E1DD00D9E1D9C0D8C8D9C2D8C8DE
C1D9C3D8C8DEC1DC47E8DC7FF0DCCADCCBDEC9DC4618DD18DC4620DD1ADC4628
DD195F5E5DC20800

This roughly translates to the following assembly:

Code:
.data:00000000 55                               push   ebp
.data:00000001 8b ec                            mov    ebp,esp
.data:00000003 56                               push   esi
.data:00000004 57                               push   edi
.data:00000005 8b 75 08                         mov    esi,DWORD PTR [ebp+0x8]
.data:00000008 8b 7e 30                         mov    edi,DWORD PTR [esi+0x30]
.data:0000000b dd 01                            fld    QWORD PTR [ecx]
.data:0000000d d9 e1                            fabs   
.data:0000000f dd 02                            fld    QWORD PTR [edx]
.data:00000011 d9 e1                            fabs   
.data:00000013 dd 00                            fld    QWORD PTR [eax]
.data:00000015 d9 e1                            fabs   
.data:00000017 d9 c0                            fld    st(0)
.data:00000019 d8 c8                            fmul   st,st(0)
.data:0000001b d9 c2                            fld    st(2)
.data:0000001d d8 c8                            fmul   st,st(0)
.data:0000001f de c1                            faddp  st(1),st
.data:00000021 d9 c3                            fld    st(3)
.data:00000023 d8 c8                            fmul   st,st(0)
.data:00000025 de c1                            faddp  st(1),st
.data:00000027 dc 47 e8                         fadd   QWORD PTR [edi-0x18]
.data:0000002a dc 7f f0                         fdivr  QWORD PTR [edi-0x10]
.data:0000002d dc ca                            fmul   st(2),st
.data:0000002f dc cb                            fmul   st(3),st
.data:00000031 de c9                            fmulp  st(1),st
.data:00000033 dc 46 18                         fadd   QWORD PTR [esi+0x18]
.data:00000036 dd 18                            fstp   QWORD PTR [eax]
.data:00000038 dc 46 20                         fadd   QWORD PTR [esi+0x20]
.data:0000003b dd 1a                            fstp   QWORD PTR [edx]
.data:0000003d dc 46 28                         fadd   QWORD PTR [esi+0x28]
.data:00000040 dd 19                            fstp   QWORD PTR [ecx]
.data:00000042 5f                               pop    edi
.data:00000043 5e                               pop    esi
.data:00000044 5d                               pop    ebp
.data:00000045 c2 08 00                         ret    0x8

Now, that file also has a short description which has information about the actual mathematics that is going on:

Code:
x = abs(x)
y = abs(y)
z = abs(z)
m = Scale/(x*x + y*y + z*z + Fix)
x = x*m + Cx
y = y*m + Cy
z = z*m + Cz

I tried first to program a C function that directly resembles the assembly code (i.e. as if I didn't have the math equations). This manual conversion of assembly code to C code took me a couple of days. Mainly the testing and debugging of the original MB3D formula inside the Mandelbulb3D program (to verify if my C version is working correctly).

Now this is a simple formula. There are others not so simple. Also, there are about 300 of them! So, scratch the idea of converting EVERY single formula... until I get myself Hex-Rays Decompiler (https://www.hex-rays.com/products/decompiler/) which can automate the process for me. But that piece of software costs a lot! An x86 Decompiler License (https://www.hex-rays.com/products/ida/support/orderforms/namedworld.pdf) costs 2350 USD!

I think that, initially, I will make available formulas from MB3D which have a detailed high-level description for them (mathematical or pseudo code). I will program them from scratch. Maybe in the future, I will get myself one of those shiny Hex-Rays Decompilers...


Title: Re: MB3D v2
Post by: 0Encrypted0 on August 02, 2016, 04:50:50 AM
@valera_rozuvan
What do you envision as the new code format for formula files?

Consider converting just a few formulas to start out and letting the community recreate the majority of remaining m3f files.

Also need to check with DarkBeam to see if he has notes on the intermediate steps used when coding m3f formulas.


Title: Re: MB3D v2
Post by: mclarekin on August 02, 2016, 05:05:23 AM
Quote
I do like the idea of a complexity alert, or any warning that the options you chose will require "longer" render times

This is a good idea, another to consider is to alert users as to how good the Distance Estimation calculation performs ie  excellent or average.

There are a few M3D formulas that are re-written in C++ in Mandelbulber that you should be able to port easily.


Title: Re: MB3D v2
Post by: valera_rozuvan on August 02, 2016, 05:48:12 AM
What do you envision as the new code format for formula files?

Formulas will be defined in pure C language (https://en.wikipedia.org/wiki/C_(programming_language)). Along with them there will be several files:

1. Image - preview of rendered formula.
2. Readme file - human readable (text) description of the formula.
3. Config file - all of the formula function's constants, parameter names, ranges, and other information needed at run time to make use of the formula. Format of this file probably will be JSON (https://en.wikipedia.org/wiki/JSON) (very easy to write).

All of the formulas will be stored in a separate GitHub (https://github.com/) repository. Anyone can create a new formula, and propose it's addition to the GitHub repository (in the form of a pull-request (https://help.github.com/articles/using-pull-requests/) for non-dev members). From within the program, you will be able to fetch all the latest formulas with a single click of a button. This gets rid of the need to release a new version of the program just because some new formulas have been created on FractalForums (http://www.fractalforums.com/).

It will be possible to create, and modify a formula from within the program. JIT compiling will probably be done via LLVM (http://llvm.org/).

Also, it will be possible to load a formula from a file, from a copy-paste operation, or even specify a different Git repository with many formulas.


Title: Re: MB3D v2
Post by: mclarekin on August 02, 2016, 06:25:08 AM
.
Quote
There are a few M3D formulas that are re-written in C++ in Mandelbulber that you should be able to port easily.

Also these are M3D formulas with extra parameters, when you are ready I can advise you.

Quote
Consider converting just a few formulas to start out and letting the community recreate the majority of remaining m3f files.

That is a sensible idea, say 30 people doing 10 each, would have it done quickly. I would volunteer to do 10 - 20 (preferably the formulas I understand).


Title: Re: MB3D v2
Post by: 1Bryan1 on August 02, 2016, 11:56:16 AM
Firstly.
WOW.

Secondly.
I functionally like everything about the MB3D.
I especially like the Navigation window and the way the fractal shown acts like an object (i.e. when zooming, you do not move through the surface) and that this can be switched off (do you can move through the surface).

What I find really challenging is the rendering time of the main window.
If this could be reduced - it would be wonderful (I look in envy those GPU programs that reader vire so quickly).

Apart from that, just one other thing - I automate the hell out of MB3D to produce 1000's of potential renderings (sort of like  thargor6's MutaGen however my program learns about what I like in fractals and tries to please me). This manipulates the MB3Ds windows and controls to change values and render small images (also how I produced the 35,000+ images of the combination of all pairs of formula).
This is a rather painful process - if there was a API / Web service exposed by MB3D then automation would be so much easier (i.e. an external program could query, set and request changes just like the user).


Title: Re: MB3D v2
Post by: Madman on August 02, 2016, 08:52:14 PM
I tried first to program a C function that directly resembles the assembly code (i.e. as if I didn't have the math equations). This manual conversion of assembly code to C code took me a couple of days.

It's been a while since I've been programming in C, so I might say something stupid... Isn't there an assembly module in your C compiler somewhere? I know there was in Borland C++ (I told you that it's been a while...).

@ 1Bryan1: Not quite sure if we need more automation in fractal generation. It kind of takes the creativity out of the proces, doesn't it? I am not a frequent user of Mutagen; I think the almost realtime modifications you can do in the Navigator should be enough


Title: Re: MB3D v2
Post by: valera_rozuvan on August 02, 2016, 08:56:00 PM
What I find really challenging is the rendering time of the main window.
If this could be reduced - it would be wonderful (I look in envy those GPU programs that reader vire so quickly).

Unfortunately, GPU is not the be-all end-all solution. If you increase the number of formulas used to build a hybrid fractal, the time of a high quality render will also increase. It doesn't matter if it's CPU rendering or GPU rendering. If the number of calculations increases - the time to perform all of those calculations increases too.

The way out of this problem is massive parallelization (https://en.wikipedia.org/wiki/Massively_parallel_(computing)) of calculating resources. I am thinking of integrating into the future program a system which will allow for easy configuration of multi-system rendering setups (farms). So, for example, if you have access to 100 Amazon EC2 (https://aws.amazon.com/ec2/instance-types/) instances, with the program running on each one, then you just have to specify the IP range of those EC2 instances in the main program, and enable "Calculate in parallel" setting. That's it. Now instead of 100 hours, it will take roughly 1 hour to do the job.


Title: Re: MB3D v2
Post by: valera_rozuvan on August 02, 2016, 09:28:46 PM
Isn't there an assembly module in your C compiler somewhere?

Maybe I got your question wrong. But here goes my answer to the question that I think you asked  :)

Yes, any C/C++ compiler out there has support for inline assembly. This means that you write most of your program in C/C++, and have some code blocks in assembly language. Here is the GCC documentation (https://gcc.gnu.org/onlinedocs/gcc/Using-Assembly-Language-with-C.html#Using-Assembly-Language-with-C) on this matter.

However! We are trying to move away from using assembly for formulas. Why? Portability issues. For each processor type different assembly code must be written. This complicates matters somewhat...


Title: Re: MB3D v2
Post by: 0Encrypted0 on August 02, 2016, 09:56:30 PM
Formulas will be defined in pure C language (https://en.wikipedia.org/wiki/C_(programming_language)). Along with them there will be several files:

1. Image - preview of rendered formula.
2. Readme file - human readable (text) description of the formula.
3. Config file - all of the formula function's constants, parameter names, ranges, and other information needed at run time to make use of the formula. Format of this file probably will be JSON (https://en.wikipedia.org/wiki/JSON) (very easy to write).
Four files per folder for each formula? Ability to see preview image when browsing for formulas?
Quote
It will be possible to create, and modify a formula from within the program. JIT compiling will probably be done via LLVM (http://llvm.org/).
Custom formulas saved within parameter files?
Quote
All of the formulas will be stored in a separate GitHub (https://github.com/) repository. From within the program, you will be able to fetch all the latest formulas with a single click of a button.
This will be very helpful.
One of my main concerns is version control so when someone goes to rerender an older parameter it is not broken because of a code change in one or more formulas.


Title: Re: MB3D v2
Post by: valera_rozuvan on August 02, 2016, 10:06:54 PM
Four files per folder for each formula? Ability to see preview image when browsing for formulas? Custom formulas saved within parameter files?

Yes to all questions  :)


Title: Re: MB3D v2
Post by: Chillheimer on August 03, 2016, 10:39:34 AM
I would love to see a way to sync the resulting video to audio.
instead of doing timing based on frames I would suggest an option to do this in seconds. should be eassy, by just automatically calculating the seconds based on frames per second.

even better would be a timeline with drag and drop of the animation frames and maybe some sort of automation curves for certain parameters.
with the option to keep the timing of the following animation frames at their timing position, so you don't ruin the timing of the ones later.
using the current preview gif used as realtime preview, updating just the parts thjat you changed. 
and maybe even add audio in there, to play around with the setting.


Title: Re: MB3D v2
Post by: valera_rozuvan on August 03, 2016, 04:39:41 PM
I am think of using imgui (https://github.com/ocornut/imgui) library for the UI. Some of it's features:

- active development & community
- cross-platform support
- small and fast
- integrates with OpenGL out of the box
- has been used before to develop a node-editor solution

Some screenshots:

(https://raw.githubusercontent.com/wiki/ocornut/imgui/web/v143/examples_04.png)

(https://cloud.githubusercontent.com/assets/8225057/9472357/c0263c04-4b4c-11e5-9fdf-2cd4f33f6582.gif)


Title: Re: MB3D v2
Post by: m2001 on August 03, 2016, 05:01:30 PM
 :D


Title: Re: MB3D v2
Post by: 1Bryan1 on August 04, 2016, 07:36:18 AM
Terrifying examples.
I have used node based interfaces.
I found them too geeky and time consuming.

However, movie makers will probably go ga-ga over it.


Title: Re: MB3D v2
Post by: valera_rozuvan on August 04, 2016, 08:06:12 AM
However, movie makers will probably go ga-ga over it.

Yep. Node editors are used heavily in the 3D world. Take a look at Maya (http://www.autodesk.com/products/maya/) and Blender (https://www.blender.org/). They allow for a very flexible system. From the point of view of the end-user, you can have just a few nodes with minimal settings configuration. Or you can configure an *almost* infinite setup. It all depends on how much creative juice is flowing through you.

(https://i.ytimg.com/vi/Dc8lJGGqrqo/maxresdefault.jpg)

(https://i.ytimg.com/vi/DQojscMb0oA/maxresdefault.jpg)


Title: Re: MB3D v2
Post by: 0Encrypted0 on August 04, 2016, 09:00:30 AM
I am guessing the node set-up will be saved in the parameter file.
If so, a node grid could be created that closely resembles the functionality of the current program.
People could create custom node grids to share via parameter files.

I am also thinking that this could open up new ways to sequence Alternate and/or DEcombinate formulas with conditional iteration/weight loops.
Look at CondItcountSwitch.m3f.

This might also be a good way to automate/mutate settings.

How about a new category of addons that can modify the functionality of the connections between formula chains?
Maybe sync audio?

Infinite, brain is melting! :fiery:


Title: Re: MB3D v2
Post by: 1Bryan1 on August 04, 2016, 12:52:07 PM
Gasp!
I had forgotten the intent to have readable parameter files.
That opens up some serious automation possibilities.


Title: Re: MB3D v2
Post by: valera_rozuvan on August 04, 2016, 03:51:39 PM
If so, a node grid could be created that closely resembles the functionality of the current program.

A goal for the very far future is to be able to reuse original parameter files from MB3D to achieve **the same** rendered result. Obviously it will not be "the same" as in pixel for pixel. Actual drawing/coloring/compositing/mixing/combining algorithms will be slightly different than in the original program. But it would be cool to be able to get something similar to the original generated fractal! Not to let all of the effort go to waste - the thousands, if not millions, of hours that were spent by various individuals to come up with unique works of art that we have now.

This functionality will not exist just for the sake of recreating the original image. The new program will allow to place multiple different entities in the 3D space. So you will be able to combine the hybrid fractals from original MB3D with new things created in the new program.

But I want to reiterate - this is on the long term TODO list.


Title: Re: MB3D v2
Post by: Brocoli on August 04, 2016, 05:28:38 PM
Hello, i just finished a rough ui design. I take tips that i found on the thread and some other programs. My first goal is to make a clean / minimal interface with all parameters in the right place. I will do all the icons / logo if you are ok. c&c are welcome.

The node based formula and texture are a good choice.

For the texture it will be good to have some parameters like other 3d programs (bump / displace / reflection / refraction / fresnel ior / mix multiple image / ...)

For output render (tiff / png / jpg / exr) in 8 / 16 / 32 bits
Some pass like reflection / refraction / gi / ....

For lighting a sun + sky like 3d programs (vray)

I know i request to much feature.  :embarrass:

Ask me if you don't understand my ui sketch (english is not my first langage)



Title: Re: MB3D v2
Post by: valera_rozuvan on August 04, 2016, 05:42:21 PM
Hello, i just finished a rough ui design. I take tips that i found on the thread and some other programs. My first goal is to make a clean / minimal interface with all parameters in the right place.

Wow! Looks very neat and functional. I like your minimalist style very much. Do you think nodes (when creating custom hybrid function systems in the node editor) should go on top of your main window design (overlays with transparency), or should they be in a separate window?


PS: For future reference, just in case the attachment with the design from Brocoli disappears: here is a backup copy https://goo.gl/jn76ng (https://goo.gl/jn76ng).


Title: Re: MB3D v2
Post by: Brocoli on August 04, 2016, 06:13:29 PM
Thanks !

I think it should be a separate windows and be moved to another place and / or another screen like photoshop.

I have got two screen and i like move / rearrange the menu.


Title: Re: MB3D v2
Post by: chunkygravy on August 04, 2016, 08:11:56 PM
Thargor has continued updates on mb3d. He has added many feature such as direct 3d export, height map frames for animation, formula editor and I'm sure much more.  Have to contacted them? I am sure you they would be able to help you as Thargor has a good understanding of the source.


Title: Re: MB3D v2
Post by: m2001 on August 04, 2016, 08:50:08 PM
Thargor has continued updates on mb3d. He has added many feature such as direct 3d export, height map frames for animation, formula editor and I'm sure much more.  Have to contacted them? I am sure you they would be able to help you as Thargor has a good understanding of the source.
http://www.fractalforums.com/mandelbulb-3d/active-mb3d-develoment-stopped-from-my-side/


Title: Re: MB3D v2
Post by: valera_rozuvan on August 05, 2016, 01:41:47 PM
I have set up a poll to help chose a new name for the remake of MB3D. Please find it here http://www.fractalforums.com/index.php?topic=24335.0 (http://www.fractalforums.com/index.php?topic=24335.0). Hope everyone will vote!


I am off for the seas! Will be back in 14 days  :)


Title: Re: MB3D v2
Post by: Spain2points on August 05, 2016, 10:25:23 PM
I would like to be able to apply different maps to different parts of an hybrid.


Title: Re: MB3D v2
Post by: KRAFTWERK on August 06, 2016, 11:56:22 AM
Wow, this is great news Valera.

First thoughts:
Keep the interface as similar to MB3D as possible, somehow Jesse made it easy to grasp and use, of course it is not perfect and can be better but it is (I think) the most widely used 3D fractal renderer, and there must be a reason...

The only two features I really miss in MB3D:
GPU rendering
Color mesh export

And about the formulas... (very important for the popularity of MB3D)
Luca should have the assembly for all his formulas? so you shouldn't need to translate them from code... I will try to get in contact with him.

I really hope this project will continue, looking forward to see the result hands on!
Good luck with it Valera! :beer:


Title: Re: MB3D v2
Post by: Sockratease on August 06, 2016, 12:47:22 PM
Wow, this is great news Valera.

First thoughts:
Keep the interface as similar to MB3D as possible, somehow Jesse made it easy to grasp and use, of course it is not perfect and can be better but it is (I think) the most widely used 3D fractal renderer, and there must be a reason...

I have to agree with that!

If you go with the node based interface, I would not even try to connect it with MB3D.  It would be an entirely different user experience.  Too different to claim it is related to the original in any way except "under the hood."

Even Mandelbulber's interface breaks my tiny little brain.  But I get along just fine with MB3D  (I keep meaning to do a "step by step" of me trying to use Mandelbulber and point out exactly where I just close the program for 3 or 4 tries, just to show where I get tripped up - but that is a topic for elsewhere!).

Node based programs are nowhere near as "intuitive" for me as I have heard many people claim about them.  But then again, I am old and have trouble with smart phones!  I just like a menu driven system and don't "get" a lot of modern interfaces.

If you go with nodes, try to make them optional if that is even possible.  Or, as I said, it would cease to be what made MB3D so special.

A program's interface is far more important than it's functionality for ease of use and therefore desire to use it often.  Fractals are my Playtime and I really don't want to have to work too hard to figure out an interface.  If I were making money on it, things would be different.  But for play...  I just stick with whatever programs I pick up on and stick with them.  I try many, but few fractal generators were as compatible with my way of thinking about making fractal art as MB3D!



Title: Re: MB3D v2
Post by: m2001 on August 06, 2016, 01:24:32 PM
i plead for a formula node editor  :)

my personal reasons in this mockup - yellow notes on top
https://drive.google.com/file/d/0B7zs_zm2KjR3RzFITjRfRk1GMkk/view



Title: Re: MB3D v2
Post by: blob on August 06, 2016, 02:36:53 PM
Node based programs are nowhere near as "intuitive" for me as I have heard many people claim about them.  But then again, I am old and have trouble with smart phones!  I just like a menu driven system and don't "get" a lot of modern interfaces.

I have trouble with smart phones too (:hurt:) but I think a node based approach is the way to go at least as far as mixing formulas is concerned as this would allow to mix them in any kind of ways the current interface/paradigm doesn't allow such as for example DECombinating two or more alternate hybrids which is the kind of thing I am sure many would want to be able to do.

Of course a scripting approach/solution could allow for this too but give me a node based graphical interface over a blank text field any day.



Title: Re: MB3D v2
Post by: KRAFTWERK on August 06, 2016, 03:43:08 PM
...but I think a node based approach is the way to go at least as far as mixing formulas is concerned as this would allow to mix them in any kind of ways the current interface/paradigm doesn't allow such as for example DECombinating two or more alternate hybrids which is the kind of thing I am sure many would want to be able to do...

I'll second that! DE combinates of several hybrids would be great!
I can see the point in node based formula mixing... I just think the overall interface of MB3D is great as it is...
(That doesn't mean it is perfect, I am sure it can be made even more intuitive!)


Title: Re: MB3D v2
Post by: 0Encrypted0 on August 06, 2016, 04:32:16 PM
Would it be possible to code the core application with an API so other developers could design external add-ons to customize the user interface and/or post processing options?
In the long term - yes. A method to add plugins, such as the one used in Blender (https://www.blender.org/api/blender_python_api_2_77_1/), can be created. An interpreted language, such as JavaScript or Python, can be used for plugin coding. However, this has to be thought through carefully, and the design of the program must allow for such a system in the future.

I am hoping that with a robust API both UI camps can be accommodated. (Current vs node)

The current interface will still need some major work to handle High DPI monitors.
The interface is already showing problems on my 1920 x 1200 monitor, much less 4K.
Text overlaps check boxes to the right and is cut off on the left.
Tiny text in the formula drop down lists begs the need for a formula browser.

How would the current interface handle a string of 12 formulas/addons?

Imagine a situation where you want to change the scale value of 2 different formulas at the same time.
Link the 2 scale settings with a widget (like an x/y pad that adjusts curves in a graphics program) that can vary the values between an adjustable upper and lower limit as you view the results in the Navigator.
This could make exploring much faster compared to switching between tabs to adjust each formula separately.
This is just a simple example of the flexibility of a node based interface.


Title: Re: MB3D v2
Post by: 1Bryan1 on August 07, 2016, 01:22:56 AM
If you want true flexibility then ...
    > separate the user interface from the program interface
    > make the user interface a plug in
That way ...
    > those that want a node interface can implement that type of experience
    > those that want a button interface can implement that type of experience
    > etc.


Title: Re: MB3D v2
Post by: thargor6 on August 07, 2016, 02:00:16 AM
Just as an advice, not a critique: you should think about goals first and then chose technology. My experience is (and that is quiet a lot) that many developers chose just a technology to be able to play with it by themselves, and not to solve a problem.

MB3D is very popular for its interface, simple use, number of possibilities, render quality, probably some more stuff.


So, the question is (also for developers like me, if to contribute or not), what is the goal? Make the same, but in different language? Make it totally different, but able to render the old stuff? Make a 1:1 copy, but faster? Invent new stuff? What is the difference to Mandelbulber? What are the target groups? ...


Node-based or not, in my opinion, are just details for later, there could be other choices as well (e.g. a tree), just different views of the same (flexible) thing.
Regarding the node-based stuff: I would think that it will not feel "sexy" for most users, they usually are not scientists, but artists.

Just my 2 cents,
best regards,
Andreas



Title: Re: MB3D v2
Post by: 0Encrypted0 on August 07, 2016, 05:57:54 AM
MB3D is very popular for its interface, simple use, number of possibilities, render quality, probably some more stuff.

Regarding the node-based stuff: I would think that it will not feel "sexy" for most users, they usually are not scientists, but artists.

I never got used to the UI by myself, I think I would have created a very different one, which does not mean that it would have been better. Especially only one editor window with easier access to all the properties.
Did you ever make any rough drafts of your ideas for a different UI?


Title: Re: MB3D v2
Post by: Brocoli on August 07, 2016, 10:29:32 AM
I don't understand the problem, is it the ui design that i do for the interface or the node based editor ?


Title: Re: MB3D v2
Post by: m2001 on August 07, 2016, 10:51:13 AM
I don't understand the problem, is it the ui design that i do for the interface or the node based editor ?

i think no

we discuss the ui in some posts and that should not be the "first" step in this project from architectural and goal aspects, but understandable because thatīs what we can see ;)



Title: Re: MB3D v2
Post by: Brocoli on August 07, 2016, 11:05:08 AM
i think no

we discuss the ui in some posts and that should not be the "first" step in this project from architectural and goal aspects, but understandable because thatīs what we can see ;)



Ok.


Title: Re: MB3D v2
Post by: 0Encrypted0 on August 07, 2016, 01:54:11 PM
The Metasurface in AudioMulch (http://www.audiomulch.com/)
Interesting idea using the mouse to modulate many parameters simultaneously.
https://vimeo.com/13800600
Code:
https://vimeo.com/13800600
Used to adjust audio parameters in this demonstration.

It would be an interesting concept for adjusting many formula parameters at once.


Title: Re: MB3D v2
Post by: M Benesi on August 07, 2016, 06:43:16 PM
And about the formulas... (very important for the popularity of MB3D)
Luca should have the assembly for all his formulas? so you shouldn't need to translate them from code... I will try to get in contact with him.

   Luca told/led me to use OllyDGB  (Olly Debug) for disassembly/ coding/ reassembly.  Basically you copy / binary paste into OllyDBG to see the code and copy it to notepad, and check it in OllyDBG (or just do it in OllyDBG if it's a small enough segment- but I like writing in notepad more). 

  If I had a decent fraps type of software I'd make a video of it for the community.... but I don't.  Maybe Skype (desktop) with someone who does who will edit out my brain malfunctions... and save them for an outtakes reel.  :D

 
  Something I'd like to see implemented is 3d arrays of fractal data stored, with variable resolution depending on local DE.  This would speed up calculation as parts far from the fractal (after first DE is loaded at Viewer position) wouldn't recalculate DE, and would just access the data array for the first lower resolution jumps towards the fractal.

  Not only that, we could apply changes to just certain parts of the fractal without recalculating the whole thing.  3Dickulus and I already implemented a prototype of this in Fragmentarium, but I ran into array size limitations on my 9 year old GPU so stopped work on it (it's still just a function that needs to be recalled for every new calculation, so you run into a LOT of slowdown as you increase the number of transforms applied).

  There aren't array size limitations for the CPU though (well, ones that we'd have to worry about), so being able to mold the fractal on the fly would be cool.

  Here is an old demo that 3Dickulus made of the code (doesn't do much at this point but move around the bulb- never wrote a lot of code to use with it, although some new code that I wrote might work with it well....):

https://www.youtube.com/watch?v=mQzi0LuG3yo (https://www.youtube.com/watch?v=mQzi0LuG3yo)

   Basically, if we could store stuff in an array, we could apply (mathematical) changes to specific parts of the fractal.   


Title: Re: MB3D v2
Post by: DsyneGrafix on August 07, 2016, 10:03:32 PM
Wonderful News! Don't be put off by the cries for GPU support! If you need volunteers for testing, bugs and the like, post here!
https://www.facebook.com/groups/amandelbulbmaniac/


Title: Re: MB3D v2
Post by: Tuned Agent on August 07, 2016, 11:18:14 PM
My only humble request would be diffuse map by formula and/or iteration. Perhaps a diffuse map masking feature if that would be easier. Good luck with the project!


Title: Re: MB3D v2
Post by: fractalgee on August 08, 2016, 12:08:50 AM
Great news!

Would be nice if it could natively run on anything, but that is of course a long goal. But at least make sure the code base makes it easy to port the things that are really platform dependent, then someone else can pick up that part. I think anything in M3DB currently is good, but needs refactoring, so it fits into a modern project with maintainability and testability in mind as part of the design.

This is one really awesome project to take on, respect. May you succeed!


Title: Re: MB3D v2
Post by: Lelle on August 08, 2016, 12:27:11 AM
This sounds fantastic... And enormously time consuming! The one question I have is if it's possible to make it easily compailable for Windows, Linux and Mac? That would broaden the user base very much and make away with half working wrappers!

Also keep Andreas great mutagen!


Title: Re: MB3D v2
Post by: FracZky on August 08, 2016, 07:10:54 PM
It is great to see the software is making it's way back from Extinction.
Name suggestion: "Escher Frac Studio 2016"
I hope I can help, and will try where possible...


Title: Re: MB3D v2
Post by: knokin on August 09, 2016, 04:43:19 AM
Am very grateful to those prepared to spend time doing this.
For the new one, would be nice if the name included reference to the originsl as a tribute to those who gave us what we have had before. Mandelbulb 3d Phoenix perhaps!
Hope the non maths people will be also be remembered as many of us use it for art thesedays. This includes not abbreviating formula names etc, and insuring the 'i' isnt only mathematical in reference.
I am a heavy user of lightmaps and heightmaps. Would love to be able to bring in fully 3d objects to interact with fractals. Also be good if someone can develop a simple way for those ignorant of such things to translate a 3D object into a useful heightmap withiut having to know Blender.
I love the current options for light maps to wrap or not etc. so leave those alone or only add to them.
Sliders instead of setting actual values all the time (unkess you want to) is great in Navigator.  Good to be able to set Far Plane but what about near plane to cut obscuring bits and oieces rather than use Cutting (which can be a challenge if everything is out of alignment. Also like Mutagen.
Also can the current MB3D version remain available into the future to mark those who went before.
Great thanks again. Its a pity the past developers have copped so much flack for all their time spent freely. Hope all can remain positive and supportive this time.



Title: Re: MB3D v2
Post by: valera_rozuvan on August 13, 2016, 10:28:47 PM
Summary of all feature requests

So far, this discussion is exactly what I wanted it to be! Thank you all who replied. To summarize all of the feature requests, I have created a wishlist. I tried to group features into general areas. You can find the wishlist at Mandelbulb 4D (M4D) must have features list (https://github.com/valera-rozuvan/mandelbulb-4d/wiki/Wishlist).


Name of the project

For the name of the project I am going to chose Mandelbulb 4D, the abbreviated version being M4D. Thanks to all, who provided their feedback at the New name for remake of MB3D (http://www.fractalforums.com/mandelbulb-3d/new-name-for-remake-of-mb3d) thread. See my comments (http://www.fractalforums.com/mandelbulb-3d/new-name-for-remake-of-mb3d/msg95382/#msg95382) over there for an explanation of why I chose that name.


Project goal

Also, I have been thinking about what I really want this project to become. So here goes a semi-formal project abstract  :)

Build an open source, state-of-the-art rendered, fine tuned to produce highly realistic visuals of arbitrary complex fractal 3D worlds. Out of the box, it should be intuitive and easy to use for artists. M4D will be based spiritually on the MB3D project, and, initially, will borrow heavily from the MB3D's custom formulas ecosystem. The "4" in "M4D" stands for the fourth dimension - time. M4D will aim for a very customizable animation creation experience, giving one fine grained control over all dynamic parameters throughout the animation timeline.


Next steps

1. Create a road map.
2. Decide on the minimal set of features for the first release.
3. Setup code repository and project page over at GitHub. [DONE] Available at https://github.com/valera-rozuvan/mandelbulb-4d (https://github.com/valera-rozuvan/mandelbulb-4d)
4. Start coding.
5. Post development news over here  :)
6. Release a first prototype to the public.
7. Regroup, and continue with development.



PS: I think this thread can be safely locked. Any new discussions regarding M4D will take place in a separate dedicated sub-forum.


Title: Re: Remake of MB3D
Post by: schizo on August 14, 2016, 02:15:07 PM
Fantastic news that made my day   :joy:
I also think that it is the best idea to rewrite the whole thing in a compatible manner and using the knowledge about algorithms from Mandelbulb 3D.
Thank you for your initiative. Hope this new baby will evolve and grow.
Good luck on your way M4D  :flowers:


Title: Re: MB3D v2
Post by: cyseal on August 15, 2016, 04:29:13 PM
That's awesome!
Will renderer also be changed?
Also, is it posssible to implement Vulcan?
https://github.com/KhronosGroup/Vulkan-Docs
https://github.com/SaschaWillems/Vulkan
https://github.com/LunarG/VulkanSamples


Title: Re: Remake of MB3D
Post by: 0Encrypted0 on August 15, 2016, 06:05:08 PM
Quote from Fractal Lab - sub.blue (http://sub.blue/fractal-lab)
Mandelbulb3D a Windows based app with a huge number of formula options and features. It doesn't use the GPU and so is much slower to render but doesn't have the floating point single precision limit of the GPU renderers, which means you can zoom in much deeper.


Title: Re: Remake of MB3D
Post by: Sockratease on August 16, 2016, 08:10:31 PM
I made this topic sticky, just so it doesn't get buried.  I may "un-sticky" some older and soon to be obsolete ones later.

While I'm here, I would like to suggest allowing use of ".map" files for gradients!  Then thousands of available files would become compatible and use of old programs like MakeMap would be possible   :D

Even  if one needed to import separate files for diffuse and specular colors, it would still open wide the possibilities.

I would think a gradient should be interchangeable, but my programming days are so far behind me that I could not fully understand what is involved.  But it seemed worth mentioning!


Title: Re: Remake of MB3D
Post by: knighty on August 16, 2016, 11:40:01 PM
One apreciated feature of MB3D that seem to be forgotten: deferred rendering which makes it possible to change coloring ...etc. very fast.

Good luck!


Title: Re: MB3D v2
Post by: valera_rozuvan on August 18, 2016, 02:32:55 PM
Will renderer also be changed?
Also, is it posssible to implement Vulcan?

I have some ideas as to the rendering methods I want to try my hand at. Ideally, in the far future, for the high quality rendering you will be able to choose from:

1. Simple ray-marching with approximated lighting, shadows, and coloring
2. Some kind of probabilistic method (Monte Carlo based)
3. Photon mapping
4. Voxel based

As to your other question, I am going for OpenGL 3.x at first. Vulkan tech is promising, but the future will show what niche it's going to take, and whether M4D project will make the switch to it.


Title: Re: Remake of MB3D
Post by: valera_rozuvan on August 18, 2016, 02:41:33 PM
While I'm here, I would like to suggest allowing use of ".map" files for gradients!  Then thousands of available files would become compatible and use of old programs like MakeMap would be possible   :D

I wasn't able to find any information on these things... Am I that young?  :) Is there a file format specification? Where can this program "MakeMap" be found?


Title: Re: Remake of MB3D
Post by: taurus on August 18, 2016, 02:48:19 PM
I wasn't able to find any information on these things... Am I that young?  :) Is there a file format specification? Where can this program "MakeMap" be found?
You can also take a look at Mandelbulber's sources. It makes gradients from jpegs in every version.


Title: Re: Remake of MB3D
Post by: 0Encrypted0 on August 18, 2016, 05:37:03 PM
One apreciated feature of MB3D that seem to be forgotten: deferred rendering which makes it possible to change coloring ...etc. very fast.
Just want to reiterate knighty's point.
Post processing (Shadows, Reflections/Transparency and DOF) as well as Lighting and gradient changes after the render is one of the top reasons Mandelbulb3D is so popular.
Hopefully that will not be lost in the translation to new code.


Title: Re: Remake of MB3D
Post by: valera_rozuvan on August 18, 2016, 05:51:30 PM
Just want to reiterate knighty's point.
Post processing (Shadows, Reflections/Transparency and DOF) as well as Lighting and gradient changes after the render is one of the top reasons Mandelbulb3D is so popular.
Hopefully that will not be lost in the translation to new code.

Added that to the wishlist (https://github.com/valera-rozuvan/mandelbulb-4d/wiki/Wishlist)!


Title: Re: Remake of MB3D
Post by: Sockratease on August 18, 2016, 10:28:09 PM
... I would like to suggest allowing use of ".map" files for gradients!  Then thousands of available files would become compatible and use of old programs like MakeMap would be possible   :D

Even  if one needed to import separate files for diffuse and specular colors, it would still open wide the possibilities.

I would think a gradient should be interchangeable, but my programming days are so far behind me that I could not fully understand what is involved.  But it seemed worth mentioning!

I wasn't able to find any information on these things... Am I that young?  :) Is there a file format specification? Where can this program "MakeMap" be found?

.map files are the format used in UltraFractal, ChaosPro, Chaoscope, FractInt, and many other "Classic" Fractal Generators.

Back when Nahee Enterprises was with us he had a site with archives full of fractal resources.  From there I got a folder with hundreds of .map gradients as well as the MakeMap program.  I'll have a look for it later this evening or tomorrow morning, depending on how much I have to do tonight...


Title: Re: Remake of MB3D
Post by: 0Encrypted0 on August 19, 2016, 01:53:04 AM
.map files are the format used in UltraFractal, ChaosPro, Chaoscope, FractInt, and many other "Classic" Fractal Generators.

Back when Nahee Enterprises was with us he had a site with archives full of fractal resources.  From there I got a folder with hundreds of .map gradients as well as the MakeMap program.  I'll have a look for it later this evening or tomorrow morning, depending on how much I have to do tonight...

If you need some utilities to create .MAP files for Chaoscope (or several other fractal generators that can uses these), then try some of the following:

"Make Map"   by Ronald E. Barnett
    http://www.HiddenDimension.com/ (http://www.hiddendimension.com/)

"FIntMap"      by Raymond Filiatreault
  http://www.Nahee.com/Software/+FIntMap/ (http://www.Nahee.com/Software/+FIntMap/)

"MapMaker"   by Jack A. Orman
  http://www.Nahee.com/spanky/pub/fractals/programs/ibmpc/utils/mapmaker.zip (http://www.Nahee.com/spanky/pub/fractals/programs/ibmpc/utils/mapmaker.zip)

"Automatic Fractal MAP Generator" (AFMP)   by Paolo Guagliumi
  http://members.tripod.com/softwork/map/ (http://members.tripod.com/softwork/map/)
  http://softwork.webjump.com/ (http://softwork.webjump.com/)


If you just want to download and use .MAP files already created by others, try these out:
    http://www.Nahee.com/Fractals/FractInt/MAP_s.zip (http://www.Nahee.com/Fractals/FractInt/MAP_s.zip)
 


I could not find "Make Map" at HiddenDimension.


Title: Re: Remake of MB3D
Post by: Sockratease on August 19, 2016, 09:42:48 AM

.map files are the format used in UltraFractal, ChaosPro, Chaoscope, FractInt, and many other "Classic" Fractal Generators.

Back when Nahee Enterprises was with us he had a site with archives full of fractal resources.  From there I got a folder with hundreds of .map gradients as well as the MakeMap program.  I'll have a look for it later this evening or tomorrow morning, depending on how much I have to do tonight...

If you need some utilities to create .MAP files for Chaoscope (or several other fractal generators that can uses these), then try some of the following:

"Make Map"   by Ronald E. Barnett
    http://www.HiddenDimension.com/ (http://www.hiddendimension.com/)

"FIntMap"      by Raymond Filiatreault
  http://www.Nahee.com/Software/+FIntMap/ (http://www.Nahee.com/Software/+FIntMap/)

"MapMaker"   by Jack A. Orman
  http://www.Nahee.com/spanky/pub/fractals/programs/ibmpc/utils/mapmaker.zip (http://www.Nahee.com/spanky/pub/fractals/programs/ibmpc/utils/mapmaker.zip)

"Automatic Fractal MAP Generator" (AFMP)   by Paolo Guagliumi
  http://members.tripod.com/softwork/map/ (http://members.tripod.com/softwork/map/)
  http://softwork.webjump.com/ (http://softwork.webjump.com/)


If you just want to download and use .MAP files already created by others, try these out:
    http://www.Nahee.com/Fractals/FractInt/MAP_s.zip (http://www.Nahee.com/Fractals/FractInt/MAP_s.zip)
 

I could not find "Make Map" at HiddenDimension.

Wow!  That's the very list I was seeking!   O0  Paul was a tremendous asset to the Fractal Community and I'm glad his site is still there after his unfortunate passing.  Shame about MakeMap.  I'll try out some of the others and see if any are good - I did so when he posted that list 10 years ago (in response to me asking something about .map files!) and if any are worth it, I'll post back here.

Thanks for tracking it down and posting it here.

Is the .map format an idea people like?  It by no means has to be the only format, but with the thousands of them I've built up over the years (1700 in that zip file alone!) it seems like a waste of resources to not have modern software make use of them.  I use ChaosPro as a .map viewer when looking for specific ones since it displays entire folders of them nicely.



Title: Re: Remake of MB3D
Post by: blob on August 19, 2016, 12:32:33 PM
MakeMap is available through the Wayback Machine: http://classic-web.archive.org/web/20090202123818/http://hiddendimension.com/makemap.zip

It's a 16bit windows program though and thus and won't run on a 64bit OS.

There is also ApoMap: http://www.apophysis.org/Apomap1.exe & Palette Suite: http://alister.eu/palsuite/



Title: Re: Remake of MB3D
Post by: valera_rozuvan on August 19, 2016, 03:03:52 PM
It's a 16bit windows program though and thus and won't run on a 64bit OS.

This is just the problem for DOSBox (http://www.dosbox.com/) to solve :) But I like the ApoMap program. It even comes bundled with the source code! Thanks.


Title: Re: Remake of MB3D
Post by: 0Encrypted0 on August 19, 2016, 08:18:45 PM
This is just a tentative idea.
If a mesh output is possible from a Mandelbulb3D render and a mesh can be UV mapped, could the UV map then be imported back into the Mandelbulb3D scene as a color/texture map?


Title: Re: Remake of MB3D
Post by: Brocoli on August 25, 2016, 02:06:13 PM
It would be a very nice features, if we could export object animation (maybe light and camera).
The .obj format allow export single object 1 frame and then create another object with another frame.

@ valera_rozuvan : Ask me when you want that i make icons / logo / new ui design.


Title: Re: Remake of MB3D
Post by: JohnQForumPoster on September 02, 2016, 10:46:30 PM
It would be a very nice features, if we could export object animation (maybe light and camera).
The .obj format allow export single object 1 frame and then create another object with another frame.

@ valera_rozuvan : Ask me when you want that i make icons / logo / new ui design.

Yes! This. Exporting camera move data would be very nice.


Title: Re: Remake of MB3D
Post by: sonical on September 13, 2016, 04:06:24 PM
Hello Valera and all... I do have a request to add to the pile and hope it would be a simple one to implement.

Allow animated background images, in the same way that mdb3d1.9 allows animated heightmaps.

This would mean that M4D would be able to use 360° video.
The ability to place mandelbulbs inside filmed or generated 360° film/video would be fantastic and I think the time is right for that :)

Interested in feedback on the idea.

Cheers!


Title: Re: Remake of MB3D
Post by: Rathinagiri on September 25, 2016, 11:55:31 AM
Brilliant!

Please keep the stereo rendering capability and options for main window and animation.

If possible, please add the feature of rendering the interleaving frames between right and left eye images enabling us to create lenticular 3D printing!


Title: Re: Remake of MB3D
Post by: Sabine on September 25, 2016, 12:40:03 PM
This is such a great idea! I thank you all that are involved so much for even considering doing this! (http://st.deviantart.net/emoticons/w/worships.gif)

Love the program to bits, and have only one request: please consider for whom you are re-creating it? Next to the lucky few who can manage the node-gui and for whom all the nice and nifty export/texturing/animation settings and other sexy stuff are wonderful to have, there is a big community of mb3d users out there (and I am part of it) that - I am pretty sure - would love a bit more conservative approach or at least a choice between user modes ;) F.i. keep the 3d-navigation and the way of placing for positional lights as is,they are the most user friendly I have ever seen, things like that.

Please think of us 'mere mortals' too;)


Title: Re: Remake of MB3D
Post by: Dermis on October 10, 2016, 02:12:09 PM
This is great news indeed! Respect to Valera!

It would be great if there was a mesh import function, similar to that in Incendia. So .obj files (or similar) could be merged with MB3D formulae like dIFS.

Here's hoping. Good luck with the project!


Title: Re: Remake of MB3D
Post by: valera_rozuvan on November 16, 2016, 05:50:43 AM
Hi all! I have made little progress on the remake. This is due to the fact:

1.) Me and my wife have a little girl (9 months old now). It's taking way more time on my side to take care of her than I originally thought.
2.) I just switched jobs. It's a demanding project from scratch, and the first couple of months are rough.

So looking at my speed of coding MB3D ... I'd say the first alpha release is going to happen somewhere near the summer of 2017. :) Stay tuned!


Title: Re: Remake of MB3D
Post by: Brocoli on November 18, 2016, 11:25:44 PM
Hello Valera, take your time and make it great  :dink:


Title: Re: Remake of MB3D
Post by: Marius460 on December 02, 2016, 12:27:41 AM
Amazing, look forward to see the final result  :)


Title: Re: Remake of MB3D
Post by: micshac on December 03, 2016, 03:42:19 AM
Hi all! I have made little progress on the remake. This is due to the fact:

1.) Me and my wife have a little girl (9 months old now).

 :flowers:


Title: Re: Remake of MB3D
Post by: LMarkoya on December 03, 2016, 04:21:46 AM
Congratulations, take your time on the remake
and spend time with your wife and your new miracle girl


Title: Re: Remake of MB3D
Post by: miles on January 03, 2017, 06:35:54 PM
1. Project name. Should we keep the original name, and just call it version 2? Should we name it something different?
2. List of features that you'd like to see carried over from MB3D.
3. Any new features you want. For example something that is currently in other 3D fractal programs.
4. UI design mock ups, sketches, ideas, etc.
5. Technical side of things. Suggestions for programming language, UI library, architecture, etc.
6. Input on anything else I am forgetting right now.

1. Regarding names: "Mbulb"
3. New feature: Extensive help docs with a search engine built as a menu item like Autodesk Maya. Also built in sample library like Maya's Visor "Get Example". As this would be time consuming and expensive maybe the hardcore MB3D users could contribute to this in some organized fashion.
4. UI: See Nuke's (compositing software) interface as it's node based... which would be great. Non destructive, easy to navigate, easy to experiment in. Clean simple interface. The scrolling Properties Panel would be ideal for Formulas.
5. Suggestion for programming language: Python, not that I know how to program but it's a popular with other VFX software.
6. If possible a written and visual explanation of the terminology if that's even possible for the dumb ass artist types like me. ;)

Maya and Nuke have put a lot of effort into their interface and changes to it almost every year with small tweaks in the effort to make it better, why not borrow from that instead of inventing completely new interface. Nuke is the best I've seen, very efficient... forgo sexy, keep it intuitive and clean.
Avoid lots of digging through menus / layers, keep everything visible at once. For example all the formulas values and attributes are on the screen at one time as an option. As a new user to MB3D I get confused very quickly. Understanding formulas is challenging enough but klunky software makes it extra frustrating. Yes you can get use to anything in time, but if your starting fresh then I would love to see the above changes.

Take advantage of all the screen space, many VFX artist have dual monitors, again Nuke has addressed this well allowing you to save your own custom settings regarding this. Attached is a screenshot of Nuke's interface.

Thank you so much for allowing me to add my input. I'm in awe of your skills... I'll never hope to understand the voodoo you do.





Title: Re: Remake of MB3D
Post by: Maxi on March 03, 2017, 08:33:41 PM
Hi everyone,

Have been lurking on fractal forums and been following MB3D for a while - thought it was about time to say hello.

This piece of software so far is absolutely spectacular - especially since V2 it has made fractal rendering and experimenting with parameters very accessible. I have found playing with this engine incredibly theraputic and find myself many evenings exporing beautiful fractal infinity. Thank you so much - incredible piece of software, peace and respect from the UK!  ;D

Some features/components I'd love to see in new version (sorry if already mentioned somewhere):

- A 'hide interface'/preview mode, similar implementation to Adobe suite or Sketch BC. This would be helpful to quickly examine current setup without adjusting zoom/window layout to get a closer look.

- A very low fidelity globe model of the users' current fractal settings that highlights where on the model the camera is located. Could sit in the bottom right corner of render window with lowered opacity for inactive state, then full alpha on hover-state.

- Have seen it mentioned already, but GPU assisted rendering, think i remember seeing OpenCL being implemented in future. Addition to the manual with info/configuration of hardware would be lovely also.

I really like the way you've implemented tooltips for explanation of parameters and rendering effects also. Thanks again guys, have a great evening. :)

Maxi


Title: Re: Remake of MB3D
Post by: 1Bryan1 on March 03, 2017, 10:41:00 PM
Ummm .... hope you realize that valera_rozuvan (the author of the original post) is not the author of MB3D nor of the recent changes to MB3D.
The author of this topic was proposing to re-engineer MB3D into something else (as in 'see bird flying, plan to make jet aircraft based on that vision').


Title: Re: Remake of MB3D
Post by: valera_rozuvan on June 15, 2017, 11:37:36 PM
Something is in the works. Don't give up hope.


Title: Re: Remake of MB3D
Post by: Brocoli on June 16, 2017, 08:50:12 PM
Great !!!


Title: Re: Remake of MB3D
Post by: Spain2points on June 17, 2017, 02:05:17 PM
Hi, as a person who has zero idea about the way this software works (or any for that matter), I'd like to be able to export the mapping of any given object. I'm thinking of getting the uv map that Shapeways ask me to have if I want a 3d model in colors. It would be really cool to get it, at least from Difs. I tried in Blender, but Blender hates my guts. Anyway, that's a dream of mine, cheers.


Title: Re: Remake of MB3D
Post by: crystalwizard on July 02, 2017, 04:41:32 PM
The things I'd really like to see added to this new remake are:

1. the ability to browse for height maps (and all other maps) instead of having to type in the name.
2. Initial directories that actually work. Currently, even with the most current version, it doesn't matter where I tell MB3d my background images are, I still have to put them in the main directory for it to find them.
3. interactive help files for every function - I.E. A small ? next to every field that, when clicked, opens a help page with clear instructions as to what to put in that field, and a clear description what it does (kinda like tooltips but not as irritating).


Title: Re: Remake of MB3D
Post by: m2001 on July 02, 2017, 05:33:29 PM
to 1) right mouseclick in the map nr. field ;)


Title: Re: Remake of MB3D
Post by: morbidorbits on September 30, 2017, 04:44:46 PM
How exciting!!  Thanks for taking this on.

The only suggestion I have currently is regarding browsing for files (e.g. like .m3i) it would be really useful to have summary of the the parameters, and the fractal details.   So when I click on an .m3i in the file browser and I can see instantly how large in pixels it is, as well as how long it took me to render, etc.  I can't see this info in the current version I am using (1.91).

Really just to improve usability for people with a lot of files, and who often saves hundreds of files into the same sub folder, but not all of them are the same type of render.

I will almost certainly think of many more suggestions for Mandelbulb 4D.


Title: Re: Remake of MB3D
Post by: dyol on October 06, 2017, 09:43:22 PM
Great news !

may you integrate an export menu  that gives the result of the combination of differents objects
i mean if i alternate formula 1  and formula 2 then it generate a new objet,
how to export the result as code to export in mandelbulber for example, or as mathematic in R2 form or similar ?
how to get the dimension [hausdorf] of the new generated object ?
is this easy ?

thx guys for your great work and thoughts  :-) :beer: :beer:


Title: Re: Remake of MB3D
Post by: claude on October 06, 2017, 10:30:07 PM
how to get the dimension [hausdorf] of the new generated object ?
Finding the Hausdorff dimension may be very hard.  But box-counting dimension may be good enough, and should be tractable (you don't need to populate all the boxes at once taking lots of space, you can compute it recursively with only space for one count per level).


Title: Re: Remake of MB3D
Post by: 1Bryan1 on October 14, 2017, 11:48:37 PM
to 1) right mouseclick in the map nr. field ;)

Oh fudge.
I hadn't realized that :o


Title: Re: Remake of MB3D
Post by: Alef on October 17, 2017, 04:27:34 PM
I think the first would be some small but working version. And then: Oh it could have this and then it could have that cool feature.


Title: Re: Remake of MB3D
Post by: 1Bryan1 on October 19, 2017, 07:10:07 AM
Its called minimum viable product (MVP).


Title: Re: Remake of MB3D
Post by: Alef on October 20, 2017, 04:33:53 PM
Yes. I think all the fractal software started like this. And the good fractal software is one which was developed for years. I don't know if the first UF, fragmentarium or M3D realy was so good.
So at start MVP would be enought. Especialy one made that it can be further modificated and added mods and features. That is modal.


Title: Re: Remake of MB3D
Post by: Mrz00m on November 04, 2017, 01:19:50 PM
Sounds awesome, keep it up. If you want to make high quality mesh from the iso-surfaces, I suggest that the best way is to do similar to the image stack/voxel export, except with 1 extra step of maths for every cube to achieve 3 magnitudes higher precision and no aliasing...

instead of of a B/W map for every voxel of the mesh, use a 8 bit floating point value. If you an export 8bit grey images from MB3D instead of black white, I can do the rest, I will code you a meshing program...

From the 8 bit values of every point sampled, you can compare the 8 axis neighbor points and place a precise boundary point by inferring the position closes to the iso-surface... I figure a greyscale 8bit export of the images from the ISO to make mesh would have to use 0.5 grey value where tje the iso equation has a 0 value.

export greyscale image stacks is perhaps the way forwards, which gives awesome mesh potential, and gives the MB3D coder very little work.