Laigter
Overview
Laigter is a tool that automatically generates maps for dynamic lighting effects in games. It allows normal, parallax, specular and occlusion map generation. Also, it allows the user to preview how the effect will look in-game.
Laigter is available in Spanish, English, French, Brazilian-Portuguese, Catalan, Danish and Greek. It should automatically detect your PC language.
Download
Download from the Release page
Contributing
The easiest way to contribute is trying Laigter and giving me your feedback. Please open an issue when you find a bug, and try to specify the way to reproduce it. Also, suggestions, feature requests, and new ideas are welcome. Please open issues for all that!
On itch.io, you can download the tool for free, or choose to pay any amount to support the project.
You can also support the development on Patreon:
If you want to contribute by coding, please contact me and we'll see how we can work together! Many things are needed. Also, please read the Contributing guidelines.
Screenshots
Compiling
Compiling on Linux
Getting the Dependencies
Compiling on Linux is pretty straightforward. The following dependencies are required:
- Qt 5.14 or above (modules Concurrent, Core, Gui, Widgets) and optionally Qt Creator.
- OpenGL development libraries.
If you install Qt from the online installer, you don't need to install the Qt-related packages below.
Install prerequisites by entering the following command in a terminal (depending on your distribution):
Debian/Ubuntu
sudo apt install qt5-default qt5-qmake libgl1-mesa-dev
Fedora
sudo dnf install qt5-devel mesa-libGL-devel
Arch Linux/Manjaro
sudo pacman -Sy qt5-base
Get the source
Then get the source either via git clone
:
git clone https://github.com/azagaya/laigter
or download the package via:
- Get the package here
- Extract the package in your desired location
Then finally cd
into the Laigter directory: cd laigter
Building
Using Qt Creator
That's it, you can now open laigter.pro
with QtCreator and build or debug Laigter.
Using the terminal
After installing dependencies, you can also build from the terminal with:
mkdir build
cd build
qmake ../
make -j$(nproc)
Compiling on Windows
Getting Qt
For Windows, the steps are similar:
- Install Qt: I strongly discourage the offline installer, use the online installer instead. In the components selection window, you'll need to select Qt Creator under Qt > Developer and Designer Tools and the MinGW 64-bit or 32-bit toolchain under Qt > Developer and Designer Tools > MinGW 7.3.0 and Qt > Qt 5.14.0 > MinGW 7.3.0.
Do not choose the MSVC toolchain. If you choose both the 64-bit and 32-bit versions, make sure that only one version is in the system path, otherwise you will have problems compiling.
Tested with Qt 5.14.
Get the source
You may get the source cloning the repository. For that, I recommend using Git for Windows. With it, you can clone Laigter:
git clone https://github.com/azagaya/laigter
You may also download the package directly if you don't want to use Git:
- Get the package here
- Extract the package in your desired location
Building
Open Laigter project in Qt Creator installed with the online installer, and run the project. No extra steps should be needed.
Deploying the application
If you want to deploy the application for Windows, you will need the windeployqt command. Something like the following should be enough:
mkdir .\deploy
windeployqt --dir .\deploy ..\build-laigter-Desktop_Qt_5_14_0_MinGW_32_bit-Release\release\laigter.exe
copy /Y ..\build-laigter-Desktop_Qt_5_14_0_MinGW_32_bit-Release\release\laigter.exe .\deploy\laigter.exe
Compiling on macOS
On Mac, is very similar than on Linux.
Prerequisites
First, install Qt. I recommend using the online installer for Mac.
Get the source
Then get the source either via git clone
:
git clone https://github.com/azagaya/laigter
or download the package via:
- Get the package here
- Extract the package in your desired location
Then finally cd
into the Laigter directory: cd laigter
Building
That's it, you can now open laigter.pro
with QtCreator and build or debug Laigter.
And that's all the tests I could make before I had to return the Mac.
Using Laigter with command line
Laigter can be used from the command line with following options:
-?, -h, --help
Displays help on commandline options.
--help-all
Displays help including Qt specific options.
-v, --version
Displays version information.
-s, --software-opengl
Use software opengl renderer.
-g, --no-gui
Do not start graphical interface.
-d, --diffuse <diffuse texture path>
Diffuse texture to load.
-n, --normal
Generate normals texture.
-c, --specular
Generate specular texture.
-o, --occlusion
Generate occlusion teture.
-p, --parallax
Generate parallax textures.
-r, --preset <preset file path>
Preset file to use for texture generation.
Examples for command line
Some basic example for common usages:
<PathToLaigter>/laigter.exe --no-gui -d "<pathToDiffuseTexture>.png" -n
Exporting a normals texture of the specified diffuse texture using the default profile.
<PathToLaigter>/laigter.exe --no-gui -d "<pathToDiffuseTexture>.png" -n -c -o -p
Exporting normals, specular, occlusion and parallax textures of the specified diffuse texture using the default profile.
<PathToLaigter>/laigter.exe --no-gui -d "<pathToDiffuseTexture>.png" --r "<pathToPresetProfile>" -n -c -o -p
Exporting normals, specular, occlusion and parallax textures of the specified diffuse texture using the specified preset profile.
macOS
Symlink the binary. Replace /Applications
with the path to Laigter.
sudo ln -s /Applications/laigter.app/Contents/MacOS/laigter /usr/local/bin
Now that the laigter
binary is symlinked to a location in the PATH
environment variable,
you can run Laigter from anywhere:
laigter --no-gui -d "<pathToDiffuseTexture>.png" --r "<pathToPresetProfile>" -n -c -o -p
License
Copyright (C) 2019 Pablo Ivan Fonovich
This program is free software: you can redistribute it and/or modify it under the terms of the GNU 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 General Public License for more details.
You should have received a copy of the GNU General Public License along with this program. If not, see https://www.gnu.org/licenses/.