This: http://opengameart.org/content/ground-pavement-texture-pack
reminded me to look for a nice open-source & cross-platform Crazy-bump alternative again, for a convenient way to create normal and specularity maps out of a photo texture.
Now there is the still working normal-map plugin for GIMP:
http://code.google.com/p/gimp-normalmap/
Which is not bad by itself, however the result is only a normal-map and it doesn't have any advanced picture enhancing algorithms like crazy bump.
Now a bit for google searching found me this:
http://irrlicht.sourceforge.net/forum/viewtopic.php?f=18&t=30200&start=30
http://code.google.com/p/insanebump/
http://irrlichtirc.g0dsoft.com/omaremad/
Which is sadly terribly outdated and has not been further developed since 2009 or so, however the results it seems to create look very nice. See this PDF for example:
http://irrlichtirc.g0dsoft.com/omaremad/insane.pdf
The source-code for this python GIMP plugin is available under the GPLv3, so I was wondering if there is maybe someone around here that could get it running under GIMP 2.8 and make a nice new release of it?
Thx!
Edit: Here are some instructions to maybe get it running on gimp2.8: http://www.gimpchat.com/viewtopic.php?f=15&t=467
For: messie
My system specs:
OS: Ubuntu 12.04, Gnome3 desktop.
Relevant Software: Gimp v2.8.6
Relevant Plugin: InsaneBump (unknown version since its not listed on its webpage)
Description of problem:
1.) I loaded the insane bump script from here:
http://registry.gimp.org/node/28117
...into a fresh install of Gimp v2.8.6, with a fresh config directory (~/.gimp-2.8) rebuilt by gimp 2.8.6 when it was first installed.
2.) I then placed the script (from the address shown in step 1 above) into the suggested (~/.gimp-2.8/plug-ins) directory and marked the python script as executable as instructed.
3.) I opened the script with an editor and fixed the windows based hard coded path to a hard coded path that pointed to the plug-in directory for gimp v2.8.6 in Unbutnu 12.04 (which is located in [~/.gimp-2.8/plug-ins]). I'm not a programmer so I didn't know how to set this directory via some coded auto-detection method as mentioned in an earlier comment, and didn't want to try it since it was more work than it was worth to look up what each part of all that python code meant.
4.) I fired up gimp, loaded a single layered image, went to "Filters --> Maps -- Insane..." and got the following error message:
-------- Error Message Begins --------
An error occurred running python-fu-InsaneBump
AttributeError: 'NoneType' object has no attribute 'replace'
More information:
Traceback (most recent call last):
File "/usr/lib/gimp/2.0/python/gimpfu.py", line 699, in response
dialog.res = run_script(params)
File "/usr/lib/gimp/2.0/python/gimpfu.py", line 361, in run_script
return apply(function, params)
File "/home/sysop/.gimp-2.8/plug-ins/InsaneBump.py", line 198, in batchnr
pdb.gimp_file_save(image, diffuse, getFilename(file_name, "_d"), getFilename(file_name, "_d"))
File "/home/sysop/.gimp-2.8/plug-ins/InsaneBump.py", line 19, in getFilename
filename = filename.replace(".", suffix + ".")
AttributeError: 'NoneType' object has no attribute 'replace'
-------- Error Message Ends --------
Questions:
1.) Can you please let us (this forum thread) know if vk's code from the previous post can be folded into you're work on updating the insanebump script.
2.) Am I missing any dependencies that might help this script run better?
3.) Is there any way you could help me troubleshoot this problem a bit? Note: I'm not a programmer in the sense that I can only read basic code and even then I have to look stuff up to understand it.
Comment:
Thank you for working on this script and for keeping it up to date and relevant.
My guess is that there is sth wrong with your filename. Try saving the image you are working on somewhere, and avoid strange characters in the file name. Then, open the picture with gimp and try the script again. Tell me if it works.
I'm reposting this message because its not showing up on the forums after waiting 30 minutes.
Hi Messie,
Thank you for taking the time to respond to the problem. I implemented your request and I think we have some new insight to the problem with the latest error message.
Steps to reproduce the problem:
1.) I renamed the file I was working on to "image.png".
2.) I started over by deleting the insanebump.py file I had originally downloaded and downloaded a fresh copy and marked it executable without changing the path function:
def getPrevPath():
path = '"C:\Program Files\Insane Bump'
return path
The function in the file is shown above for reference.
3.) I started gimp 2.8.6 and opened image.png, then did:
Filters --> Map --> insane...
...and got the following error messages:
-------- 1st error message begins --------
GIMP Message
Calling error for procedure 'gimp-file-save':
Could not open '~/Archives/Projects_d.Media_d.Blender/Textures/Dirt/image_d.png' for writing: No such file or directory
-------- 1st error message ends --------
Not I replaced "home/myusername" with "~" in the above error message, also note that everywhere you see a "_d" in the path shown there is no such character in the actual path. Here is the actual path to the file again with "home/myusername" with "~" for brevity:
"~Archives/Projects.Media.Blender/Textures/Dirt/image.png"
As you can see, there is no such "_d" in this path to the file nor in the file name itself. So this is something either Gimp or the plug-in did on its own, but more likely it was Gimp since the error message window title displayed was "Gimp Message". The following error message was immediately displayed along side the 1st error message shown above.
-------- 2nd error message begins --------
An error occurred running python-fu-InsaneBump
RuntimeError: Could not open '/home/sysop/Archives/Projects_d.Media_d.Blender/Textures/Dirt/image_d.png' for writing: No such file or directory
More Information
Traceback (most recent call last):
File "/usr/lib/gimp/2.0/python/gimpfu.py", line 699, in response
dialog.res = run_script(params)
File "/usr/lib/gimp/2.0/python/gimpfu.py", line 361, in run_script
return apply(function, params)
File "/home/sysop/.gimp-2.8/plug-ins/InsaneBump.py", line 198, in batchnr
pdb.gimp_file_save(image, diffuse, getFilename(file_name, "_d"), getFilename(file_name, "_d"))
RuntimeError: Could not open '/home/sysop/Archives/Projects_d.Media_d.Blender/Textures/Dirt/image_d.png' for writing: No such file or directory
-------- 2nd error message ends --------
After doing the same steps shown above but replacing the path shown in the getPrevPath function of step 2 above, such that the new function now looks something like this:
def getPrevPath():
path = '/home/myusername/.gimp-2.8/plug-ins'
return path
...(where "myusername" is obviously not what was used but instead used my real username) we get the same exact error messages displayed in the 1st and 2nd error messages listed above.
Questions:
1.) Am I being to thorough with my responses? TMI?
2.) Is there anything that can be done in the insanebump script to help fix this problem?
3.) Is the weird thing that Gimp is doing by placing a "_d" before every "." in the path and file names a bug in Gimp? If so then I will need to find some other scripts that can cause this bug to happen, and optionally some other people who can reproduce this bug before I can file a bug report.
Something I will try and report back on:
I will put "image.png" in ~/temp and try to run insanebump again to see if this makes any difference.
[Update]
After trying this again using the ~/temp directory, there were no error messages and insanebump worked as expected.
Remaining questions:
1.) Is there anything that can be done in the insanebump script to help fix the path naming problem?
2.) Is the weird thing that Gimp is doing by placing a "_d" before every "." in the path and file names a bug in Gimp? It would be strange if this was a bug because a lot of my other files have "." in the file name and path and all the other functions I've used in Gimp including scripts/plug-ins seem to be working fine with that "." condition present. That being true, how could I bug test this further to see why this "_d" thing is happening?
As we discussed above, the renaming method is buggy, but dots in the path are bad anyway, (well that's no excuse, is it?).
Anyway, unfortunately I don't have much time to debug the script right now. I think someone has posted a modified version above, maybe it is what you seek.
Messie, thank you for taking the time to respond and think about the problem. I sincerely appreciate it.
Can you please clarify what you mean by dots in path names being bad? On Linux they are allowed and I haven't had any problems with them sans this script we are/'were?' testing.
I've tested the other script from vk and it doesn't appear to run at all.
In any case, thanks again for all the help and effort you've put into this script. :)
Well they are allowed but you can save your self from such problems like the ones you have if you don't use characters like dots and spaces or anyt other strange characters. For example I only use latin characters and underscores in any path. I ve had tons of problems with compilers and other programs and I have been banging my head on the wall for days and finally the problem was the spaces or foreign characters in the path or filename.
Looks like getFilename is written too broadly - it shouldn't replace anything in the path, just in the filename itself. Try using os.path functions to separate the path from the filename, do the substitution on the filename only, then re-join them and return the result:
def getFilename(filename, suffix):
tmpPath = os.path.dirname(filename)
tmpFile = os.path.basename(filename).replace(".", suffix + ".")
returnFile = os.path.join(tmpPath, tmpFile)
return returnFile
Disclaimer: completely untested. May need some tweaking.
My project: Bits & Bots
That's the problem really, although to be completely safe I'd use a regex that captures the last dot of the filename and adds the suffix before it or at the end of the filename in case there is no dot (god forbid). Still, it would not work in an unsaved picture, in which case it should print a relevant message
I dont have time though, even if I did I would not be able to do anything about it without any further details.
Anyway, it looks like your problem is solved.
Great script, thank you!
I, too, have had issues with the dot in the name (some of my directory names have periods in them), so I fixed this by sticking the suffix in front of the LAST period, which ends up right before the filename extension. This will fail horribly if there is no filename extension, but that convention is fairly well established and the following should be platform independent:
def getFilename(filename, suffix):
lastDot = filename.rindex('.')
filename = filename[0:lastDot] + suffix + filename[lastDot:]
return filename
This plug in sounds so good, I hope it'll be updated to work with latest OSs and latest Gimp soon.
DPC
You can try the standalone program. It can be found here: https://sites.google.com/site/ccdsurgeon/download
Both for linux and windows. And for more documentation visit the blenderartist page here: http://blenderartists.org/forum/showthread.php?317041-Insane-Bump-2-0-ov...
For the gimp plugin, you'll have to wait for messie. He is the mastermind after all :D
Hello guys, the script works OK with me at Ubuntu 14.04 LTS and Gimp 2.8 latest.... What seems to be the problem with you?
I haven't even tried it. I use the standalone so I didn't check if it works, but why shouldn't it?
Oh! Never mind then.
Based on the above older posts I was under the impression that this plug in was not quite working with latest version of Gimp. I must have missunderstood, after all I'm not a programmer.
Is good to know it works in Ubuntu though.
Thanks guys :)
DPC
SF, I can't download the stand alone EXE file. It brings me to a page saying:
415. That’s an error.
The requested URL was not found on this server. That’s all we know.
And choosing Drive or Zip Extractor doesn't work either :(
DPC
This is an older version for windows:
http://www20.zippyshare.com/v/56113619/file.html
(The download button is at the top right, looks like an ad :P )
When I run this in Gimp 2.8 on Fedora 21 I get this:
Traceback (most recent call last):
File "/usr/lib64/gimp/2.0/python/gimpfu.py", line 735, in response
dialog.res = run_script(params)
File "/usr/lib64/gimp/2.0/python/gimpfu.py", line 361, in run_script
return apply(function, params)
File "/home/jhaiduce/.gimp-2.8/plug-ins/InsaneBump.py", line 222, in batchnr
doBaseMap(image, diffuse, Depth, LargeDetails)
File "/home/jhaiduce/.gimp-2.8/plug-ins/InsaneBump.py", line 150, in doBaseMap
pdb.plug_in_normalmap(image, newlayer, 5, 0.0, Depth * ok, 0, 0, 0, 0, 0, 0, 1, 0, 0.0, newlayer)
error: procedure not found
Apparently InsaneBump depends on plug-in-normalmap, which isn't installed.
The plugin is based on the Nvidia Normalmap plugin, so make sure that you have it installed...
https://code.google.com/p/gimp-normalmap/
it comes with gimp-plugin-registry package.
Excellent! Now both work!
Thank you so much guys :)
DPC
Hello Messie, I am glad that you have decided to put in your excellent work on this tough project, and I thank all of you on this thread that have put in you work as well!
I downloaded the plug in (windows 64), and in the file I got a mingwm10.dll -can you tell me what am I to do with this file?!!
Hello,
the plugin is a python script which you have to install in the Gimp plugin folder. Are you sure you are talking about the plugin and not the stand-alone program? Unfortunately I cannot help you with the stand alone program, because I do not use windows.
This works for me (as found on first page) on GIMP 2.8: https://gist.github.com/Calinou/5b9bd428079959558ba8
I've come upon a bug... Win7-64, Gimp 2.8.10
And for some strange reason I can't find the plugin directly in the menu. Only found it in keyboard shortcuts :)
(UPD) found it in /filters/map/Insane... well, I expected Insane bump...
(SOLVED) deleted insanebump.py and installed the exe one from:
Untitled.jpg 476.4 Kb [1 download(s)]
Just for future reference (unless you really insist on using a GIMP plugin):
http://awesomebump.besaba.com/
is probably the new reference for making nomal-maps using open-source software and it runs on Linux very well too.
--
http://freegamedev.net
Very good info for beginners
Pages