2024-06-09 16:25:55 +02:00
|
|
|
|
2024-12-19 16:48:32 +01:00
|
|
|
<h1 align=center>Fragmented</h1>
|
2024-06-09 16:25:55 +02:00
|
|
|
|
|
|
|

|
|
|
|
|
|
|
|
<p align=center>Create image filters by writing shaders.</p>
|
2024-06-09 16:44:28 +02:00
|
|
|
|
|
|
|
## Supported Platforms
|
|
|
|
|
2024-06-21 10:33:34 +02:00
|
|
|
- Linux
|
2024-06-09 16:44:28 +02:00
|
|
|
|
2024-12-19 16:48:32 +01:00
|
|
|
You can find the latest releases [here](https://github.com/ChaoticByte/Fragmented/releases/latest).
|
2024-06-09 16:44:28 +02:00
|
|
|
|
|
|
|
## Usage
|
|
|
|
|
2024-12-19 18:52:47 +01:00
|
|
|
The repo includes examples. You can use them as a starting-point to write your own filters.
|
|
|
|
Just load an image using `//!load`, edit the shader code and hit `F5` to see the changes.
|
2024-06-09 16:44:28 +02:00
|
|
|
|
2024-12-19 18:52:47 +01:00
|
|
|
### Load TEXTURE using the `//!load` directive
|
|
|
|
|
|
|
|
```glsl
|
|
|
|
//!load <filepath>
|
|
|
|
```
|
|
|
|
|
|
|
|
The image file will be read and available as the `TEXTURE` variable.
|
|
|
|
|
|
|
|
#### Load additional images
|
2024-06-09 16:44:28 +02:00
|
|
|
|
|
|
|
```glsl
|
2024-12-21 18:27:21 +01:00
|
|
|
//!load+ <name> <filepath>
|
2025-01-01 21:43:32 +01:00
|
|
|
|
2024-06-09 16:44:28 +02:00
|
|
|
uniform sampler2D <name>;
|
|
|
|
```
|
|
|
|
|
2025-01-01 21:43:32 +01:00
|
|
|
Have a look at the `place_texture.gdshader` example.
|
2024-12-22 23:04:35 +01:00
|
|
|
|
|
|
|
## Shaderlib
|
|
|
|
|
2025-01-01 21:43:32 +01:00
|
|
|
This repo comes with a (still small) shader library including pre-written functions and more.
|
2024-12-22 23:04:35 +01:00
|
|
|
Have a look at the `shaderlib` folder.
|
|
|
|
|
2025-01-01 21:43:32 +01:00
|
|
|
Here is an example:
|
2024-12-22 23:04:35 +01:00
|
|
|
|
|
|
|
```glsl
|
|
|
|
shader_type canvas_item;
|
|
|
|
|
|
|
|
#include "res://shaderlib/hsv.gdshaderinc"
|
|
|
|
|
|
|
|
//!load ./swamp.jpg
|
|
|
|
|
|
|
|
void fragment() {
|
|
|
|
COLOR = hsv_offset(COLOR, 0.32, 0.2, 0.0);
|
|
|
|
}
|
|
|
|
```
|