# Lomont.org

(Also lomonster.com and clomont.com)

Legalese: I am not responsible for any damage these downloads cause, etc. I cannot ensure they will perform on all systems as they do on mine. However, I have used these programs with no problems. If you have any comments, suggestions, bugs, or want source code, email me.

# Graphics Demos

One of my best sections - many computer generated images and realtime graphics ideas. Programs are written in C#/C/C++, and some assembly when needed. Some rendering in OpenGL, DirectX, and some are custom.

Dec 2006
Out of curiousity I wrote a Mandelbrot pixel shader in OpenGL GLSL. It took an afternoon, and was my first attempt at pixel shaders. The result is a spinning cube, with each face showing a zooming in and out mandelbrot set, with randomized palettes to make all the coloring look nice.

This requires shader model 3.0 or higher, so should run on all modern (year 2006?) cards. Mine is an NVidia 7800.

The code is not very clean - I hacked it together quickly to learn how subdivision surfaces.

Controls: left mouse button to orient the cube, and right mouse buttons to spin the cube.

Click the image for a larger version.

## TRS-80 Color Computer Retro

July 2006
My first computer was a TRS-80 Color Computer, circa 1980. I recently decided to program some assembly on it to see what I can do compared to what I could do as a child. This simple mandelbrot renderer is the result. The version I wrote as a child/teen took 10-20 hours per image (on a 0.8MHZ 8-bit computer using BASIC). This version has much higher precision, and takes under 10 minutes per image, and is not optimized much at all.

Click to see the page describing it and to get the source code (among other things)

## Subdivision Surfaces I

2006
Out of curiousity I wrote a Loop based subdivision renderer in OpenGL. It took a few days, and is just a simple scheme, although I plan to implement a much more advanced version, including creases, boundaries, correct corners (ala Zorin), normal interpolation (Zorin again), textures, color interpolation, collision detection, as well as attempt to derive some new rules of my own to obtain some shapes not in the literature such as cones, and sharp point corners. I might also implement other types such as Catmull-Clark, butterfly, etc., but I think loop is most useful for my needs. The goal is to make as fast of an accurate software subdivision surface renderer, and use it as a base for an article on using subdivision surfaces in production tools like games and CAD systems.

The code is not very clean - I hacked it together quickly to learn subdivision surfaces.

Click the image for a larger version.

## Spinning Plasma Cubes

2002?
An image of spinning plasma cubes, with crazy colors. Prepare to be lobotomized.

## Font Outline Demo

2002?
A GDI+ demo of font outline stuff, mimicking an old screen saver I had made for DOS once upon a time.

## Knot demo

2001?
A program I am very proud of. It makes animated (p,q)-torus knots, and is interactive. I made a screen saver out of it, with many more knot types and colors, found under the screen savers section.

## Warp Rings

2000
This is a warping series of colored rings, like a circular sinus effect. It uses transparency and some neat morphing effects.

## Hilbert Curve

2000
Here is a Win32 app to generate a Hilbert Curve. Source is available.

## Jello Cube

2000?
This is an OpenGL rendered cube made of jello. It is done by making a cube out of many smaller cubes, and making them "wobble." Rocket science.

## Plasma

1998?
This is a pseudo-traditional plasma demo showing nice animated layering effects. If you are familiar with the standard plasma effect from the demoscene, you will like this version. There are three sets of concentric circles, warped as they wobble, and then XOR'ed in bitplanes to get the nice coloring.

# Screen Savers

Mandelbrot screen saver, 3D polyhedral screen savers, fire images, etc. To install screen savers, look on your drive for other *.scr files (usually in Windows\system32), and copy these to that directory.

## Lego Screensaver

March 2008
This is a screensave that assembles and disassembled many Lego models. Renaming the *.SCR to an EXE allows you to add your own LDRAW models to the mix.

Included is C# sourcecode and a VS 2008 project to compile the code. This is my first C# program, and was done to immerse myself in C# to learn how much I like it compared to my standard C/C++.

Click the image to see a larger version of an assembled Technic set from the screensaver.

## Animated Mandelbrot Sets

Nov 2004
This is an animated screensaver consisting of hundreds of wiggling, moving Mandelbrot sets. You need to unzip the two files (scr and dat) into the directory where your other screensavers are. Contact me with comments or bugs.

2004

## Rectangle Packing Tool

Aug 2006
This application fits rectangles into a larger rectangle, and is pretty efficient. The general problem is NP-complete, so there is no efficient optimal algorithm known. This one is pretty fast on my machine - it places 5000 rectangles into a 2500x2800 rectangle in the image shown in a few seconds. It can read/write delimited text files. This program includes C++ /.NET source code, and requires .NET 1.1 or better. Uses include part placement, texture map merging, and many others.

Click the image for a larger view.

## Logitech G15 Keyboard Info tool

March 2006
This application show a lot of system information on a Logitech G15 keyboard screen in realtime. Some supported items are drive space, memory, network performance, date/time, winamp info, realtime 3D spinning objects, GDI usage, processor usage, and much much more. See the attached page for details.

## MP3 Tag Editor

Feb 2005
Edit your MP3 tags with the best tool around. Has standard features lie multiple tag editing, filename <-> tag regular expressions, and advanced features like user-configured warnings for tag errors and a similarity finder. See the page for details. Just place the exe file where it can run (on a local drive, not a network drive), and run. Requires .NET 1.1 or higher.

## Photomosiac Generator

2003
Create photomosaics. It seems to be the fastest one I can find on the net at making images once the database is built. See the page for more info. Beta version. Also use my ImageRipper tool to get libraries of images from Google image searches. Let me know how I can improve it!

2003
Get Google images to your hard drive! Good for making image libraries to use with my photomosaic tool. Example ideas are searching on flowers, paintings, faces, etc.

## ANSI Editor 1.0

2004
An ANSI screen editor. Files are saved as RAW dumps, giving access to use screens in programs. Supports multiple screens, any size screens, floodfills, gradients, and much more. I wrote this in .NET to get a tool for making text mode demos for a competition.

## FM Tracker

1995?
This is an old DOS based OPL2 tracker based on the HSC format, used in ADLIB and SoundBlaster FM synthesizer cards. You probably need DOSBOX (search the net) to run it. You also can find HSC files to play, and place them in a SONGS subdirectory. I have a much better new Windows compatible version if anyone wants it - just ask me - someday I will post it here :)

## Texture mapper demo

2004
This is a perspective correct software texture mapper (source not posted yet, but available for the asking). I needed a software version of a texture mapper, so I wrote this - it handles a lot of stuff, and is quite fast, mixing very little assembler with C++ code.

## MailEdit

Allows quick editing of standard mail files, like PINE mail files. Allows easy sorting, merging, cutting, etc. Comes with Win32 sourcecode and makefiles.

## Web counter

Dec 2004
A program to implement a simple web counter. I was looking for a simple webcounter that did not need lots of linked libs, etc., and count not find one. So I wrote this one. It is 2 C++ files, takes *.gif digit files, and can keep track of as many counters as you need. A basic readme.txt file contains instructions.

## File matcher

2003
This program scans directories and finds duplicate files. Good for cleaning house.

## Bin2H

1993?
A simple command line tool to convert binary files to header files for including in C/C++ programs. Converts file to an array of characters.

## IconRipper

2004
I needed a lot of icon files to look at when designing icons for my own use. The libraries on the net were not quite as good as many commercial programs, so I wrote this to scan a harddrive and get all icons out of the resources of all programs. So in short - it creates a list of all the icon files from programs on your harddrive.

## HexDump

1993?
A command line tool to dump a file to a hexdump, with source.

## LineCount

1995?
A command line tool with many options to count lines of code. It has many options: recurse directories, filetypes, ignore duplicates (using CRC32 matches), etc. NEW - see the CodeStats tool on this page that replaces LineCount.