A normal map to SSbump converter

Most people are put off by coding, put your fears at rest in here.

A normal map to SSbump converter

Postby The_Best_Flash on Thu Jan 22, 2009 3:47 am

A wile ago I discovered SSbump maps, however I noticed that there were almost no tutorials dealing with making a SSbump map. After a while of searching I found a way to create SSbump maps with a 3D rendering program. I also found that this method could be time consuming. So, since I'm currently an undergraduate college student working towards a Computer Science degree, I wrote a program that can batch convert normal maps into SSbump maps. The program can also calculate ambient occlusion when generating the TGA file (occlusion is not necessary for ssbump maps but increases their self shadowed effect). There is also a CUDA extension that allows images to be rendered on an NVIDIA GeForce 8000 series and higher GPU. This increases rendering speed by around 10X - 60X compared to a single core CPU. (Results from tests on a 9800GTX, results also vary by texture and settings)

The program can be found here and more info on how to use it can be found at this tutorial site that I created. An example of some of the ssbump maps that I have generated with the program can be found below this paragraph. Or on this page. These pictures were taken inside the game Garry's Mod.

Image

Image

Image

Image

Image
Image

Feedback on the program would be appreciated. Thanks.

EDIT: NOTE: This program only works on Windows. I have tested it on XP pro 32 bit and Vista 64 bit.

EDIT: There has been a major update. This program now can calculate ambient occlusion instead of estimating it.

EDIT: Another major update. The program is now multi-threaded and has a lot more options. See my website for details.

EDIT: Another major update released. It now has a GUI. More details coming at my website.

EDIT: Another major update released. Fixed some major bugs causing slow rendering times, and preventing the rendering of images with high ray counts.

EDIT: Added a Post Processing Visualization window.
Last edited by The_Best_Flash on Fri Jun 19, 2009 8:39 am, edited 32 times in total.
The_Best_Flash
Regular
Regular
 
Joined: Thu Jan 22, 2009 2:07 am

Re: A normal map to SSbump converter

Postby Zipfinator on Thu Jan 22, 2009 4:16 am

Very nice, I downloaded your SSBump generator from the other thread and it'll be very handy for me.

The Insane Bump looks great, but does it work in Photoshop and where is the download link, that thread is a vote asking if he should continue development on it.

EDIT: I found the link after searching through that thread a bit more.

http://www.mediafire.com/?l63h9yxxott
Image
|Pipe Dream|City 17: Episode 1|
User avatar
Zipfinator
Veteran
Veteran
 
Joined: Thu Dec 21, 2006 6:03 pm
Location: California

Re: A normal map to SSbump converter

Postby The_Best_Flash on Thu Jan 22, 2009 4:31 am

It does not work in photoshop. It is a Python Plugin for Gimp (Using a gimp programming library). However Gimp is very free, so it could easily be downloaded. Thanks.
The_Best_Flash
Regular
Regular
 
Joined: Thu Jan 22, 2009 2:07 am

Re: A normal map to SSbump converter

Postby Zipfinator on Thu Jan 22, 2009 4:36 am

Aww I don't really want to download Gimp just for that, but the quality is so much better than the nVidia plugin so I guess I should.
Image
|Pipe Dream|City 17: Episode 1|
User avatar
Zipfinator
Veteran
Veteran
 
Joined: Thu Dec 21, 2006 6:03 pm
Location: California

Re: A normal map to SSbump converter

Postby The_Best_Flash on Thu Jan 22, 2009 4:40 am

It makes some amazing bump maps compared to other programs that I have used. Most of the SSbump maps that I created wouldn't be near as good they are without Insane Bump. Plus it also creates height maps from your image. The only program that I've used that compares to it is Crazy Bump, but that costs quite a bit.
The_Best_Flash
Regular
Regular
 
Joined: Thu Jan 22, 2009 2:07 am

Re: A normal map to SSbump converter

Postby FlynT on Thu Jan 22, 2009 10:04 am

Aww Dude, thank you soo much for spending your time in creating a handy tool like this! You are my hero :)

Valve gave us a tool for creating ssbumps (height2ssbump.exe) inside the orangebox/bin/ folder but it didn't work. Maybe you could do something with it or learn something from it or whatever sry i'm no programmer. But i'm happy right now cuz you push me forward thanks again ;)

Edit: Ahh forget my sentence about height2ssbump.exe you've already checked it, my fault :/
Image
*Ahhrr, my Nipples they Hurt, they Hurt when i twist them*
User avatar
FlynT
Been Here A While
Been Here A While
 
Joined: Sun Jun 15, 2008 2:59 am
Location: Germany

Re: A normal map to SSbump converter

Postby snotball on Thu Jan 22, 2009 10:57 am

Fantastic! Brilliant! Awesome! :D
Image
User avatar
snotball
Pheropod
Pheropod
 
Joined: Tue Sep 12, 2006 9:55 am
Location: Denmark

Re: A normal map to SSbump converter

Postby R_Yell on Thu Jan 22, 2009 2:14 pm

This is great :) Thx a lot The_Best_Flash for your time. Insane Bump also was a very nice find. I'm all for one click tools, even if they don't produce good results some times there are always manual ways to create height maps, but this tool seems to do its job quite well.

I knew about SS bump maps, wasn't sure if they would be useful in my mod. I did some tests, I'm not too sure if my SS bump is 100% correct because this is the first time :D

Normal
Image
SS Bump
Image

It's good they can be used in blended mode, if I'm correct 2 ss bumps cannot blend but a ss bump + normal blends. This is critical to avoid repetition when using displacements, but take in mind those images use a "null" normal map. I noticed the blend effect simply doesn't exist when you mix a ssbump and a normal in the same displacement, so using that null normal prevents some issues.

They don't look that different, I guess there is needed dynamic lights to take the most out of ss bumps. I also need to practice more, but I like the result vs regular normal map just using env light. Hope some more people show their own tests.
User avatar
R_Yell
Regular
Regular
 
Joined: Tue May 17, 2005 9:48 am
Location: Spain

Re: A normal map to SSbump converter

Postby Zipfinator on Thu Jan 22, 2009 11:07 pm

Could you explain how to install InsaneBump? I downloaded the version on the first page and the installer had about 12 things. I followed the instructions it said, and then when it says to install gimp, go to customize and select the "pyGimp" script, the checkbox was grayed out...
Image
|Pipe Dream|City 17: Episode 1|
User avatar
Zipfinator
Veteran
Veteran
 
Joined: Thu Dec 21, 2006 6:03 pm
Location: California

Re: A normal map to SSbump converter

Postby no00dylan on Thu Jan 22, 2009 11:56 pm

You shittn' me?
8chaos wrote:and your a buster my girl would prolly rob you,
User avatar
no00dylan
Veteran
Veteran
 
Joined: Sat Apr 19, 2008 10:34 pm
Location: Wherever you want me to be.

Re: A normal map to SSbump converter

Postby The_Best_Flash on Fri Jan 23, 2009 1:33 am

The best way to install Insane Bump is to ignore the gimp installation that comes with it (It's an old version) and download the new version here. Then install that version. In the new version you go to customize you should see something called (GIMP Python Extensions) the check box next to it should already be checked.

If that doesn't work, I just installed the version of GIMP that came with Insane Bump by clicking on the "Install" button and then updated it by installing the new one afterward. (I didn't use the method I mentioned at in the first paragraph because I didn't realize that it was installing an older version of GIMP until after Insane Bump had installed it.) All the things that come with Insane Bump are just programs and libraries that it makes use of.

Hope that helps.
The_Best_Flash
Regular
Regular
 
Joined: Thu Jan 22, 2009 2:07 am

Re: A normal map to SSbump converter

Postby dissonance on Fri Jan 23, 2009 10:30 am

This is a graph of my excitement whilst reading this: ___/``\_
My thought process went something like this: "hmm, ssbumpmaps, been meaning to play around with those, i'll have a look. *click*" --> "hmm, interesting so far." --> "Gimp?! No way! Sweet!" --> "...exe? Aw shit. ...and no source? I can't compile this for linux? Damn!"
Image
BIG RED LETTERS GRAB YOUR ATTENTION
^ clickit
User avatar
dissonance
Veteran
Veteran
 
Joined: Wed Oct 10, 2007 12:35 am
Location: tustin, ca, usa

Re: A normal map to SSbump converter

Postby AndyMacK on Fri Jan 23, 2009 1:54 pm

He's using Linux D=

Wooo! SSBumps! Yeah!
-Andi
User avatar
AndyMacK
Pheropod
Pheropod
 
Joined: Thu Jul 17, 2008 8:25 pm
Location: Britainariona

Re: A normal map to SSbump converter

Postby coder0xff on Fri Jan 23, 2009 5:19 pm

Would you be willing to share the source or a technical document explaining the details of implementation? I would like to integrate ssbump generation into my software. Of course you will receive credit where it is due.

Thanks,
coder0xff

P.S. When I say "my software" I mean DuctTape, of course
User avatar
coder0xff
Veteran
Veteran
 
Joined: Fri Jun 13, 2008 1:51 am

Re: A normal map to SSbump converter

Postby The_Best_Flash on Fri Jan 23, 2009 7:50 pm

I'll put together a C++ header file with the TGA loading and saving code that I used and my SSbump generation files.

If that doesn't work for you dissonance I'll remove folder searching from my program (That uses windows libraries and data types) and let you compile it.

Until then you can use this Python Gimp plugin that I made. (It was the first version of my program, but it ran so incredibly slow that I decided to convert it to C++) It should get the same results, be able to handle any file type, and run on linix. To install it extract it to your "GIMP-2.0\lib\gimp\2.0\plug-ins" folder. It'll be located under the 'Rendering' menu inside GIMP. To use it simply use the two file open dialogue boxes provided to select a Normal map, and height map if you have occlusion enabled. To enable occlusion just click on the middle of the 3 buttons.

Edit: For a technical document you can look here. The information you're looking for should be on the second page in the left hand column.
The_Best_Flash
Regular
Regular
 
Joined: Thu Jan 22, 2009 2:07 am
Next

Return to Coding

Who is online

Users browsing this forum: No registered users