Plane9 Changelog

What's new in Plane9 2.5.0.6

Dec 7, 2016
  • One more release has made it before the end of the year reached us. The original plan was to focus on getting Vive support in but inspiration was surprisingly lacking and it didn’t help that I stumbled on a bug in Valves OpenVR library. They quickly fixed it once it was brought to their attention so this release now comes with oculus and vive support. It will try to start up using oculus first and if that isn’t detected it will start OpenVR for vive. There is a setting in the configuration window that you will like if you have both but prefer to use the vive instead of oculus.
  • The vive is mainly a standing experience and oculus seems to moving towards that as well. This posed a rather difficult problem since the scenes now need to work in VR while sitting, standing and walking around. I think I found a good balance with this so the scene should work well in all those scenarios but it’s not perfect. All scenes have been adjusted to support this and I’m happy to say that the end result was well worth it. Adding to this difficulty I also activated the layered support for vr scenes. Since all scenes have to be in real world units this worked surprisingly well. Some scenes look just amazing together like the sphere beat combined with inside cube where you can walk around this beating sphere. It certainly brings the music to another level and this is of course just the start. In total there are now 76 scenes that works well in VR! But don’t worry that this is a VR only release. There are multiple major changes in other parts of the visualizer as well.
  • Bloom:
  • The bloom has been rebuilt from the ground up and it looks much better now than the old bloom.
  • Scene combiner:
  • Before each scene was rendered into a 8 bits per component surface and thus each scene had to do it’s own gamma correction. Since we can render up to 7 scenes at the same time this lowers the performance we get and the quality because of quantization artifacts when each scene is combined with the next. To help with this all scenes now render to HDR buffers. We then do a postprocessing pass that has the following effects:
  • High quality gamma correction
  • Banding removal. Banding can completely destroy a scene and is especially easy to see in very dark colors.
  • Compute luma to improve fxaa quality
  • Simplifies scenes since all this is done for them
  • Can in the future skip gamma correction to output to HDR monitors
  • Speaker setup:
  • A bug has been reported a few times that I managed to track down to users of a any speaker setup that isn’t mono, stereo or exactly 5.1 with front, center, back, sub. Those affected noticed that the spectrum were not that well matched to the music.
  • Removed scenes:
  • Quite a lot of scenes have been removed in this release mostly because I didn’t think they matched the quality I wanted or just didn't fit as music visualizer scenes.
  • Added:
  • Support for OpenVR and HTC Vive
  • Greatly improved bloom
  • Enable anisotropy for mipmapped surfaces. Brings large quality improvements to some scenes
  • Added global dither/banding removal for all scenes
  • Changed render target to be HDR for improved quality in scene layer composition and to prepare for real HDR monitors
  • JXR, HDR loader
  • Panoramic image support
  • Support point sampled textures
  • Show how long time is left before recording is completed
  • Respect pause and quit for oculus
  • Removed individual scene gamma and made it global for all scenes
  • Let the studio application log into it's own log file
  • Set transitiontime, sceneminruntime, scenemaxruntime from command line in recording mode
  • Support damping and rate decrease/increase for waveform
  • Better shader random functions
  • Fog shader function
  • Autoflush studio log file
  • Support for height textures in materials
  • Only allow the scene to change once because of silence
  • Enable layered scenes in VR for much greater variety. Can be disabled in options if your system can't handle it.
  • Play button on each scene in the studio timeline to quickly be able to see how the scene looks in its layered form
  • Changed:
  • Fixed issue on setups that contained anything else than exactly mono, stereo or 6 channel (front, center, back, sub) speaker setup
  • Changed to ACES tone mapping for almost all scenes to improve dark colors
  • Target OpenGL core profile
  • Take screenshots from texture and not individual windows
  • Asteroids node explosion bug
  • Dont quit when any key is pressed in windowed mode
  • Make sure we load in the correct texture during preloading
  • Improved FXAA
  • More accurate gamma correction
  • Approximate 2x improvement to video recording speed.
  • Scenes could look wrong during transitions when reduced sizes were used
  • Qt 5.7
  • Oculus SDK 1.9
  • Fixed wrong movement of close object for Oculus. Makes the VR experience much better.
  • Large quality improvement on streaks and all scenes using it
  • Limit to/from transition scale to 100% max
  • Replaced "tiles" texture used in a few scenes
  • Improved quality of a few textures
  • Removed:
  • Removed Bumpy Interference, Creation,Liquid Metal,noise walker,copper bars,particle cloud,my brain hurts,spiral interference,star,Kaleidoscope,twist,Quaternion,Digital Heart,Glowing Spike Ball,2DKIFS,crystal,glow lines,ToTheRoadOfRibbon, 3part color, meta ice,star scenes,spectrum waves,dotfunnel

New in Plane9 2.4.0.14 (Mar 4, 2016)

  • Added:
  • Studio application to make it easier to record videos
  • Toggle if we should automatically go to next scene if left arrow key is pressed
  • Lock sound analyzer to 30Hz
  • Added damping, increase and decrease rate to sound texture
  • screenSpaceDither,textureBicubic,_blackBody shader function
  • Support geometry shader
  • RG & R 16bpp textures
  • Lower max detected sound level over time to handle sound spikes when normalizing audio
  • Stop screensaver if mouse click and preview fullscreen
  • Added 11 new scenes
  • Added NotSelected tag in config
  • Auto track a rough estimate of how long a scene as been worked on
  • Updated:
  • Gone through all scenes to fix banding issues
  • Max normalization adjustment increased to 1000x. Going from high to low sound should find the new max in about 7 seconds
  • Updated to Qt 5.5.1
  • Fix nearz,farz values
  • Fixed a missing end of line in a shader that caused AMD to fail to compile the shader in non obvious ways on some drivers
  • Removed:
  • Removed Creation, RGBWaves, Art in motion scenes

New in Plane9 2.3.3.3 (Dec 16, 2015)

  • Added:
  • Preload scene on a background thread in screensaver and windowed mode to avoid hickups during scene changes. Can be turned off in options window if it causes issues.
  • Only inject shader functions we actually use. Cuts down shader compilation from 40ms to 15ms for a simple shader
  • Allow foreground scenes to use the PreviousLayer node for much better scene compositions for some scenes
  • New PBR shader including lightDirectional and lightPoint
  • Added fresnel functions, perturbNormalTexture, perturbNormal, noisederiv, rand(float)
  • Respect randomize setting during recorde mode
  • Mesh instancer will use point sprites if no mesh is connected
  • F2/Ctrl+A to toggle always on top in windowed mode
  • Prefix shader variables with "g" as in "gTime"
  • Added FormatVersion to scene files
  • Place log writer on it's own thread to avoid any hickups during log writing
  • rttscale command line option for a simple brute force form of antialiasing
  • Ignore extension when loading in textures
  • Add a 4th texture input into shader node
  • Load in normal and material textures along side diffuse texture
  • Cache any loaded file textures for future use
  • Updated:
  • Updated to Qt 5.5.0
  • Updated to Oculus SDK 0.6
  • Updated a number of scene with PBR features
  • Changed all shaders in all scenes from CgFx to GLSL
  • Allow primary monitor to be on either side of secondary
  • Updated way to get program files folder to better handle non ascii folder names
  • Dont default to always on top in windowed mode
  • High resolution screenshots have the RB values mixed
  • If a scene fails to load then dont use a empty scene in it's place
  • Fixed normal on bevel node
  • Black screen on playlists that dont have any standalone scenes in them
  • Removed usage of depricated glTexEnvf for points. We should use gl_PointCoord
  • Fixed error in projection matrix and adjusted all scenes to match
  • FrameNr 0 should now always be the first frame rendered
  • Default Transition to scale is now at 100% instead of previous 50%. Looks better and most should have a machine that can handle it.
  • Removed:
  • Lines node

New in Plane9 2.2.1.1 (Feb 27, 2015)

  • Added:
  • Show command line help using "plane9.exe -h"
  • Show help texts if pressing F1 in windowed and VR mode
  • Make sure we have a valid OpenGL 3.1 device and if not show a error
  • Disable mouse cursor in full screen windowed mode
  • Disable screensaver in full screen windowed mode
  • Allow oversized windowes during recording
  • Changed:
  • Crash if moving to the next scene too quickly
  • Failure to start WMP plugin with a qwindowed missing message
  • Better scene randomization. Now all scenes should be shown once before reseting scene pools
  • Correct colors in recorded movies
  • Issue with starting WMP plugin
  • Exit better if no Oculus is detected in VR mode
  • Attempt for a fix of ghost image on one eye in VR mode
  • Removed:
  • FPS counter in windowed mode

New in Plane9 2.2.0.0 (Feb 27, 2015)

  • Added:
  • Oculus Rift support! VR mode will treat background and foreground scenes as standalone.
  • Added support for 150% and 200% resolutions for improved quality for the ones that have the GPU to spare.
  • Run updates on a separate thread
  • Preload some shaders to reduce scene switching latency
  • Use Qt as main window manager
  • ScreenNode: Added look at
  • Change scene using space in windowed mode or right arrow in screensaver mode
  • Use GLM for math
  • Follow OpenGL and use right handed system with Z going out from screen
  • Tell Nvidia Optimus to use the dedicated GPU
  • 12 new scenes
  • Added ability to start a playlist in VR or Windowed mode from the configuration screen
  • Collect total and free GPU memory if we can
  • Changed:
  • SoundTexture: Increase quality by using 16 bit texture
  • SoundTexture: Accumulate result for a better result
  • Increased quality of the fast noise
  • All screens were rendered for each monitor in a multi monitor setup.
  • Memory leak on layered scene if moving to the same scene
  • Large increase in quality of earth textures. Now requires at least 100Mb GPU memory to show just that scene
  • Qt 5.4.0
  • Last scene wasn't shown in the configuration screen
  • Removed:
  • Removed FreeImage library. Used Qt instead
  • Removed clover and blobbies

New in Plane9 2.1.0.5 (Sep 18, 2014)

  • Added:
  • Support analyzing sounds from the default recording device instead of 'what you hear'
  • Support cubemaps in folders
  • EffectNode: Allow setting alpha blending mode seperatly
  • Added a few Spherical Enviroment Map Textures
  • Added a few cubemaps
  • Enable seemless cubemaps
  • Increase max scene time in configuration windpw
  • Updated command line options. Now supports width, height, rectime, recfps, music, rand, --scene
  • Added foggy and foglights scenes
  • Capture up to 18 channels of sound and combine them into left and right. Before all channels except left and right front speakers where ignored.
  • Changed:
  • Sort scenes in configuration window based on last modification time so newly changed scenes are shown first
  • Updated a lot of scenes with bloom/gamma correction/new lighting/..
  • Fixed issue where the main monitor must be to the left of any secondary monitors. Thanks to all who reported this.
  • New shader based noise functions that are 30% faster than the old one
  • Diffuse textures are now loaded as sRGB textures. So any scene using textures must gamma correct the final output to look correct.
  • Changed to a PaintJob based engine design for cleaner seperation between CPU and GPU work
  • Qt 5.3.1
  • Fixed a few crashes as reported by the crash report system
  • Corrected check that verifies that frame buffers are supported
  • Removed:
  • The following scenes "Tunnel", "Neon world", "Cell rotation", "Cube sin", "ChasingTheDream", "into the matrix", "rainbow wave", "signal" since they looked bad/where boring

New in Plane9 2.0.1.2 (Feb 17, 2014)

  • Added:
  • 100+ scenes and 35 transitions
  • Engine: Support transition scenes
  • Float buffers to render textures
  • Engine: FXAA antialiasing
  • Engine: NormalDir factor. Use to create shaded particles.
  • ParticleNode: Turbulence Affect Size
  • ParticleNode: Velocity damping
  • ParticleNode: Time scale
  • ParticleNode: Color Var
  • ParticleNode: Velocity from motion
  • ParticleNode: Velocity random
  • ParticleNode: Direction
  • ParticleNode: Ribbon tail
  • ParticleNode: Option to store particle alive time in alpha
  • ParticleNode: Floor collision
  • ParticleNode: noise flow field
  • Engine: Expression: Let Spectrum average part of the spectrum
  • Engine: Globaly unique id and parent id to scene format
  • DiscNode: Add double sided and phase
  • CylinderNode: Add slices & rings, center
  • RenderToTextureNode: Float buffer support
  • CubeNode: Allow to define tessellation along X,Y and Z axis
  • Engine: High quality simplex noise functions added to shaders
  • Engine: Add better way to record a set of scenes with a specific song
  • Engine: Send in 'render size' to the shaders
  • Engine: Add destination size variables to effect nodes and 1/width,1/height in all size variables
  • Engine: Allow scenes to be tagged
  • Engine: License to scene format
  • Add crash hook so issues can much more easily be reported
  • Engine: Particle will interpolate emitter position to handle fast moving emitters
  • Engine: Spectrum values supports damping
  • CenterMeshNode
  • InvertFaces
  • TransformExNode
  • BloomNode
  • RollerNode
  • MirrorNode
  • NoiseNode
  • RandomizeNode
  • DeleteFaceNode
  • FacetteNode
  • BevelNode
  • SubdivideNode
  • ExtrudeNode
  • MeshInstancerNode
  • RenderToTextureNode: Effect input
  • LightningNode: WidthReduction
  • RenderToTexture: Possibility to change how long between each update of the ColorNext from the current Color texture
  • Config: Option to specify how often a postprocessing scene should be used
  • Updated/Changed:
  • Config: Remade the whole configuration window to be easier to use
  • Engine: Improved the scene randomizer so it will always go though all scenes once before being allowed to pick the same scene again
  • Engine: Default max FPS is 60hz
  • Engine: Remade the scene format to a zip compressed storage format. Also includes screenshot.
  • Engine: Increase the resolution of the Font texture to 512x512
  • Engine: gWIT, gVI now takes scaling in the original matrices into account
  • Engine: A CPU with SSE2 is required (Any cpu after 2005 should do)
  • Engine: Grass: Fixed rendering issues
  • Engine: Optimized mesh handling
  • Engine: Improved loading/saving time of scene files
  • Engine: Store screenshots in users "Pictures" folder so they can easily be found and for example used as desktop wallpapers
  • Config: Rename scene collection to "playlist"
  • Scene: Corrected the synchronous column rain behavior that occurred in the Matrix trails scene.
  • Scene: Much improved lightning in electroSphere
  • TorusNode: U mapping has been inverted so textures are applied correctly by default
  • TorusNode: Added Arc and Phase
  • Engine: Move previouslayernode to 'special' group
  • Engine: Change expression 'clip' to 'clamp' and the function of 'clamp' to 'wrap'
  • ClearNode: Default clear nodes to set alpha to 0.0
  • Engine: Occasional occurring sound capture initialization error
  • Update existing scenes to use v2.0 capabilities better
  • Engine: Handle meshes with over 65525 vertices
  • Engine: Automatically normalize the sound
  • Removed:
  • Editor: Temporarily removed since all shaders will be changed to GLSL in a future version
  • Config: Don't allow changing display mode. The resolution swap is too disruptive
  • CloneNode: Removed
  • Engine: Removed scene name stored in scene files. Use filename only
  • Engine: Remove camera input from RenderObject
  • Engine: Dont send detailed file statistics any more. Too much data for little gain.
  • DiscNode: Remove 'End' input

New in Plane9 1.6 (Sep 10, 2010)

  • Added
  • Engine: 16 new scenes
  • Engine: Expression node has a new command "band" for different channels, damping and bands
  • Engine: Text writer node that uses expressions for character animation
  • Engine: Galaxy node
  • Engine: Transform mesh node
  • Engine: Clone mesh node
  • Engine: Clock node
  • Engine: Added texture coordinates to lines
  • Engine: Mesh transform node
  • Engine: Command line -f and scene file allows for manual start
  • Engine: Handle .p9d files and unpack them to the users scene directory
  • Engine: Preview of .p9s files if double click in windows explorer
  • Editor: Restore camera position when adding nodes/connections
  • Editor: Export button in explorer view. Exports a scene to a p9d file that can easily be sent to others
  • Editor: More node icons
  • Engine: Added version, created and last modification time to scene files
  • Config: Preview selected scene in fullscreen
  • Winamp: Context menu is also shown when using classic skin
  • Winamp: Shortcut keys added. F1 for a list of keys. Only works in detached mode
  • Winamp: Added link to webpage from context menu
  • Changed
  • Editor: Dont clear ismodified flag on all scenes when saving current scene
  • Editor: Updated gui
  • Screensaver: Exit correctly when alt+tab is pressed
  • Engine: Adjusted a number of scenes to look better
  • Engine: During scene randomization a strong preference is placed to keep one of the layers when moving from a layered scene to another
  • Engine: If different display sizes are used some scene run slowly
  • Engine: IsPQTorus port added to the torus node breaking change
  • Engine: Lowered memory usage
  • Engine: Expression ports 'permrand' value was always 0
  • Engine: Front scene wasn't always seen depending on background scene used
  • Engine: Sphere mesh sets color to 0 so nothing is seen using default shader breaking change
  • Engine: Forced MinMax node to only update itself once a frame
  • Engine: Updated to Cg 3.0 library
  • Engine: Better switching to fullscreen
  • Winamp: Installer correctly detects custom winamp directory
  • All: Nicer program icon
  • Removed
  • Engine: Removed line emitter since is was only confusing. Use a Cube emitter with width/height/depth set to 0 as needed breaking change
  • Engine: Remove object emitter since it wasn't used
  • Engine: Removed 'Twister' node. Use the shader node instead breaking change
  • Engine: Removed blur ports since they where not used
  • Engine: 'BasicEffect' nodes will be removed in the future. Use the shader node instead

New in Plane9 1.5 (Feb 4, 2010)

  • 15 new scenes
  • 5 new nodes
  • Improved editor