Gravit

Gravit is a free, visually stunning gravity simulator, where you can spend endless time experimenting with various configurations of simulated universes.

Change Log

This page is automatically generated from the master branch on Github.

0.5.0 2012/06/10

  • First release in 7 years!
  • New Logo (#57)
  • Massive performance improvements, OpenMP, SSE (Frank Möhle #4 #7 #9 #10 #13 #14 #22)
  • Free CPU when idle - helps to keep your laptops cool (Frank Möhle)
  • User interface widgets with Agar (#1 #31 #41)
  • Skybox rendering, currently only 2 skyboxes (#2 #39)
  • International keyboard support fixed (Frank Möhle #11)
  • Support for Lua 5.1 (Frank Möhle #16)
  • Streaming music (OS X only, David Turnbull #5)
  • Screenshot to PNG (Frank Möhle #13)
  • Added stereomode 2 for red-cyan anaglyph glasses (Frank Möhle)
  • Smooth auto-zoom when using zoomfitauto 2 (Frank Möhle)
  • Detect number of processors when using OpenMP (Frank Möhle #4 #10)
  • General operating and build system improvements and compatibility:
  • Windows Installer improvements: (Frank Möhle #52)
  • Fix for crash when memoryavailable is more than 2GB (Frank Möhle #15 #19)
  • Limit frame rate to 60fps (Frank Möhle #25)
  • Seed the random number generator in Lua on startup (Frank Möhle #26)
  • Record until frame N by referencing a frame that doesn't exist yet with the "frame" command (Frank Möhle #26)
  • Infinite loop bug when running "framecompression 0" (Frank Möhle #26)
  • Reduce console verbosity (Frank Möhle #28)
  • Detect memory available and automatically use a percentage of it (50% by default, #40)
  • Many other subtle features, speed improvements, bug fixes, etc.

0.4.2 2005/06/10

  • Console tab completion
  • Added Q and W keys for lowering and increasing frameskip
  • added S key to toggle stereo mode
  • added D and F to decrease and increase stereoseparation
  • Reorganised F1 help
  • Added stereoosd to make the osd shown in stereo (but stretched for now)
  • When drawosd is 0, the console and console log will be displayed when you activate the console
  • Fixed a bug with the octree (and others) sometimes not being drawn
  • Fixed colour scheme bug with one colour

0.4.1 2005/06/08

  • Stereoscopic mode uses degrees instead of a distance and keeps the simulation in the middle of your view
  • autoconf uses sdl-config
  • Added a vim syntax highlighting and tabstop setting to the top of all .gravitspawn files
  • Fixed an endless loop in dust.gravitspawn
  • Slightly modified dust.gravitspawn to sometimes only have one particle in the center of the dust cloud
  • Less significant figures shown for colorschemeadd
  • More significant figures shown when setting g
  • g is now a float
  • osd displays frameskip with display frame in playback
  • Fixed a bug when frameskip is on, spawning a new simulation caused the simulation to display incorrectly
  • Added negative mass colour key and the colour key is thinner
  • Added "zoomfitauto 2" to autofit every frame ("zoomfitauto 1" is still default)
  • Added original Makefile (Makefile.old) to source distribution
  • Increased initial velocities in many-galaxy.spawnparticles

0.4.0 2005/05/31

  • Added an optional dependency - lua
  • Scriptable spawn locations using lua
    • The spawn command accepts an argument that executes a lua script called [name].gravitspawn in your spawn directory
    • spawn by itself will execute default.gravitspawn which picks a random script
    • Added spawn scripts: one-galaxy, binary-galaxy, many-galaxy, dust, snake, loop
    • binary-galaxy and many-galaxy will randomly spawn elliptical and spiral galaxies
    • Spiral galaxies now spawn on arbitrary angles
  • frameskip accepts negative values to play back in slow motion
    • the negative number represents how many video frames display each recorded frame
    • particles are interpolated between frames
  • Gravit now uses autoconf and automake (Thanks Alec Thomas)
    • It now stores data and config files in configured places (/usr/local/bin,/usr/local/share/gravit,/etc)
  • Supports multiple users for UNIX builds
  • Removed gravit-x.x.x-win32.zip package
  • Renamed gravit-x.x.x-src.tgz package to gravit-x.x.x.tar.gz
  • recordingvideorefreshtime in gravit.cfg is now 100
  • Added two colour schemes: momentum and kinetic energy (Thanks Sam Lander)
  • Colours are only updated once per frame and when changing colour modes
  • Added zoomfix and zoomfitauto to automatically zoom in or out to fit all the particles on the screen (zoomfitauto is on by default)
  • When two particles spawned in the same location gravit crashes on the first frame. Particles now get checked and moved on spawn.
  • When the GL_ARB_point_parameters and GL_ARB_point_sprite extensions don't work, default to particlemode 2 instead of 0
  • saveauto stopped saving after it reached max frames -- fixed
  • "Can't load custom.cfg" warning gone -- if it's not there it's ignored using "ignoremissing"

0.3.2 2005/04/15

  • fixed compilation on Mac OS X (Thanks Grigory Entin!)
  • added help command for help
  • added list command to list all available console commands
  • added savelist to list all saved simulations
  • added savedelete to delete a simulation
  • more keys can be typed in the console
  • console key repeat is now on (holding down a key to print multiple keys)
  • console typed history, pressing up and down will scroll through your typed history
  • console left and right keys will move the cursor around
  • help console messages are now blue
  • "G" set message is gone

0.3.1 2005/04/13

  • Added recording statistics that display percentage completed for generating the tree and adding velocities.
  • Added particlerendermode 2 which is more compatible and looks like particlerendermode 1, but about half as slow (on my pc at least).
  • particlerendermode is set to 2 by default.
  • Added videorestart command -- restarts your video after changing video settings such as resolution or fullscreen.
  • videowidth and videoheight won't change the gui until you do a videorestart
  • Alt-Enter switches between fullscreen and not (buggy?)
  • Added timers: timeradd, timerdel, timerlist
  • Particles spawn faster with many particles
  • Galaxies are spawned a little differently. Their height is 100th of the radius and their individual velocities are faster within the galaxy.
  • Added maxvertices setting that automatically increases tailskip when too many things are being rendered
  • tailskip is now set to 1 by default
  • Tree renders correctly with stereo mode on
  • Added autorecord to start recording after spawning particles.
  • Major revamp of screensaver.cfg using timers
  • Added popuptext command, not useful (yet!) :)
  • Added autocenter command to automatically go to the 'middle' of the simulation (it's on by default)
  • Simulation name is cleared when spawning a new simulation
  • /CP was meant to be /C for screensaver code

0.3.0 2005/04/11

  • Windows Installer package added
  • Windows DLL Zip package removed
  • Windows Screensaver added
    • Install it by running the "installscreensaver" command
    • You need the SDL libraries in your Windows System directory for the screensaver to work (the Windows Installer does this for you)
    • The Gravit makes use of the Windows registry to help the screensaver know where it is installed. It is saved on a per-user basis.
    • Modify screensaver.cfg to customise your screen saver.
    • You can hit the space bar during the screen saver to use Gravit.
  • Added stereo/stereoseparation commands! (Careful, these make your eyes hurt)
    • This draws two versions of the simulation on the left and right side of the screen.
    • Have a read of http://www.angelfire.com/ca/erker/freeview.html to work out what your eyes can do... then,
    • Set stereoseparation to be negative for a "Parallel" stereo view or positive for "Cross-eyed" view.
    • The bigger the stereoseparation the more depth you will see.
    • For best results:
  • g command added, for changing G in the F=Gm1m2/d^2 calculation.
    • The value you get out of setting g is "10 ^ -g". Default is 5 (0.00001). The screensaver uses 4 (0.0001).
    • The lower the number the less accurate the simulation is, but each particle moves quicker per frame.
  • Added saveauto command to automatically save every n frames. Set it to 0 to turn it off.
  • autorotate command added, for automatically rotating the camera. It was implemented primarily for the screensaver.
  • Added zoom command. This is the variable you change when you zoom in and out.
  • showcursor command added, hides or shows the mouse cursor
  • Got rid of --exec. See --help!
  • Got rid of some redundant matrix code
  • Fixed mouse input oddness
  • Mouse isn't stuck inside your window anymore
  • Fixed bug in recordingvideorefreshtime. When set to 0 it would the screen as fast as possible (instead of once every finished recorded frame).
  • Few spellings of the old name 'Graviton' fixed

0.2.2 2005/04/09

  • load and save commands added
    • usage is save [simulationname] or load [simulationname]
    • name doesn't require an extension - they're made for you in the save directory.
    • if you don't specify simulation name, it will use the last name you used in a load or save command (if you have used one)
    • control-s is a shortcut to save to the simulation
    • the current simulation name is displayed on the top of the screen
  • Better (?) mouse controls. You need to hold down a mouse button to rotate the view. This seems to be useful in non-fullscreen mode.
  • Mousewheel up/down zooms in/out
  • Added command-line parsing
    • --help/--version self expanatory
    • --execute to execute a command
    • --noscript to not run gravit.cfg on startup
  • Colour scheme bar is thinner
  • Colour scheme bar can be turned off with "drawcolourscheme 0"
  • Gravit now quits when the user hits the X in their WM
  • Less alloc debug messages
  • Compiling a console only binary works again (using -DNO_GUI)

0.2.1 2005/04/08

  • Added recordingvideorefreshtime command to allow Gravit to render to the screen while recording a frame or spawning particles.
    • This makes your FPS smoother during a recording.
    • Also allows you to restart the spawn process while spawning lots of particles.
    • With a lot of particles, you can see the octtree being generated!!
    • See gravit.cfg for more details...
  • Added colourschemenew and colourschemeadd commands to allow you to customise the colour scheme
  • Recording is now about twice as fast due to an inefficient distance calculation. (Thanks to Michael Vanslembrouck for pointing that out)
  • Window Title now tells the status of your recording. For example "17/2532 (skip:16)" means 17 frames recorded our of a 2532 maximum with a record skip of 16.
  • spawning galaxy sizes fixed
  • grativ.cfg sets videobpp to 32 now, instead of 16.
  • Windows zip's have renamed files to ChangeLog.txt and README.txt

0.2 2005/04/07

  • Added SDL_image as a dependency
  • Added a second help menu (F2)
  • Added blendmode command which has 5 blending modes (L key)
  • Added demo.cfg to distribution (woops)
  • Added sprite particle effects!
    • It is on by default and uses the GL_ARB_point_parameters and GL_ARB_point_sprite extensions.
    • Unfortunately these extensions may not work under certain conditions. Turning particlerendermode to 0 will make particles visible again.
    • It will fall back to the original GL_POINT renderer if your card does not support them. It will also tell you that it has done this.
    • Added particle.png
  • Added particlerendermode command (0=original 1=sprites) ( \ Key )
  • Added particlesizemin ( Keys: - = ) and particlesizemax ( Keys: [ ] ) commands to change the size of your particles.
    • When you're in particlerendermode 0 only particlesizemin applies
  • Added drawtree command which displays the last generated Oct Tree (T key)
    • There are three modes: 0 off, 1 lines, 2 boxes
    • leaf nodes are highlighted
  • Added screenshot and screenshotloop commands, they are also bound to F9 and F10. They create (many) BMP files.
    • This will make a screenshots directory for you.
    • Careful! F10 takes a screenshot every frame!
  • Added a new colour mode: Acceleration!
  • Colour modes can be changed with the / key.
  • Console can now be escaped by pressing escape, backtick (`) and hitting enter on an empty command
  • Console cursor blinking is now based on time instead of frames
  • Console input box is a little more obvious when active
  • Added drawosd command which can hide the text ( O key )
  • If initializing video fails, it will try change some settings for you and try again.
  • All text files are saved in UNIX file format
  • README, ChangeLog and config files are now in Windows format in the Windows packages
  • Fixed permissions in tarball to 644
  • Fixed library include path (/usr/X11R6/lib) issue (Alec)
  • tailskip variable caused an infinitle loop when set to 0 (fixed)
  • Many Makefile changes
  • Added an icon!
  • Thanks to Alec Thomas for Linux testing and code fixes!

0.1 2005/04/04

  • Initial Release