SSbump Generator 5.1 w/ CUDA
SSbump generator is a free GUI based program. The purpose of this program
is to generate Self-Shadowed Bump Maps for VALVe's Source game engine.
The program can generate normal maps, non-shadowed ssbump maps, or embed
directional ambient occlusion into the image.


Height Map (Alpha Channel) + Normal Map
Generated SSbump Map with Ambient Occlusion
A Screenshot of the Program

All shadows generated with this tool will wrap around the image. Below is the same image generated above without the normal map repeated 9 times. (Just the Ambient Occlusion generated with a radius of 0.1)

A 512X512 pixel ssbump map with ambient occlusion in the game Garry's Mod. (Click on the image for a larger picture)
A 4096X2048 pixel ssbump map with ambient occlusion in the game Garry's Mod. (Click the Image for a larger picture)

Download Newest Version Here (Note: This runs on Windows XP and Vista 32-bit and 64-bit. It has not been tested on any other operating systems)
Tutorial Here
Change Log
Version 5.1- Added more options to the normal map generator.
- Fixed bug that prevented saving files from the post process window.
- Added more ssbump lighting methods.
- Modified ssbump generation code to prevent over brightening.
- Modified the AO generation code to be more memory efficient on the CPU and GPU.
- Updated GPU code to CUDA version 2.3
- Added a grayscale button for 'estimating' height maps from color images (Thanks to sgtSarge for writing the code.)
- Minor bug fixes.
Version 5.0 BUGFIX #3
- Fixed a bug introduced by the first bugfix that caused the program to crash if the normal map generator was opened more than once after adding layers.
Version 5.0 BUGFIX #2
- Fixed a bug introduced by the previous bugfix that prevented the post processing window from loading the generated image if "Generated Selected" had been clicked.
Version 5.0 BUGFIX
- Fixed a bug that caused normal maps generated with a Gaussian blur to have a boarder of incorrect pixels.
- Redirected help to correct web page.
- Fixed a couple bugs that resulted in the loss of selection when exiting and reentering the normal map menu.
- Added an option that will allow fast access to the SourceForge web page to check for updates.
Version 5.0
- Added a normal map generator.
- Redesigned User Interface to be more user friendly.
- Added support for 14 different file types.
- Licensed the program under the GPLv3 license.
- Rewrote CUDA SSbump and AO generation code.
- Added CUDA accelerated normal map generation.
- Moved CUDA code into a Dll file and allowed the GPU do handle more of the processing tasks.
- Added a few extra test tools that allow converting of normal maps to DuDv maps or base Specular maps.
- Converted smooth blurs into Gaussian blurs.
- Created a layer based system for blending normal map layers together to create 'bumpier' normal maps.
- Modified how the post process window looks.
- Added option to blend together ssbump and directional ambient occlusion in the post-processing window.
- Changed some default settings.
- Changed how the GPU settings look.
- Modified Status Bar.
- Fixed some bugs with previews.
- Added normal map menu.
- Added a preview window to the normal map menu.
Version 4.2
- Moved options into a Settings window.
- Allowed the Disabling of Vertical and/or Horizontal tiling per image.
- Modified some background code in the post process window.
- Added an option that allows the user to select and generate a group of images from the image list. (Instead of generating all the images in the image list at once)
- Changed Image List Saving format. (NOTE: Previously saved image lists will no longer load.) This also prevents the accidental loading of a non-image list file.
Version 4.1 Bugfix
- Fixed a bug with the CUDA extention that prevented rendering images inside folders with spaces in the name.
Version 4.1
- Decreased the amount of RAM used by the CUDA extension and the main program.
- Changed the layout of the GUI.
- Added a Post Processing visualizer.
- Fixed some minor bugs with CUDA error messages.
- Added more short cut keys.
- Changed default slider values.
Major Revision 4.0
- Fixed a couple of major bugs in the generator that were causing slow rendering times, and prevented the rendering of high ray count images.
- Comparison of new/old render times:
256X256 Image, Radius 0.1, Height Scale 0.03, Rays 1000 (Per color channel 3000 in total)
1 X CPU (2.5 GHz) 22.93 sec (CUDA 10X faster)
4 X CPU (2.5 GHz) 7.71 sec (CUDA 4X faster)
1 X 9800GTX GPU 2.808 sec
Old Version 3.1 Rendering Times
1 X CPU (2.5 GHz) 5:00 min 0% Complete. Stopped.
4 X CPU (2.5 GHz) 3:00 min 1% Complete. (Est. ~300 min)
1024X1024, Radius 0.3, Height Scale 0.2, Rays 300 (Per color channel 900 in total)
4 X CPU (2.5 GHz) 28:35.17 min (CUDA 15X faster)
1 X CPU (2.5 GHz) ~114:20.68 min (Est. ~4X 4 CPU Time)
1 X 9800GTX GPU 1:55.33 min
Old Version 3.1 Rendering Times: N/A (Too Slow)
- Added a CUDA extension that allows the use of NVIDIA Geforce 8000 series and newer GPUs to render the images. This offers a speed increase of around 10X - 60X compared to a single CPU. (Calculated using a GPU connected to a monitor display. May get better render times using an unused GPU)
- Added an option to allow/disallow recursive folder searching.
- Removed all older versions from the web.
-Thanks to jenkins_08 from Interlopers.net for debugging/testing help.
-CUDA source code and tutorials Copyright ©1993-2007 NVIDIA Corporation Version 3.1
- Fixed minor bug with the status bar.
- Changed the way that the status bar is displayed.
- Cleaned up parts of the source code.
- Minor optimizations.
- Made more parts of the generation process multi-threaded.
Version 3.0
- Added a GUI
- Added two brightness options. One for the height map and one for the final image.
Version 2.1
- Fixed Bugs
- Optimized more
- Added a multi-threaded option for multi-processor computers.
- Added two contrast options. One for increasing the contrast of the height
map and another for increasing the contrast of the final image.
- Added a smoothing option. One for smoothing the height map and another for smoothing the final image.
- Added an option for generating ssbumps without the normal map.
- Added an option to specify the minimum and maximum color values when calculating ambient occlusion.
-Thanks to MrTwoVideoCards from
Interlopers.net for the new option ideas.
-Thanks to Toli from the
Paint.NET forums for the smoothing code.
Version 2.0
- Added ambient occlusion generation