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 from the Release page
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.
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):
sudo apt install qt5-default qt5-qmake libgl1-mesa-dev
sudo dnf install qt5-devel mesa-libGL-devel
sudo pacman -Sy qt5-base
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
That's it, you can now open laigter.pro
with QtCreator and build or debug Laigter.
After installing dependencies, you can also build from the terminal with:
mkdir build
cd build
qmake ../
make -j$(nproc)
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.
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
Open Laigter project in Qt Creator installed with the online installer, and run the project. No extra steps should be needed.
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
On Mac, is very similar than on Linux.
First, install Qt. I recommend using the online installer for Mac.
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
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.
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.
--qmljsdebugger <value>
Activcates the QML/JS debugger with the specified port. The value must be of format port:1234[block] "block" makes the application wait for a connection.
--platform <platformName[:options]>
QPA plugin. See QGuiAplication documentation for available options for eah plugin.
--platformpluginpath <path>
Path to the platform plugins.
--platformtheme <theme>
Platform theme.
--plguin <plugin>
Additional plugins to load. Can be specified multiple times.
--qwindowgeometry <geometry>
Window geometry for the main windows, using the X11-syntax, lie 100x100+50+50.
--qwindowicon <icon>
Default window icon.
--qwindowtitle <title>
Title of the first window.
--revers
Sets the application's layout direction to Qt:RightToLeft (debugging helper).
--session <session>
Restores the application from an earlier session.
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.#
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/.