/laigter

Laigter: automatic normal map generator for sprites!

Primary LanguageC++GNU General Public License v3.0GPL-3.0

laigter-banner

Laigter Build Status

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.

Discord Server

Download

Download from itch.io

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: Become a Patron!

Or support it by PayPal: Donate.

Now you can also ko-fi

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

screenshot1 screenshot2 screenshot3 screenshot4 screenshot5 screenshot6 screenshot7 screenshot8 screenshot9 screenshot10

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:

  1. Get the package here
  2. 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:

  1. Get the package here
  2. 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:

  1. Get the package here
  2. 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/.