Long delay this time, updates were suspended while iOS development was completed. iOS version now released, and this means some new changes for the OSX version that were implemented in iOS.
Unit testing has been greatly extended to cover more core functionality, including the rendering, this picked up some unusual problems that required fixing, further delaying update, but will bring greater benefits in the long term.
- Image support, most image formats can now be imported and used as sources.
- Processors and Sources can now be used as masks, this means you are no longer restricted to circle masks and can use videos, images, syphon, QC and screencapture as inputs. A circle mask is still created an maintained in the application.
- Mask invert and threshold, as part of the mask updates, individual layers can now invert masks, and define a threshold for mask coverage in greyscale.
- Fixed occasional rendering glitches picked up by unit testing.
- Layer updates to setting/unsetting masks, turning layers, masks and overlays on or off are now more reliable and responsive.
- General code clean and cleaner organisation as part of iOS shared code base.
Another update that’s been a long time coming. The main focus of this update is the underlying OpenGL code, which has been upgraded to support Core Profile 3.2. This was done for a variety of reasons. To enable better code sharing with a future iOS app, to better support new features to come soon and generally bring the code up to modern OpenGL Standards. The Fixed Function Pipeline is gone, drawing has been simplified and shaders upgraded.
In addition I’ve also fixed the annoying hang or crash that could occur mainly when adding or removing chop areas. A little more GPU memory is consumed when using views with previews, the output view has no such views and should be used for when optimal performance is required. Drawing to GUI views is now only done in the main thread, the background rendering no longer tries to lock views and should be more performant, this means a bit more latency on the previews, but the full screen projection areas still render at the maximum refresh rate with as little latency as possible.
- Updated all OpenGL code to support Core Profile 3.2.
- Previews render in the main thread and made thread safe.
- Quartz Composer is still supported via a seperate Legacy Context.
- Fixed crash or hang when adding or removing chop areas.
- Removed rendering start delay on opening a new file.
- General code clean and removal of outdated code.
It’s been a while since the last update, to be honest, I took a bit of a break over Christmas and new year after working non stop for so long! Been getting back on the horse again, new updates and developments to start coming again.
- Can now add Quartz Compositions as sources as well as processors.
- Saved files now use the extension .rag instead of .binary, files using the old extension will still load.
- Better context management means fewer context switches and locks.
- Reduced openGL flushing.
- Reduced use of OSX Cocoa specific code to enable a future iOS release with shared code base.
- Code restructure as part of the above.
- General code clean and removal of outdated code.
Mostly GUI updates and fixes for this release
- Fixed mapping layers image unit and overlay getting confused if done in certain orders.
- Current image unit no longer available as an overlay in the pop up button.
- Chop area type popover editor table cleaned up.
- Layers inspector view tidied up.
- Fixed typo in help of mapping layers view, add extra paragraph on adding and removing layers.
- Circular warp now properly updates dimensions if image input is changed.
Table cell views no longer render all the time. Although it looked nice, it would play havoc with the render rate. Cell views will update if moved, or if you mouse over the view. The previous functionality can be turned back on in the preferences, but the document must be restarted.
- Fixed glitching when using video with a processor.
- Full screen views now exit full screen on document close.
- Fixed various bindings errors in the GUI.
- Fixed some deallocation and observation problems caused during document closing.
- Max texture size increased to 4096×4096.
It’s been in Beta long enough, time for the first release. Shop is now available to purchase a full copy. Please contribute, I don’t have a job at the moment, and I’m working on this full time with only unemployment benefits to support me!
- Fixed Yosemite crash trying to add Syphon source.
- Fixed Yosemite problem resizing windows causing preview views to glitch.
- Fixed occasional hang on document opening.
- Various small bugs fixed identified in unit testing.
New Circular Warp processor
This release has a new processor, a Circular Warp distortion, bend inputs areas to your will. It has options specifically to set up for projection mapping a waveform to a turntable as seen in some of my videos. Either set the dergrees for the arc, or switch to turntable mode and use the total length of the waveform in seconds, combined with the record speed to get a waveform perfectly matched to the turntable. This feature was a long time in coming, but would not work to a satisfactory performance level in it’s previous CI Filter form. Implemented in my own openGL solution, it’s super fast even on large areas.
- Processors view redsigned, the processor controls have been removed from the main view and image inputs table expanded. Controls area was normally too small to be useful.
- Processors now have inspector popups, controls accessed from there.
- Insert dialog updated to look better and added more controls.
- QC Compositions can now have dimensions updated after insert.
- Added help popoup to the mapping layers view.
- General small GUI updates to layout, spacing, constraints etc.
- Texture sizes limited to 2048×2048 or as large as the GPU allows (May be adjustable in the future, depending on GPU)
- QC Parameters sometimes not being available fixed.
- Fixed layer table view constraints in outputs view.
- Fixed 2 channel mixer shader inputs and controls.
- Fixed crash on document close if image processors were in use.