SourceFiles.org - Use the Source, Luke
Home | Register | News | Forums | Guide | MyLinks | Bookmark

Related Sites

Latest News
  General News
  Reviews
  Press Releases
  Software
  Hardware
  Security
  Tutorials
  Off Topic


Back to files

Undulate Version 0.1
Richard Bown <bownie@bownie.com>

Introducing Undulate

Undulate is 3D painting and modelling program which allows the user to create and edit complex three dimensional structures from different shaped and coloured particles.

Featuring a particle editor and shortcut palette you can quickly build and edit pictures, models and paintings. The translucent effects of particles can be used to mix particle colours.

The original aim of this software was to model oil paint - sticky particles could be mixed and blended similar to how they would on a canvas. Now the project has simplified somewhat and allows you to just place particles of "paint" anywhere you like in a 3-dimensional space (the unimaginatively titled "Matrix"). You can vary the particles properties before, during and after you've used them and hence come back to Matrices and change them completely quite quickly.

This is an early release of this software with a limited subset of features. It should still offer plenty of scope to the graphic artist or enthusiast or indeed anyone who just wants to play around in 3D. For requests of features and feedback please get in touch with me at the email address above - you can also have a look in the TODO file for known bugs and some planned features.

The rest of this document introduces you to the main features of Undulate.

Getting Started with Undulate

The Matrix is moved using the left mouse button and the mouse to rotate it. Holding down the Shift key with left mouse button and moving the mouse up and down zooms in and out of the model. The Undulate cursor (or spotlight) appears as a large transparent white sphere - this can be moved using the cursor keys or by right clicking on a particle with the mouse. It's also possible to enter Selection mode by tapping the spacebar - at this point you can no longer move the Matrix just perform selections with the left mouse button until you tap the spacebar again to return to normal mode.

The cursor keys movement of the cursor tracks the orientation of the Matrix. Determined by the angle of the Matrix the Left and Right cursor keys move the cursor left and right, Up and Down keys move the cursor up and down and Shift plus Up and Down move the cursor in and out of the screen. Hitting the Escape key toggles the cursor on and off - when the cursor is off no adding or deleting of particles is possible.

The Particle Manager and the Palette

The palette is in the Particle Manager dialog activated from the Tools menu. The Particle Manager is divided into three sections. The Palettte, the Particle List and Particle Details.

The Particle List is a list of all particles you've currenlty got loaded in your Matrix - you don't necessarily have any of these particles displayed in the main window but this is the list of colours and shapes of particles you've got - listed by name.

Clicking on a particle in the Particle List brings its details up in the Particle Details area. It also shows you a preview of what the particle looks like. You can edit the name, colour, transparency and shape of the particle from this dialog. If the particle is currently displayed on the Matrix, any changes you apply to this particle will immediately appear in the Matrix too.

You can add, delete and delete all particles from the particle list using the buttons at the bottom of the list. (BTW copy and paste of particles would also be nice but isn't in there quite yet!)

The Palette part of the Particle Manager relates to how the particles are applied to the matrix. Each entry in the palette equates to a number key on the keyboard. Entry [0] relates to key 0, [1] to 1 and so on. By highlighting a palette position and a particle in the particle list and then hitting the "Assign to palette" button, the particle in the list is assigned to the relevant key on the palette. In future, when the cursor is visible in the matrix and the user hits that key the particle will be written to the matrix.

Adding and Deleting Particles on the Matrix

When the cursor is visible you are allowed to write a particle (using the palette hot keys) or delete a particle (using the delete button).

Flood fills to y-height (destructive and non-destructive) are also included as are plane fills. To get these fills to work you must select a particle on the palette (not particle list) to use for the function. Try them out.

Other Functions

The "Home" key returns the Matrix to looking down the Z axis at the model.

As with the GIMP, the - and = keys increase and decrease the size of the window (the limits are somewhat arbitrary at the moment).

The configuration dialog allows you to change the rendering and lighting models. The features aren't very advanced for the moment but please note that some rendering modes are much slower than others. You can also turn off the axes from this dialog.

Files can be saved and loaded - have a look at the example files included (.und extension). Note that at the moment due to a bug files can only be saved to the current working directory. It's advisable not to install ("make install") this release of the software yet - just run it from where you've built it.

Build Notes

At the moment (26.10.2001) Undulate has only been built on KDE 2.1.1 so I'm expecting problems with more recent versions. I'm going to get 2.2.1 installed soon enough and update for that.

Building from a standard Mandrake 8 installation you'll probably need these extra packages:

the KDE development libraries
libpng2-devel
libjpeg62-devel
Mesa-common-devel (OpenGL development libs)

Don't "make install" this software yet - see the file saving bug above.

Perl Scripts

The bundled perl script generateMatrix.pl can be fiddled with to generate matrices automatically. These matrices can be edited just like any other - the language of undulate is simple and all in XML so have a play with it and if you come up with any good generation scripts then please let me know.

Performance

I'm finding performance variations when I run Undulate. Sometimes it's blazingly fast, sometimes slower but usable. I have an ATI Rage Pro 2000 using XFree 4.0.3 - my development and test machine is a 1GHz athlon with 384MB. Let me know your experiences and your setup so we can get a feel for how performance varies across a spectrum of machines. You will find that Matrices with high numbers of Particles will perform poorer than those with less.

--

Copyright 2001, Richard Bown <bownie@bownie.com>

This software is released under the GNU General Public Licence. See the fill COPYING for more information.


Other Sites

Discussion Groups
  Beginners
  Distributions
  Networking / Security
  Software
  PDAs

About | FAQ | Privacy | Awards | Contact
Comments to the webmaster are welcome.
Copyright 2006 Sourcefiles.org All rights reserved.