AwesomeBump is a free and open source program written using Qt library designed to generate normal, height, specular or ambient occlusion, metallic, roughness textures from a single image. Additional features like material textures or grunge maps are available. Since the image processing is done in 99% on GPU the program runs very fast and all the parameters can be changed in real time. AB was made to be a new alternative to known gimp plugin called Insane Bump or commercial tool: Crazy Bump.
AwesomeBump is totaly written in Qt thus you don’t need to install any aditionall libraries. Just download and install Qt SDK, download the project from the repository, build and run. It will work (or should) on any platform supported by Qt.
- convert from normal map to height map,
- convert from height map (bump map) to normal map,
- extract the bump from the arbitrary image,
- calculate ambient occlusion and specularity of image.
- perspective tranformation of the image,
- creating seamless texture (simple linear filter, random mode, or mirror filter),
- generate roughness and metallic textures (different types of surface analysis are available),
- real time tessellation is available,
- saving images to following formats: PNG, JPG,BMP,TGA
- edit one texture which contains different materials
- add some grunge to your map with grunge texture.
- mix two bumpmaps togheter with normal map mixer.
- and many others, see our videos on YouTube
I would like to thanks those people for thier big effort to make this software more awesome!
Feel free to contact me if you find any bugs and problems: [email protected]
If you want to fix or improve something, please fork my repository and send me the pull-request with changes.
Binary packages for selected system can be found at link. Download zip or tar file, extract and run binary file.
- Since version 5.0 you can use UNIX build script sh unixBuildScript.sh (see description below) for building AB on UNIX systems.
The best place to start with compiling/installing would be to read the appropriate sections in the wiki . (note that the current version of cmake script does not work :()
For those using QtCreator, the steps are almost the same as for earlier versions. See the pdf for instructions.
- Video tutorial: https://www.youtube.com/watch?v=R-WgHserrS0
- In order to build AwesomeBump you will need to have qt-sdk installed: http://www.qt.io/download/
- Download the sourcecode of AB from github and unzip it. Run Qt then open a new project using the AwesomeBump.pro file (located in AB source code folder.).
- Setup the build path and run path (in project build settings panel) and compile the project (remember that your graphics card has to support at least openGL 4.0). Compilation step will take some time. Run the program. In case of problems see the
log.txt
file.
- Open terminal and unzip or untar downloaded source code.
- Enter to created folder
- Open unixBuildScript.sh file and set the propper Qt5 path. Save and close.
- Run script with command:
sh unixBuildScript.sh
- If everything gone well AB should start after compilation process. See Bin/ folder. There should be an AwesomeBump file now.
- Run AwesomeBump with
./RunAwesomeBump.sh
script.
- Download sources with git
git clone https://github.com/kmkolasinski/AwesomeBump
git submodule init
git submodule update
- Build QtnProperty (see below)
- Download win_flex and win_bison (see project instructions) and paste it, e.g., here:
D:\win_flex
- Comment
QMAKE_CXXFLAGS += /wd4065 in PEG.pro
- In Bison.pri check win_bison command. For me this worked
win32:bison.commands = D:\win_flex\win_bison -d -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.parser.cpp ${QMAKE_FILE_IN}
- In Flex.pri check win_flex command. For me this worked
win32:flex.commands = D:\win_flex\win_flex --wincompat -o ${QMAKE_FILE_PATH}/${QMAKE_FILE_BASE}.lexer.cpp ${QMAKE_FILE_IN}
-
OpenGL 3.30 support
For OpenGL 3.3 use #define USE_OPENGL_330 in CommonObjects.h (this can be defined in QtCreator see pdf instruction)
-
Build and Run using QtCreator.
You can now build AB to run all openGL instructions with 3.30 compatibility (note that tessellation will not work with 3.30). See PDF file and "Step 8" for more datails. Basically you just have to add CONFIG+=gl330
command in the qmake settings in order to build 3.30-supported version of AwesomeBump.
- AB is using tinyobjloader for loading the OBJ files: https://github.com/syoyo/tinyobjloader
- Cube maps textures were taken from Humus page link
- Most of the GUI controls are done with QtnProperty framework.
This program is free software: you can redistribute it and/or modify it under the terms of the GNU Lesser General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.
This program is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU Lesser General Public License for more details.
You should have received a copy of the GNU Lesser General Public License along with this program. If not, see http://www.gnu.org/licenses/.