Code Monkey home page Code Monkey logo

jwildfire's People

Contributors

boleslaw avatar dependabot[bot] avatar edwint88 avatar gregghelt2 avatar jsosai avatar sidwellr avatar smack42 avatar snicker02 avatar thargor6 avatar tsulej avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

jwildfire's Issues

Steam affecting Preferences for Folders

Here is a copy of my JWildfire.cfg from my Steam installation.

[Application]
app.name=JWildfire
app.version=8.10
app.runtime=$ROOTDIR\runtime
app.identifier=org.jwildfire.swing
app.classpath=$ROOTDIR\app\j-wildfire.jar
app.mainjar=$ROOTDIR\app\j-wildfire.jar
app.mainclass=org.jwildfire.swing.JWildfire

[JavaOptions]
-splash:app/splash.png
-Xmx8G

[ArgOptions]

The problem I am having is Steam can't find my base flame files or script files. With the Steam configuration,
I don't know where to point it to by changing preferences. It Used to be in the clean JWildfire you did not have to point
to those folder(s). With this Steam version when I click on the Flame Browser button, it shows that their are no flames available. I click on "Change folder...." and it opens up my Documents folder, of which there are no Flames! Where is the default folder for flames and scripts in the Steam version of JWF?

variation PRose3DFunc: Method uses the same code for two branches

Detected by FindBugs in class JWildfire/src/org/jwildfire/create/tina/variation/PRose3DFunc.
The fix would be trivial, just remove the redundant code.

However, I think this can be a real error and that the if/else paths should have contained different code. Please verify.

    else // this is the option when optDir > 0.0
    {
      if (posNeg < 0)
      {
        pVarTP.x += pAmount * 0.5 * (length * cos(numPetals * th + constant)) * cth;
        pVarTP.y += pAmount * 0.5 * (length * cos(numPetals * th + constant)) * sth;
        pVarTP.z += pAmount * 0.5 * ((scaleZ1 * waggle + sqr(rad * 0.5) * sin(wig) * wigScale) + (this.dist));

      }
      else
      {
        pVarTP.x += pAmount * 0.5 * (length * cos(numPetals * th + constant)) * cth;
        pVarTP.y += pAmount * 0.5 * (length * cos(numPetals * th + constant)) * sth;
        pVarTP.z += pAmount * 0.5 * ((scaleZ1 * waggle + sqr(rad * 0.5) * sin(wig) * wigScale) + (this.dist));
      }
    }
  }

Index 0 Out of Bounds for Length 0 in Batch-Renderer

I was rerendering some old flames I had with the new OptiX denoiser, and I ran into this error:
image

Attached are four flame files that all share the same error. I can update with more if more fail to render.
Flames.zip

Currently running JWildFire 6.50 (I downloaded it yesterday from the website.)

Discrete action undo

When I press ctrl-z for undo, I expect it to undo up to the last time I pressed a button. But if I click and drag to move a transform in the preview window, for example, the ctrl-z undo buffer seems to save lots of increments up to the point. It seems to only be an issue when moving moving things in the preview window. I can't tell if this is "it's a feature, not a bug" kind of thing, but it's very impractical. It gets worse because the preview re-renders after every ctrl-z rewind, which makes rewinding before a single button press tedious, especially when I want to try and smoothly line up start and end keyframes.

Running from Terminal

I'm on MacOS and when I try to run the headless renderer I don't get any output files (following this: https://github.com/thargor6/JWildfire/wiki/CLI-tools)

`22:07:04,297 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback-test.xml]
22:07:04,297 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Could NOT find resource [logback.groovy]
22:07:04,297 |-INFO in ch.qos.logback.classic.LoggerContext[default] - Found resource [logback.xml] at [jar:file:/Users/zartu/Applications/j-wildfire-7.00/lib/j-wildfire.jar!/logback.xml]
22:07:04,310 |-INFO in ch.qos.logback.core.joran.spi.ConfigurationWatchList@25084a1e - URL [jar:file:/Users/zartu/Applications/j-wildfire-7.00/lib/j-wildfire.jar!/logback.xml] is not of type file
22:07:04,362 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - debug attribute not set
22:07:04,363 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.FileAppender]
22:07:04,369 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [FILE]
22:07:04,376 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
22:07:04,402 |-INFO in ch.qos.logback.core.FileAppender[FILE] - File property is set to [/Users/zartu/JWildfire.log]
22:07:04,403 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [ch.qos.logback.core.ConsoleAppender]
22:07:04,404 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [STDOUT]
22:07:04,404 |-INFO in ch.qos.logback.core.joran.action.NestedComplexPropertyIA - Assuming default type [ch.qos.logback.classic.encoder.PatternLayoutEncoder] for [encoder] property
22:07:04,406 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - About to instantiate appender of type [org.jwildfire.swing.MessageLogFrameAppender]
22:07:04,406 |-INFO in ch.qos.logback.core.joran.action.AppenderAction - Naming appender as [MESSAGE_LOG]
22:07:04,407 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@18:18 - no applicable action for [encoder], current ElementPath is [[configuration][appender][encoder]]
22:07:04,407 |-ERROR in ch.qos.logback.core.joran.spi.Interpreter@19:22 - no applicable action for [pattern], current ElementPath is [[configuration][appender][encoder][pattern]]
22:07:04,407 |-INFO in ch.qos.logback.classic.joran.action.RootLoggerAction - Setting level of ROOT logger to DEBUG
22:07:04,408 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [FILE] to Logger[ROOT]
22:07:04,408 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [STDOUT] to Logger[ROOT]
22:07:04,408 |-INFO in ch.qos.logback.core.joran.action.AppenderRefAction - Attaching appender named [MESSAGE_LOG] to Logger[ROOT]
22:07:04,408 |-INFO in ch.qos.logback.classic.joran.action.ConfigurationAction - End of configuration.
22:07:04,409 |-INFO in ch.qos.logback.classic.joran.JoranConfigurator@156b88f5 - Registering current configuration as safe fallback point

Done
128251 ms
`

I'm running the last version 7.00

Another topic:
Is there a way to call the scripts from CLI?

Variations optimisations

As promissed:

  1. CloverLeafWFFunc.java and CannabisCurveWFFunc.java - unnecessary assignment 'double r = pAffineTP.getPrecalcSqrt();'
  2. Cross and Cross2 functions seem to be the same
  3. getPrecalcXXX() is used very rarely (eg. Disc, Bipolar, Blade, Blocky, etc)
  4. ECollideFunc, copy/paste in 'if (pAffineTP.y > 0.0)' block. Whole can be reducted to:
  alt = (int) (nu * _eCn_pi);
  if (alt % 2 == 0)
    nu = alt * _pi_eCn + fmod(nu + _eCa_eCn, _pi_eCn);
  else
    nu = alt * _pi_eCn + fmod(nu - _eCa_eCn, _pi_eCn);

  if (pAffineTP.y <= 0.0) 
    nu *= -1.0;

more to come

Context menu for adding new subflame is missing

Since 2-3 versions the subflame editor doesn't have the context menu for pasting flames anymore. I don't remember what else was in the context menu.

Add a variation and make it subflame.
Screenshot 2023-02-20 at 05 04 01

Click on the gear icon to show the flame. Some versions ago there was a context menu. But now I can only use "Open file" to add a flame.
Screenshot 2023-02-20 at 05 04 17

Windows line endings in OSX startup script

Terminal.app chokes on start_mac.command extracted from the official 1.80 zip file because it has \r\n line endings. Either the source file uses Windows line-endings or it's being added by ant's zip task.

Changing path is wonky

Lets say I want to change tinaCustomVariationsPath:

Screenshot 2023-02-20 at 05 21 21

Double clicking on the path makes the path hide:
Screenshot 2023-02-20 at 05 21 31

After some frantic clicking I somehow get the button with the 3 dots to show up again:
Screenshot 2023-02-20 at 05 21 37

Please change the path so that the button with the 3 dots is always visible.

Auto remove unused keyframes

It seems like keyframes get generated in the bottom menu when moving points in the graphical keyframe editor, but they aren't removed when there is no change at them. In other words, after a bit of editing it gets filled up with a lot of useless keyframes. Maybe there could be a cull button to check if any keyframe is unused, then remove it?

Iflames import error

With iflames when you have a flame on the clipboard and you hit the from clipboard button getting this error
image

Gradle build fails

When build.gradle file executes below error occurs.

image

What could be the reason for this ?

It worked to some extent after changing the Gradle Version (from '2.4' to the latest)

Better if you can give a solution / suggestion for this.

@thargor6 Can you provide a suggestion ?
Thank you.

No undo after mutation

Mutate a flame:
Screenshot 2023-02-20 at 09 56 39

Select a flame to go back to the editor:

Screenshot 2023-02-20 at 09 56 50

After deleting the selected linear variation it's not possible to undo the change:

Screenshot 2023-02-20 at 09 56 57

Quit render borked

Have a nice quilt render. Notice the name of the output flame:

Screenshot 2023-02-20 at 09 52 09

However, when the first file is finished there is just an error message:
Screenshot 2023-02-20 at 09 52 56
Screenshot 2023-02-20 at 09 53 11

This might be related to the security scoped bodgemarks.

Ventura 13.2

Adding PNG Sequence Export to Batch Renderer (as an option)

Not sure if this is caused by JWildfire or my computer's software, but is there a way to export .png sequences out of the Batch Renderer window to avoid these sorts of encoding glitches? If not, could be a feature (since it already exports .png sequences first)
image

Support HiDPI scale on Linux

I can't run JWildFire 5 (or 4.1) properly on a 4k screen on ubuntu at 200% UI scale.
The UI scale parameter before launching the app doesn't do anything.
I read that Java 9 solved the issue but would need recompilation.

-Dsun.java2d.uiScale=2.0 has no effect on my system.

Make it easier to produce seamlessly looping images / GIFs

I'll give some background about this request. A week ago I discovered flame fractals, and I've been totally mesmerised by them since. I've been trying out every editor I could find.

It seems like JWildfire is really the only currently maintained one, and it's generally got the most features - the main feature which interests me is being able animate almost any flame/variation property and easily change them through the keyframe editor window. The closest thing I have been able to do has been in Fractorium, which can only animate transform rotation cycles.
Honestly, being able to just animate cycles at all has been a huge deal to me, and I've made some really cool animations in Fractorium using just that. But JWildfire has waay better keyframe navigation and previews, and I'd much prefer to use JWildfire entirely instead.

Here are a couple examples of seamless animations I've made in Fractorium for reference, which I personally find very relaxing to watch:
swirl_reduced
circley_reduced

They look really great at high resolutions. Mostly, I go for high resolutions and low frame counts, usually 60-120, and fiddle a lot with motion blur/related settings.

But, it looks like to me, the majority of JWildfire users seem to more interested in still images, let alone looping animations specifically. The JWildfire art galley doesn't seem to have any animated uploads. I mean, still images are great, but I'm personally more interested in animated fractal flames, specifically looping ones that can fit in a reasonable gif size. I don't know if there is a secondary reason for there not being any dedicated fractal flame animation sites, like lack of space or website maintenance difficulty. Or maybe I didn't look hard enough, in which case feel free to correct me. I bring this up because although JWildfire has the best configurability for animating transforms, there are a few features I thought of that would make it a lot easier to produce seamlessly looping fractal flame animations.

1: An easy way to make sure that the starting and ending keyframes have exactly the same property settings, so that the animation loops. As it is right now, replacing the end keyframe with the start keyframe (by deleting the end keyframe then copying the start keyframe to the end) seems to not copy all the keyframe properties.
Now, it's totally possible to go through each flame variation and affine tab and the camera settings to try and figure out which offsets need to be changed so the animation lines up, but this has been tedious for me and it seems simple to implement this action with one button instead. Maybe this is a bug with the keyframe duplicate action, I'm not sure.

A similar idea would be to have a drop-down menu next to the current keyframe which shows and allows me to navigate to the effects that are changed changed on that specific keyframe.

2: I would like to animate the transform weights. I can't see any option for this.

3: I would like more output format options for the "render" button. Because I intend the final version to be a lossless gif, normally when I am making an animation in fractorium it outputs each frame as one png, which I stitch together with imagemagick. If I use JWildfire to output to mp4, I have to convert it back to a gif, and I often want to do frame-by-frame touch ups too, which means I really want a per-frame output. But if I do per-frame output via the Easy Movie Maker PNG_IMAGES option, I have to run on CPU and not GPU, which is super slow for me. I would imagine it wouldn't be much effort to unify these different file export types across the different render menus.

4: I know about the buttons for opening the effect animation window, and how they change sprites depending on whether there is currently an animation for that effect or not. It would be nicer if the icons were higher contrast, because I have to squint to tell the minor red/green difference on the button sprite. The buttons changing themselves don't always seem to update correctly; some that are marked as red (indicating there is an animation on that frame) I can open and see there is only one keyframe set at frame 0, then I close the window and the button updates to green, so there is something wrong with the UI updates for those buttons.

  1. When I press ctrl-z for undo, I expect it to undo up to the last time I pressed a button. But if I click and drag to move a transform in the preview window, for example, the ctrl-z undo buffer seems to save lots of increments up to the point. It seems to only be an issue when moving moving things in the preview window. I can't tell if this is "it's a feature, not a bug" kind of thing, but it's very impractical. It gets worse because the preview re-renders after every ctrl-z rewind, which makes rewinding before a single button press tedious, especially when I want to try and smoothly line up start and end keyframes.

  2. It seems like keyframes get generated in the bottom menu when moving points in the graphical keyframe editor, but they aren't removed when there is no change at them. In other words, after a bit of editing it gets filled up with a lot of useless keyframes. Maybe there could be a cull button to check if any keyframe is unused, then remove it?

  3. It would be nice if the frame range in the keyframe property editor autofitted the frame count of the animation. It seems to be wildly off proportion most of the time, it only takes a couple of seconds to rescale it, but it just seems strange.

  4. Better preview resolution control. The animation updates to a higher resolution when navigating between keyframes rather than dragging and letting go of the frame slider. It would be nice to have better control of how detailed these resolutions are. The realtime preview on/off button helps, but it'd be nice to have more granularity.

  5. Even if the start and end keyframes have the exact same settings, if there are large shifts in between the start and end keyframes, there is jitter between the start and end keyframes so they don't line up for seamless looping when I render afterwards. I imagine this is possibly because of some interpolation on the ending keyframe that shouldn't be there, but that's only my best guess. I can give a few examples of this if it can't be reproduced easily, but it seems to be an issue with most animations and is most clearly visible after converting mp4 to gif.

Anyway, I might later look at the code base if some of these are easier features I could try implementing them myself, but I first just wanted to put these suggestions out there, because even though JWildfire has way more options and controls than the other editors, I'll probably have to stay with fractorium just because it has seamless looping rendering that "always works", in my preferred output format.

Error message "Operation not permitted" when trying to do a batch render

Have the flame path point to the new Dropbox folder.
Screenshot 2023-03-30 at 11 42 25

Click on Batch render for a random flame.

Click on the A button to save all flames. Select the Dropbox folder.

Click on Batch render for a random flame again. JWildfire now wants me to select the Dropbox folder again:
Screenshot 2023-03-29 at 19 07 21

However, after selecting the folder... the dialog to select a folder is shown again. I can only do a cancel and then I get the error message:
Screenshot 2023-03-29 at 19 07 35

If I save the flames to the desktop then I don't get the problem. I've also tried to add a batch render after getting the error and then it worked again. But with the Dropbox folder I can reproduce the problem.

Remove DeJoungFunc.java

As Rick Sidwell told me , the pdjFunc.java , where PDJ means "Peter De Jong" is just the same
variation I published as DeJongFunc.java, then my variation makes duplicated work, Andreas please would you remove DeJongFunc.java from the master? Thanks in advance

Scrollbars in listbox have artefacts when scrolling

Scroll down a listbox and get some nice artefacts in the scrollbar:

Screenshot 2023-02-20 at 05 49 09

Screenshot 2023-02-20 at 05 49 31

The slower I scroll the more artefacts:
Screenshot 2023-02-20 at 05 49 54

When scrolling up the artefacts are hidden.

I also get the artefacts after switching themes:
Screenshot 2023-02-20 at 09 41 11

Ventura 13.2 on M1

Several errors compiling on windows, resources folder classpath incompatibility and more

I get several errors when trying to compile source (NetBeans 17, Windows 10, Java 17 LTS ), it looks like there is some kind of incompatibility on "recourses" classpath name between windows and linux/mac systems

ERROR 1 - SOLVED
there are 6 special character errors on ANSI/UTF8 conversion in NetBeans. A simple copy paste from Notepad++ gives the correct character in UTF8


...\JWildfire-master\src\js\glsl\glslFuncRunner.java:1208: error: unmappable character (0xF1) for encoding UTF-8
	//  Function from I?igo Quiles
	                   ^
...\JWildfire-master\src\org\jwildfire\create\tina\variation\CutKleinianFunc.java:94: error: unmappable character (0xB0) for encoding UTF-8
			//If above the separation line, rotate by 180? about (-b/2, a/2)
			                                             ^
...\JWildfire-master\src\org\jwildfire\create\tina\variation\CutKleinianFunc.java:113: error: unmappable character (0xE9) for encoding UTF-8
	        //Store pr?vious iterates
	                  ^
...\JWildfire-master\src\org\jwildfire\create\tina\variation\DC_KaleidoscopicFunc.java:113: error: unmappable character (0xFC) for encoding UTF-8
		  // Fractal Colors by Robert Sch?tze (trirop): http://glslsandbox.com/e#29611
		                                 ^
...\JWildfire-master\src\org\jwildfire\create\tina\variation\DC_PoincareDiscFunc.java:79: error: unmappable character (0xF6) for encoding UTF-8
	vec2 mbtpc(vec2 z){//M?bius Transform Peserving (unit) Circle
	                      ^
...\JWildfire-master\src\org\jwildfire\create\tina\variation\DC_TrianTessFunc.java:309: error: unmappable character (0xE9) for encoding UTF-8
			return backGroundColor;//We are outside Poincar? disc.
			                                               ^
6 errors
BUILD FAILED (total time: 1 second)

ERROR 2 - (CLEAN & BUILD IS SUCCESSFULL)
Altought there is a manifest tag in built.xml, built is successful, but the created jar does not include it
no main manifest attribute, in jwildfire-ant1.jar

ERROR 3 - (RUN main Launcher class in IDE IS SUCCESSFULL with errors and start does not work) -> no image in Launcher window


run:
java.lang.NullPointerException: Cannot invoke "java.io.InputStream.close()" because "is" is null
	at org.jwildfire.launcher.Launcher.getImagedata(Launcher.java:470)
	at org.jwildfire.launcher.Launcher.getImage(Launcher.java:441)
	at org.jwildfire.launcher.Launcher.loadImages(Launcher.java:165)
image067.jpg
	at org.jwildfire.launcher.Launcher.<init>(Launcher.java:114)
	at org.jwildfire.launcher.Launcher$1.run(Launcher.java:90)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
java.lang.NullPointerException: Cannot invoke "java.io.InputStream.close()" because "is" is null
	at org.jwildfire.launcher.Launcher.getImagedata(Launcher.java:470)
	at org.jwildfire.launcher.Launcher.getImage(Launcher.java:441)
	at org.jwildfire.launcher.Launcher.loadImages(Launcher.java:196)
	at org.jwildfire.launcher.Launcher.<init>(Launcher.java:114)
	at org.jwildfire.launcher.Launcher$1.run(Launcher.java:90)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
Mar 29, 2023 1:13:14 AM java.util.prefs.WindowsPreferences <init>
WARNING: Could not open/create prefs root node Software\JavaSoft\Prefs at root 0xffffffff80000002. Windows RegCreateKeyEx(...) returned error code 5.
java.lang.NoSuchMethodException: java.util.prefs.WindowsPreferences.WindowsRegOpenKey(int,[B,int)
	at java.base/java.lang.Class.getDeclaredMethod(Class.java:2675)
	at org.jwildfire.launcher.JDKScanner.<clinit>(JDKScanner.java:143)
	at org.jwildfire.launcher.Launcher.scanForJDKs(Launcher.java:211)
	at org.jwildfire.launcher.Launcher.<init>(Launcher.java:115)
	at org.jwildfire.launcher.Launcher$1.run(Launcher.java:90)
	at java.desktop/java.awt.event.InvocationEvent.dispatch(InvocationEvent.java:318)
	at java.desktop/java.awt.EventQueue.dispatchEventImpl(EventQueue.java:771)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:722)
	at java.desktop/java.awt.EventQueue$4.run(EventQueue.java:716)
	at java.base/java.security.AccessController.doPrivileged(AccessController.java:399)
	at java.base/java.security.ProtectionDomain$JavaSecurityAccessImpl.doIntersectionPrivilege(ProtectionDomain.java:86)
	at java.desktop/java.awt.EventQueue.dispatchEvent(EventQueue.java:741)
	at java.desktop/java.awt.EventDispatchThread.pumpOneEventForFilters(EventDispatchThread.java:203)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForFilter(EventDispatchThread.java:124)
	at java.desktop/java.awt.EventDispatchThread.pumpEventsForHierarchy(EventDispatchThread.java:113)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:109)
	at java.desktop/java.awt.EventDispatchThread.pumpEvents(EventDispatchThread.java:101)
	at java.desktop/java.awt.EventDispatchThread.run(EventDispatchThread.java:90)
BUILD SUCCESSFUL (total time: 14 seconds)

Trouble Launching 8.1 under Windows 11

Get error message: No JRE found in "/C:/Users/mccul/OneDrive/Downloads/j-wildfire-8.10/j-wildfire-launcher.jar"
and: " Attempting to launch JWildfire using the command:
cmd /C start /low /b "JWildfire" "C:\Program Files\Java\jre1.8.0_341\bin\java" -Xms256m -Xmx4024m -Dsun.java2d.uiScale=12.0 -Djava.library.path=C:\Users\mccul\OneDrive\Downloads\j-wildfire-8.10\lib\x64 -cp C:\Users\mccul\OneDrive\Downloads\j-wildfire-8.10\lib\j-wildfire.jar org.jwildfire.swing.JWildfire"

What is the JRE? I added the runtime in the initial Launcher. Added the path to my Java folder, and selected Jave.exe. Do I have to move the runtime inside the J-Wildfire folder, which is what this error sounds like? Long-time user confused, never remember having to do that, the link in the setup always seemed to work.
Mike McCulley

bug - delete transformation function is broken

After deleting a transformation, the image disappears. I can add the same transformation after that, but nothing is rendered, the image does not reappear. Only happens when the last transformation is deleted.
I am on a mac, version 5.5

JWF 8.01 Launching probs

I start the program by double clicking on the j-wildfire=launcher.jar that is in the folder where I unzipped JWildfire to. This folder is now located in my c:\programs\JWildfire8 folder. I am also sending a screenshot of that folder. So it is now, NOT launching from my Onedrive Personal folder but from my hard drive. Here is the Debug info:
JWildfire 8.01 Debug List

Attempting to launch JWildfire using the command:
cmd /C start /low /b "JWildfire" "C:\Program Files\Java\jre-1.8\bin\java" -Xms256m -Xmx4024m -Dsun.java2d.uiScale=1.0 "-Djava.library.path=C:\Program Files\JWildfire 8\lib\x64" -cp "C:\Program Files\JWildfire 8\lib\j-wildfire.jar" org.jwildfire.swing.JWildfire
Screenshot 2023-06-02-JWF folder

Feature request - put UI on a separate thread so it remains responsive

I've noticed in lots of places in JWildfire the whole app freezes - for instance when using 'mutagen' to generate new fractals, or clicking the quick 'render' button in the main app.

It would be great if intead

  1. feedback is shown to the user by means of a spinner when the app is processing so the user knows it hasn't crashed and force quits (like any webpage)
  2. the app doesn't freeze at all - but rather rendering is done on a separate thread so we can still close windows and use the UI while it's working - and cancel operations that are taking too long

GPU Rendering causes black screen

So I run the JWildfire software on a fresh GPU backed instance (uses NVIDIA P6000) on Windows, CUDA is available. Installation was done through Steam. Version is 7.30.

While rendering works just fine on CPU, switch to GPU Rendering leads to either black image, or StackTrace error. What are the possible updates to preferences I can do to make it work?

Screenshot 2022-01-15 at 18 50 31

Screenshot 2022-01-16 at 13 46 11

Screenshot 2022-01-16 at 13 50 09

Iflames render issue

when you send a iflames from the module to editor then hit render button it instantly comeback and very dark. Not rendering like normal.
image

Feature request - Create manual/wiki that is up to date

There are so many buttons that aren't immediately apparent - like what does 'add final' transform do that's different to a normal transform? What is 'post-transform mode toggle? Why does the camera have 'centrex' and 'camposx' when they do the same thing?

You can't learn this stuff browsing tutorials as a newbie. The app needs either lengthy tooltips on each button, or a long reference page on a wiki that lists what everything that it does.

Make effect/attribute animation icon more visible

I know about the buttons for opening the effect animation window, and how they change sprites depending on whether there is currently an animation for that effect or not. It would be nicer if the icons were higher contrast, because I have to squint to tell the minor red/green difference on the button sprite. The buttons changing themselves don't always seem to update correctly; some that are marked as red (indicating there is an animation on that frame) I can open and see there is only one keyframe set at frame 0, then I close the window and the button updates to green, so there is something wrong with the UI updates for those buttons.
image
This image shows that they are hard to tell apart at a distance. Maybe the red one could have a different background instead of white.

Don't do binary sorting

All sorting in JWildfire is done with binary sorting:

A
Z
a
z
Screenshot 2023-03-04 at 14 23 42

Please use normal lexical sorting and sort the lowercase with the uppercase.

JWF 8, Steam Version

I used Steam to setup my JWildfire for the first time. It takes quite a time to load, but I think it is working now. I have noticed that all my settings files are incorrect. For Flames, Image Paths, etc. Where does Steam put the JWildfire program files? I cannot find the new 8.0 version folder, that it was installed in. I need that to set up all my default directories for tina flames, scripts, etc.
thanks, Mike

Fit keyframe editor to current frames

It would be nice if the frame range in the keyframe property editor autofitted the frame count of the animation. It seems to be wildly off proportion most of the time, it only takes a couple of seconds to rescale it, but it just seems strange.

In other words, when I have my frame count set to 100:
image

I expect this window to resize to 100:
image

The "auto fit to view option" only works once two points are added.

Button to copy and override the final frame keyframe with the first frame keyframe settings

This would be an easy way to make sure that the starting and ending keyframes have exactly the same property settings, so that the animation loops. As it is right now, replacing the end keyframe with the start keyframe (by deleting the end keyframe then copying the start keyframe to the end) seems to not copy all the keyframe properties.
Now, it's totally possible to go through each flame variation and affine tab and the camera settings to try and figure out which offsets need to be changed so the animation lines up, but this has been tedious for me and it seems simple to implement this action with one button instead. Maybe this is a bug with the keyframe duplicate action, I'm not sure.

In other words, I want to do what this image says with a single button press.
image

performance: use java.lang.Math.abs(double) instead of org.jwildfire.base.mathlib.MathLib.fabs(double)

Why does the home-made function MathLib.fabs(double) exist?

The standard function java.lang.Math.abs(double) does the same thing and is supposedly faster, because it's an JVM intrinsic function that's replaced by a single CPU instruction (FABS on x86) at runtime.

source: http://stackoverflow.com/a/19892384
http://hg.openjdk.java.net/jdk8/jdk8/hotspot/file/87ee5ee27509/src/share/vm/classfile/vmSymbols.hpp#l581

Building on macOS Catalina 10.15

Hi.

I do have java installed.

I downloaded the code, went in the build/launcher file for macOS and I get the following error:

Error: Unable to access jarfile ./j-wildfire-launcher.jar

So I opened the .command file to see where the jar file was located so I went into the lib folder and ran the command just like in the .command file:

JWildfire/lib -$ java -Dapple.eawt.quitStrategy=CLOSE_ALL_WINDOWS -jar j-wildfire-lib.jar

and I get this error:

Error: Invalid or corrupt jarfile j-wildfire-lib.jar

I tried re downloading the code but I keep getting the same error. What should I do?

Thanks in advance

building with gradle

I've been using JWildfire for a while and wanted to poke around the code to see if I can help get it to run java 8 or if it can optimize any of the processing, as well as get a better understanding of the images I'm creating and why the new open cl beta feature is slower on my machine.

I'm trying to get a clean build and some standardized 3rd party library versions and am running into a couple things.

  1. odk - your build xml references a folder, but this folder is not checked in. I did some digging and found
    https://code.google.com/p/jodk/source/browse/doc/README.TXT
    it compiles with jafama 1.1, after that the namespace has changed, then later the jar to net.jodk...
    http://sourceforge.net/projects/jafama/files/release_1.1/

  2. sunflow/janino, do you know which version of this you are using? the manifest in these jars doesn't say which version which. I am not seeing the "SunflowAPI.searchpath(..)" method available
    http://sourceforge.net/projects/sunflow/files/sunflow-bin/

  3. l2fprod doesn't have the default maven repo, had to use a github one from Ekito.

  4. is there a reason to build a fat Jwildfire jar rather than have the jar files in a lib folder?

  5. would you consider making a test/src directory for unit tests?

the below configuration gets it down to 6 errors.

Not in maven, had to put in the lib folder
janino.jar
sunflow.jar
jafama.jar (odk 1.1)
apply plugin: 'java'
apply plugin: 'eclipse'
repositories {
    mavenCentral()
    maven {
        url 'https://raw.github.com/Ekito/maven-repo/master/releases'
    }
}

sourceCompatibility = 1.8
version = 'latest-SNAPSHOT'
jar {
    manifest {
        attributes 'Implementation-Title': 'JWildfire',
                   'Implementation-Version': version
    }
}

dependencies {
    compile group: 'commons-collections', name: 'commons-collections', version: '3.2'
    compile 'com.l2fprod:l2fprod-common-all:7.3'
    compile 'com.kitfox.svg:svg-salamander:1.0'
    compile 'colt:colt:1.2.0'
    compile 'org.jocl:jocl:0.1.9'
    compile 'javazoom:jlayer:1.0.1'
    compile 'edu.emory.mathcs:JTransforms:2.4'
    compile 'org.scijava:jep:2.4.2'
    compile 'com.jtattoo:JTattoo:1.6.11'
    compile fileTree(dir: 'lib')
    testCompile group: 'junit', name: 'junit', version: '4.+'
}

sourceSets {
    main {
        java {
            srcDir 'src'
        }
    }
}

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.