Difference between revisions of "Manual ChaoticaIntegration"

From MediaWiki
Jump to: navigation, search
(Components)
Line 22: Line 22:
 
=The JWildfire-Chaotica-Bridge=
 
=The JWildfire-Chaotica-Bridge=
 
Because of the many differences between JWildfire and Chaotica, exchanging flames between them is a rather challenging task, which is performed by a special layer of software: the '''JWildfire-Chaotica-Bridge'''.
 
Because of the many differences between JWildfire and Chaotica, exchanging flames between them is a rather challenging task, which is performed by a special layer of software: the '''JWildfire-Chaotica-Bridge'''.
==Components==
+
==Components of the Bridge==
 
The '''JWildfire-Chaotica-Bridge''' consists of the following components:
 
The '''JWildfire-Chaotica-Bridge''' consists of the following components:
 
#'''Chaotica-Launcher''': translates the current fractal of the Main-Editor into the Chaotica-format and launches Chaotica to render the translated flame
 
#'''Chaotica-Launcher''': translates the current fractal of the Main-Editor into the Chaotica-format and launches Chaotica to render the translated flame
Line 30: Line 30:
 
##Forces to use some JWildfire-specific plugins to force that the result looks the same, e.g. renaming "swirl" into "swirl_wf"
 
##Forces to use some JWildfire-specific plugins to force that the result looks the same, e.g. renaming "swirl" into "swirl_wf"
 
##Replacing certain unavailable plugins by replacements which work as much the same as possible, e.g. replacing "dcztransl" by "linear"
 
##Replacing certain unavailable plugins by replacements which work as much the same as possible, e.g. replacing "dcztransl" by "linear"
 +
#'''Chaotica-MotionCurve-Translator''': transfers the MotionCurves designed in JWildfire to the Chaotica
 +
#'''JWildfire-Chaotica-Plugin-Pack''': contains about 150 external plugins in Apo-format to hepl to translate as many flames from JWildfire to Chaotica as possible. They are made from JWildfire-code and are intended to work the same as the plugins with the same name in JWildfire. Currently they are only available in 64 Bit by design.
 +
Using all of this components, the bridge can currently handle/translate 265 plugins.

Revision as of 23:08, 5 May 2015

About Chaotica

Chaotica is a really nice piece of software, which was designed to create and render flame-fractals in the best quality possible, developed by Glare Technologies. It creates brilliant images with rich colors and sharp details in little time, and also supports fractal-animations, with very nice motion-blur-effects.

In the current state, it clearly focuses on the rendering and has a rather minimal interface to design and manage flames. But, this makes it a perfect candidate for an integration into other programs. Additionally, it uses only a very decent amount of memory, launches very quickly and (per default) occupies not much of the screen, so that the integration really feels smooth.

Feature differences (examples)

But, nothing comes without a cost. So, we can't just export all of our flames to Chaotica and become happy by having rendered them in better quality in less time. Both programs, JWildfire and Chaotica, are very different, and transfering flame-parameters between them is actually a very challenging task. But, many of those differences are not a fault, or something similar, which may be eventually "solved", many differences are influenced by design, and they will remain.

Some examples:

  1. Chaotica currently does not support any (Pseudo)3D-feature, so all the 3D-stuff in JWildfire will not translate. Or in simple words: Fractals in Chaotica are always 2D
  2. JWildfire does not support the loading of any external Apophysis-plugins (and has all plugins integrated), where Chaotica supports both, internal and external plugins. This may lead to different behaviour in certain cases, because there is no garuantee that a certain plugin with the name X will behave in all programs the same. Apo-Plugins were often created in Delphi or C, while JWildfire-plugins are written in Java, and Chaotica probably uses some C-dialect.
  3. In animations, Chaotica is designed to work on a time-basis, while JWildfire works one a frame-basis (which can be translated in each other, of course).
  4. While Chaotica can have any variation as "post_" or "pre_"-variation, JWildfire still uses the Apophysis-approach to decide the priority by name (because of compatiblity reasons)
  5. Chaotica and JWildfire use different models for applying affine transforms
  6. Anti-Aliasing works different in both program

The JWildfire-Chaotica-Bridge

Because of the many differences between JWildfire and Chaotica, exchanging flames between them is a rather challenging task, which is performed by a special layer of software: the JWildfire-Chaotica-Bridge.

Components of the Bridge

The JWildfire-Chaotica-Bridge consists of the following components:

  1. Chaotica-Launcher: translates the current fractal of the Main-Editor into the Chaotica-format and launches Chaotica to render the translated flame
  2. Chaotica-Plugin-Translator: translates the names of certain plugins and plugin-parameters from JWildfire to Chaotica.
    1. Exchanges certain 3D-plugins by 2D-plugins, e.g. "blade3D" ist translated into "blade", because "blade" works the same when the fractal is in 2D.
    2. Removes plugins which can not work by design, e.g. "inflateZ_1", which is a displacement into z-directorion, which would have no effect at all
    3. Forces to use some JWildfire-specific plugins to force that the result looks the same, e.g. renaming "swirl" into "swirl_wf"
    4. Replacing certain unavailable plugins by replacements which work as much the same as possible, e.g. replacing "dcztransl" by "linear"
  3. Chaotica-MotionCurve-Translator: transfers the MotionCurves designed in JWildfire to the Chaotica
  4. JWildfire-Chaotica-Plugin-Pack: contains about 150 external plugins in Apo-format to hepl to translate as many flames from JWildfire to Chaotica as possible. They are made from JWildfire-code and are intended to work the same as the plugins with the same name in JWildfire. Currently they are only available in 64 Bit by design.

Using all of this components, the bridge can currently handle/translate 265 plugins.